Tutorial: Construir um gráfico de funil do script R para o visual R

Este artigo descreve como construir um gráfico de funil usando o script R no visual R passo a passo. Os arquivos de origem estão disponíveis para download em cada conjunto de etapas.

Neste artigo, você aprenderá a criar:

  • um R-script para RStudio
  • um R-visual no Power BI
  • um Visual baseado em R baseado em PNG no Power BI
  • um Visual baseado em HTML com tecnologia R no Power BI

O gráfico de funil fornece uma maneira fácil de consumir, interpretar e mostrar a quantidade de variação esperada. O funil é formado usando limites de confiança e os valores atípicos são mostrados como pontos fora do funil.

Neste exemplo, o gráfico de funil é usado para comparar e analisar vários conjuntos de dados.

Pré-requisitos

Criar um script R com modelo semântico

  1. Faça o download de um script R mínimo e sua tabela de dados, dataset.csv.

  2. Em seguida, edite o script para espelhá-lo. Isso adiciona o tratamento de erros de entrada e os parâmetros do usuário para controlar a aparência do gráfico.

Criar um relatório

Em seguida, edite o script para espelhá-lo. Isso carrega dataset.csv em vez de read.csv no espaço de trabalho da área de trabalho do Power BI e cria uma tabela de Mortalidade por Câncer. Veja os resultados no seguinte arquivo PBIX.

Nota

O dataset é um nome codificado para a entrada data.frame de qualquer R-visual.

Crie um visual e um pacote com tecnologia R em código R

  1. Execute o seguinte comando para criar um novo visual com tecnologia R:

    pbiviz new funnel-visual -t rvisual
    cd funnel-visual
    npm install 
    pbiviz package
    

    Este comando cria o funil de pasta visual com o modelo inicial visual (-tpara modelo). O PBIVIZ pode ser encontrado na pasta dist, o código R dentro do arquivo script.r. Tente importá-lo para o Power BI e veja o que acontece.

  2. Edite o arquivo script.r e substitua o conteúdo pelo script anterior.

  3. Edite capabilities.json e substitua a cadeia de caracteres Values por dataset. Isso substitui o nome de "Função" no modelo para ser como no R-code.

    A captura de tela mostra uma comparação de comparação da alteração no arquivo json.

  4. (facultativo) Edite dependencies.json e adicione uma seção para cada pacote R exigido pelo script R. Isso informa ao Power BI para importar automaticamente esses pacotes quando o visual for carregado pela primeira vez.

    A captura de tela mostra uma comparação de comparação onde o conteúdo foi adicionado aos itens cranPackages.

  5. Reempacote o visual usando o comando e tente importá-lo para o pbiviz package Power BI.

Nota

Consulte PBIX e código-fonte para download.

Faça melhorias visuais baseadas em R

O visual ainda não é fácil de usar porque o usuário tem que saber a ordem das colunas na tabela de entrada.

  1. Divida o campo dataset de entrada em três campos (funções): Population, Numbere Tooltips

    CV01to02

  2. Edite capabilities.json e substitua a dataset função pelas três novas funções ou baixe capabilities.json.

    Você precisará atualizar as seções: dataRoles e dataViewMappings, que definem nomes, tipos, dicas de ferramentas e colunas máximas para cada campo de entrada.

    antes e depois

    Para obter mais informações, consulte recursos.

  3. Edite script.r para dar suporte Populationa , Number e Tooltips como dataframes de entrada em vez de dataset, ou baixe script.r.

    .

    Gorjeta

    Para acompanhar as alterações no R-script, procure blocos de comentários:

    #RVIZ_IN_PBI_GUIDE:BEGIN: Added to enable visual fields
    ...
    #RVIZ_IN_PBI_GUIDE:END: Added to enable visual fields
    
    #RVIZ_IN_PBI_GUIDE:BEGIN: Removed to enable visual fields 
    ...
    #RVIZ_IN_PBI_GUIDE:BEGIN: Removed to enable visual fields
    
  4. Reempacote o visual usando o comando e tente importá-lo para o pbiviz package Power BI.

Nota

