Opplæring: Opprett en R-drevet Power BI-visualisering

Som utvikler kan du opprette dine egne visualobjekter i Power BI. Disse visualobjektene kan brukes av deg, av organisasjonen eller av tredjeparter.

Denne artikkelen er en trinnvis veiledning for å opprette et R-drevet visualobjekt for Power BI.

I denne opplæringen lærer du hvordan du kan:

  • Opprett en R-drevet visualisering
  • Rediger R-skriptet i Power BI Desktop
  • Legge til biblioteker i avhengighetsfilen for visualobjektet
  • Legg til en statisk egenskap

Forutsetninger

Kom i gang

  1. Klargjøre noen eksempeldata for visualobjektet. Du kan lagre disse verdiene i en Excel database eller en.csv fil og importere den til Power BI Desktop.

    Månedsnummer Totalt antall enheter
    1 2303
    2 2319
    3 1732
    4 1615
    5 1427
    6 2253
    7 1147
    8 1515
    09: 2516
    10 3131
    11 3170
    12 2762
  2. Hvis du vil opprette et visualobjekt, åpner du PowerShell eller Terminal og kjører følgende kommando:

    pbiviz new rVisualSample -t rvisual
    

    Denne kommandoen oppretter en ny mappe for rVisualSample-visualobjektet . Strukturen er basert på malen rvisual . Den oppretter en fil kalt script.r i rotmappen for visualobjektet. Denne filen inneholder R-skriptet som kjøres for å generere bildet når visualobjektet gjengis. Du kan opprette R-skriptet i Power BI Desktop.

  3. Fra den nylig opprettede rVisualSample katalogkjøringen

    pbiviz start
    
  4. Velg R-skriptvisualobjekt i Power BI Desktop:

    Screenshot shows the R script visual control in the Power BI Desktop.

  5. Tilordne data til visualobjektet for utviklere ved å dra MonthNo - og Total-enheter til Verdier for visualobjektet.

    Add data to values

  6. Angi aggregasjonstypen for totalt antall enheter til Ikke oppsummer.

    Don't summarize data

  7. Skriv inn følgende fra redigeringsprogrammet for R-skript i Power BI Desktop:

    plot(dataset)
    

    Denne kommandoen oppretter et punktdiagram ved hjelp av verdiene i datasettet som inndata.

  8. Velg Kjør skript-ikonet for å se resultatet.

    R visual with data

Rediger R-skriptet

R-skriptet kan endres for å opprette andre typer visualobjekter. La oss opprette et linjediagram neste.

  1. Lim inn følgende R-kode i redigeringsprogrammet for R-skript:

    x <- dataset[,1] # get the first column from dataset
    y <- dataset[,2] # get the second column from dataset
    
    columnNames = colnames(dataset) # get column names
    
    plot(x, y, type="n", xlab=columnNames[1], ylab=columnNames[2]) # draw empty plot with axis and labels only
    lines(x, y, col="green") # draw line plot
    
  2. Velg Kjør skript-ikonet for å se resultatet.

    Screenshot shows the result of running the script, which is a line plot.

  3. Når R-skriptet er klart, kopierer du det til script.r filen som er plassert i rotkatalogen for det visuelle prosjektet.

  4. Endre : name til datasettet i capabilities.json-filendataRoles, og angi dataViewMappings inndataene til datasettet.

    {
      "dataRoles": [
        {
          "displayName": "Values",
          "kind": "GroupingOrMeasure",
          "name": "dataset"
        }
      ],
      "dataViewMappings": [
        {
          "scriptResult": {
            "dataInput": {
              "table": {
                "rows": {
                  "select": [
                    {
                      "for": {
                        "in": "dataset"
                      }
                    }
                  ],
                  "dataReductionAlgorithm": {
                    "top": {}
                  }
                }
              }
            },
            ...
          }
        }
      ],
    }
    
  5. Legg til følgende kode for å støtte endring av størrelsen på bildet i src/visual.ts-filen.

      public onResizing(finalViewport: IViewport): void {
          this.imageDiv.style.height = finalViewport.height + "px";
          this.imageDiv.style.width = finalViewport.width + "px";
          this.imageElement.style.height = finalViewport.height + "px";
          this.imageElement.style.width = finalViewport.width + "px";
      }
    

Legg til biblioteker i en visualiseringspakke

