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 hvordan du oppretter 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
  • Legg til biblioteker i avhengighetsfilen for visualobjektet
  • Legg til en statisk egenskap

Forutsetninger

Kom i gang

  1. Klargjør noen eksempeldata for visualobjektet. Du kan lagre disse verdiene i en Excel-database eller en .csv 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å rvisual malen. Den oppretter en fil som heter script.r i rotmappen i 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 rVisualSample opprettede katalogkjøringen

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

    Skjermbilde som viser kontrollen for R-skript for visualobjekt Power BI Desktop.

  5. Tilordne data til visualobjektet for utviklere ved å dra MonthNo og Totalt antall enheter til Verdier for visualobjektet.

    Legg til data i verdier

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

    Ikke oppsummer data

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

    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-visualisering med data

Rediger R-skriptet

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

  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.

    Skjermbilde viser resultatet av å kjøre skriptet, som er et linjediagram.

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

  4. Endre : til datasett i capabilities.json-filen, og dataRoles angi name dataViewMappings inndataene til datasett.

    {
      "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 corrplot bibliotekavhengigheten til 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:

    Skjermbilde som viser visualiseringsruten med fire ovaler opprettet av corrplot.

Legg til en statisk egenskap i egenskapsruten

Nå som vi har et grunnleggende visualobjekt, kan vi legge til egenskaper i egenskapsruten som lar brukeren endre utseendet på corrplot visualobjektet.

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

  1. Definer object en kalt innstillinger i filen capabilities.json, og gi den egenskapene som vises nedenfor. Deretter bruker du dette objektnavnet i opplistingsmetoden til å 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.

    Innstillinger for R-visualiseringer

    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 inn og importer visualobjektet ditt

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

  1. Fyll ut displayName , supportUrl , description forfatterens og , og eventuell name annen viktig informasjon i email pbivis.json -filen.

  2. Hvis du vil endre ikonet for visualobjektet i visualiseringsruten, erstatter duicon.png i aktiva-mappen.

  3. Fra rotkatalogen for den visuelle kjøringen:

    pbiviz package
    

    Hvis du vil ha mer informasjon om pakking av visualobjektet, kan du se Pakk det egendefinerte visualobjektet.

  4. Importer pbiviz-filen for visualobjektet til en Power BI rapporten. 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-visualiseringsinnstillinger med endret verdi

Neste trinn