Consulte PBIX e código-fonte para download.

Adicionar parâmetros do usuário

  1. Adicione recursos para o usuário controlar cores e tamanhos de elementos visuais, incluindo parâmetros internos da interface do usuário.

    A captura de tela mostra duas versões do painel de ferramentas com opções adicionadas à versão à direita.

  2. Edite capabilities.json e atualize a objects seção. Aqui definimos nomes, dicas de ferramentas e tipos de cada parâmetro, e também decidimos sobre a partição de parâmetros em grupos (três grupos neste caso).

    Faça o download capabilities.json, consulte Propriedades do objeto para obter mais informações

    capacidades

  3. Edite src/settings.ts para espelhar esta settings.ts. Este arquivo é escrito em TypeScript.

    Aqui você encontrará dois blocos do código adicionado a:

    • Declarar nova interface para manter o valor da propriedade
    • Definir uma propriedade de membro e valores padrão

    definições

  4. Edite script.r para espelhar este script.r. Isso adiciona suporte para os parâmetros na interface do usuário, adicionando if.exists chamadas por parâmetro de usuário.

    Gorjeta

    Para acompanhar as alterações no R-script, procure comentários:

    #RVIZ_IN_PBI_GUIDE:BEGIN:Added to enable user parameters
     ...
    #RVIZ_IN_PBI_GUIDE:END:Added to enable user parameters
    
    #RVIZ_IN_PBI_GUIDE:BEGIN:Removed to enable user parameters 
     ...
    #RVIZ_IN_PBI_GUIDE:END:Removed to enable user parameters
    

    roteiro antes e depois

    Você pode decidir não expor os parâmetros à interface do usuário, como fizemos.

  5. Reempacote o visual usando o comando e tente importá-lo para o pbiviz package Power BI.

Nota

Consulte PBIX e código-fonte para download.

Gorjeta

Aqui adicionamos parâmetros de vários tipos (booleano, numérico, string e colorido) de uma só vez. Para um caso simples, veja este exemplo sobre como adicionar um único parâmetro.

Converter visual em visual baseado em RHTML

Como o visual resultante é baseado em PNG, ele não responde ao mouse pairar, não pode ser ampliado e assim por diante, então precisamos convertê-lo em um visual baseado em HTML. Criaremos um modelo visual baseado em HTML alimentado por R vazio e, em seguida, copiaremos alguns scripts do projeto baseado em PNG.

  1. Execute o comando:

    pbiviz new funnel-visual-HTML -t rhtml
    cd funnel-visual-HTML
    npm install 
    pbiviz package
    
  2. Abra capabilities.json e anote a "scriptOutputType":"html" linha.

  3. Abra dependencies.json e anote os nomes dos pacotes R listados.

  4. Abra script.r e observe a estrutura. Você pode abri-lo e executá-lo no RStudio, uma vez que ele não usa entrada externa.

    Isso cria e economiza out.html. Este arquivo é independente (sem dependências externas) e define os gráficos dentro do widget HTML.

    Importante

    Para htmlWidgets os utilizadores, os utilitários R são fornecidos na pasta r_files para ajudar a converter plotly ou widget objetos em HTML de auto-conteúdo.

    Esta versão do visual R-powered também suporta o source comando (ao contrário dos tipos anteriores de visuais), para tornar o seu código mais legível.

  5. Substitua capabilities.json pelo capabilities.json da etapa anterior ou faça o download capabilities.json.

    Certifique-se de manter:

    "scriptOutputType": "html"

  6. Mescle a versão mais recente do script.r com o script.r do modelo ou baixe script.r.

    O novo script usa o plotly pacote para converter o objeto ggplot em um objeto plotly e, em seguida, o htmlWidgets pacote para salvá-lo em um arquivo HTML.

    A maioria das funções do utilitário são movidas para r_files/utils.r e a generateNiceTooltips função é adicionada para a aparência do objeto plotado.

    1

    2

    Gorjeta

    Para acompanhar as alterações no R-script, procure comentários:

    #RVIZ_IN_PBI_GUIDE:BEGIN:Added to create HTML-based 
     ...
    #RVIZ_IN_PBI_GUIDE:BEGIN:Added to create HTML-based
    
    #RVIZ_IN_PBI_GUIDE:BEGIN:Removed to create HTML-based  
    ...
    #RVIZ_IN_PBI_GUIDE:BEGIN:Removed to create HTML-based
    
  7. Mescle a versão mais recente do dependencies.json com o dependencies.json do modelo, para incluir novas dependências do pacote R ou baixe dependencies.json.

  8. Edite src/settings.ts da mesma forma das etapas anteriores.

  9. Reempacote o visual usando o comando e tente importá-lo para o pbiviz package Power BI.