Pakken corrplot oppretter en grafisk visning av en korrelasjonsmatrise. Hvis du vil ha mer informasjon om corrplot, kan du se En introduksjon til corrplot-pakken.

  1. Legg til bibliotekavhengigheten corrplot i dependencies.json filen. Her er et eksempel på innholdet i filen:

    {
      "cranPackages": [
        {
          "name": "corrplot",
          "displayName": "corrplot",
          "url": "https://cran.r-project.org/web/packages/corrplot/"
        }
      ]
    }
    
  2. Nå kan du begynne å bruke corrplot-pakken i script.r filen.

    library(corrplot)
    corr <- cor(dataset)
    corrplot(corr, method="circle", order = "hclust")
    

    Resultatet av bruk av corrplot-pakken ser slik ut:

    Screenshot shows the visualization pane with four ovals created by corrplot.

Legge til en statisk egenskap i egenskapsruten

Nå som vi har et grunnleggende corrplot visualobjekt, legger vi til egenskaper i egenskapsruten som gjør det mulig for brukeren å endre utseendet og funksjonaliteten til visualobjektet.

Vi bruker method argumentet til å konfigurere formen på datapunktene. Standardskriptet bruker en sirkel. Endre visualiseringen slik at brukeren kan velge mellom flere alternativer.

  1. Definer en object kalt innstilling i capabilities.json-filen , og gi den egenskapene som vises nedenfor. Bruk deretter dette objektnavnet i opplistingsmetoden for å hente verdiene fra egenskapsruten.

    {
      "settings": {
      "displayName": "Visual Settings",
      "description": "Settings to control the look and feel of the visual",
      "properties": {
        "method": {
          "displayName": "Data Look",
          "description": "Control the look and feel of the data points in the visual",
          "type": {
            "enumeration": [
              {
                "displayName": "Circle",
                "value": "circle"
              },
              {
                "displayName": "Square",
                "value": "square"
              },
              {
                "displayName": "Ellipse",
                "value": "ellipse"
              },
              {
                "displayName": "Number",
                "value": "number"
              },
              {
                "displayName": "Shade",
                "value": "shade"
              },
              {
                "displayName": "Color",
                "value": "color"
              },
              {
                "displayName": "Pie",
                "value": "pie"
              }
            ]
          }
        }
      }
    }
    
  2. Lagre src/settings.ts-filen. Opprett en CorrPlotSettings-klasse med den offentlige egenskapen method. Typen er string og standardverdien er circle. Legg til settings-egenskapen i VisualSettings-klassen med standardverdien:

    "use strict";
    
    import { dataViewObjectsParser } from "powerbi-visuals-utils-dataviewutils";
    import DataViewObjectsParser = dataViewObjectsParser.DataViewObjectsParser;
    
    export class VisualSettings extends DataViewObjectsParser {
      public rcv_script: rcv_scriptSettings = new rcv_scriptSettings();
      public settings: CorrPlotSettings = new CorrPlotSettings();
    }
    
    export class CorrPlotSettings {
      public method: string = "circle";
    }
    
    export class rcv_scriptSettings {
      public provider;
      public source;
    }
    

    Etter disse trinnene kan du endre egenskapen for visualiseringen.

    R visual settings

    Til slutt må R-skriptet ha en standardegenskap. Hvis brukeren ikke endrer egenskapsverdien (i dette tilfellet figurinnstillingen), bruker visualobjektet denne verdien.

    Navnekonvensjonen for R-kjøretidsvariabler for egenskapene er <objectname>_<propertyname>, i dette tilfellet settings_method.

  3. Kjør følgende R-skript:

    library(corrplot)
    corr <- cor(dataset)
    
    if (!exists("settings_method"))
    {
        settings_method = "circle";
    }
    
    corrplot(corr, method=settings_method, order = "hclust")
    

Pakk og importer visualobjektet

Nå kan du pakke visualobjektet og importere det til en hvilken som helst Power BI rapport.

  1. displayNameFyll ut , , supportUrlforfatterens descriptionname og email, og eventuell annen viktig informasjon i pbivis.json filen.

  2. Hvis du vil endre ikonet for visualobjektet i visualiseringsruten, erstatter du icon.png-filen i aktivamappen .

  3. Fra rotkatalogen for visualobjektkjøringen:

    pbiviz package
    

    Hvis du vil ha mer informasjon om hvordan du pakker visualobjektet, kan du se Pakke det egendefinerte visualobjektet

  4. Importer pbiviz-filen for visualobjektet til en hvilken som helst Power BI-rapport. Se Importere en visuell fil fra den lokale datamaskinen til Power BI for instruksjoner om hvordan du gjør dette.

  5. Den endelige visualiseringen ser ut som eksemplet nedenfor:

R visual settings with changed value

Neste trinn