Nota

Consulte PBIX e código-fonte para download.

Crie exemplos adicionais

  1. Execute o seguinte comando para criar um projeto vazio:

    pbiviz new example -t rhtml
    cd example
    npm install 
    pbiviz package
    
  2. Pegue o código desta apresentação e faça as alterações destacadas:

    Alterações destacadas

  3. Substitua o script.r do modelo e execute pbiviz package novamente. Agora o visual está incluído no seu relatório do Power BI!

Sugestões e truques

  • Recomendamos que os desenvolvedores editem pbiviz.json para armazenar metadados corretos, como versão, e-mail, nome, tipo de licença e assim por diante.

    Importante

    O campo guid é o identificador exclusivo de um visual. Se você criar um novo projeto para cada visual, o GUID também será diferente. É apenas o mesmo quando se usa um projeto antigo copiado para um novo visual, o que você não deve fazer.

  • Edite ativos/icon.png para criar ícones exclusivos para o seu visual.

  • Para depurar o código R no RStudio usando os mesmos dados do relatório do Power BI, adicione o seguinte ao início do R-script (edite a fileRda variável):

    #DEBUG in RStudio
    fileRda = "C:/Users/yourUserName/Temp/tempData.Rda"
    if(file.exists(dirname(fileRda)))
    {
       if(Sys.getenv("RSTUDIO")!="")
         load(file= fileRda)
       else
         save(list = ls(all.names = TRUE), file=fileRda)
    }
    

    Isso salva o ambiente de um relatório do Power BI e o carrega no RStudio.

  • Você não precisa desenvolver visuais com tecnologia R do zero com código disponível no GitHub. Você pode selecionar o visual para usar como modelo e copiar o código em um novo projeto.

    Por exemplo, tente usar o visual personalizado spline.

  • Cada R Visual aplica o unique operador à sua tabela de entrada. Para evitar que linhas idênticas sejam removidas, considere adicionar um campo de entrada extra com um ID exclusivo e ignore-o no código R.

  • Se você tiver uma conta do Power BI, use o serviço do Power BI para desenvolver um visual em tempo real em vez de reempacotá-los com o pbiviz package comando.

Explore elementos visuais na galeria de widgets HTML para usar no seu próximo visual. Para facilitar as coisas, criamos um repositório de projetos visuais com mais de 20 visuais HTML interativos para escolher!

Gorjeta

Para alternar entre widgets html, use Formatar>Tipo de Configurações>. Experimente com este arquivo PBIX.

Para usar uma amostra para o seu visual

  1. Faça o download da pasta inteira.
  2. Edite script.r e dependencies.json para manter apenas um widget.
  3. Edite capabilities.json e settings.ts para remover o Type seletor.
  4. Mude const updateHTMLHead: boolean = true; para false em visual.ts. (para um melhor desempenho)
  5. Altere metadados em pbiviz.json, principalmente no guid campo.
  6. Reempacote e continue a personalizar o visual como desejado.

A captura de tela mostra seis widgets discutidos anteriormente neste artigo.

A captura de tela mostra mais seis widgets discutidos anteriormente neste artigo.

Nota

Nem todos os widgets neste projeto são suportados pelo serviço.

Para saber mais, consulte tutoriais adicionais do Power BI, Desenvolvendo um visual de cartão de círculo do Power BI e visuais R.

Saiba como desenvolver e enviar elementos visuais para a Office Store (galeria) ou, para obter mais exemplos, consulte a apresentação R-script