Selvstudium: Opret en R-drevet Power BI-visualisering

Som udvikler kan du oprette dine egne Power BI-visualiseringer. Disse visualiseringer kan bruges af dig, din organisation eller tredjeparter.

Denne artikel er en trinvis vejledning til oprettelse af en R-drevet visualisering til Power BI.

I dette selvstudium lærer du, hvordan du kan:

  • Opret en R-drevet visualisering
  • Rediger R-scriptet i Power BI Desktop
  • Føj biblioteker til visualiseringens afhængighedsfil
  • Tilføj en statisk egenskab

Forudsætninger

Kom i gang

  1. Forbered nogle eksempeldata til visualiseringen. Du kan gemme disse værdier i en Excel-database eller en .csv fil og importere den i Power BI Desktop.

    Månedsnr. Enheder i alt
    0 2303
    2 2319
    3 1732
    4 1615
    5 1427
    6 2253
    7 1147
    8 1515
    9 2516
    10 3131
    11 3170
    12 2762
  2. Hvis du vil oprette en visualisering, skal du åbne PowerShell eller Terminal og køre følgende kommando:

    pbiviz new rVisualSample -t rvisual
    

    Denne kommando opretter en ny mappe til rVisualSample-visualiseringen. Strukturen er baseret på rvisual skabelonen. Der oprettes en fil med navnet script.r i rodmappen for visualiseringen. Denne fil indeholder det R-script, der køres for at generere billedet, når visualiseringen gengives. Du kan oprette R-scriptet i Power BI Desktop.

  3. Kør følgende kommando fra den nyoprettede rVisualSample mappe:

    pbiviz start
    
  4. Vælg R-scriptvisualisering i Power BI Desktop:

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

  5. Tildel data til udviklervisual'et ved at trække MonthNo og Enheder i alt til Værdier for visualiseringen.

    Screenshot showing where to add data to values.

  6. Angiv sammenlægningstypen for Enheder i alt til Opsummer ikke.

    Screenshot of menu with option for not summarizing data.

  7. Skriv følgende fra R-scripteditoren i Power BI Desktop:

    plot(dataset)
    

    Denne kommando opretter et punktdiagram ved hjælp af værdierne i den semantiske model som input.

  8. Vælg ikonet Kør script for at se resultatet.

    Screenshot of R visual chart with data.

Rediger R-scriptet

R-scriptet kan ændres for at oprette andre typer visualiseringer. Lad os nu oprette et kurvediagram.

  1. Indsæt følgende R-kode i R-scripteditoren.

    x <- dataset[,1] # get the first column from semantic model
    y <- dataset[,2] # get the second column from semantic model
    
    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. Vælg ikonet Kør script for at se resultatet.

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

  3. Når R-scriptet er klar, skal du kopiere det til den script.r fil, der er placeret i rodmappen for dit visuelle projekt.

  4. I filen capabilities.json skal du ændre dataRoles: name til datasæt og angive inputtet dataViewMappings til datasæt.

    {
      "dataRoles": [
        {
          "displayName": "Values",
          "kind": "GroupingOrMeasure",
          "name": "dataset"
        }
      ],
      "dataViewMappings": [
        {
          "scriptResult": {
            "dataInput": {
              "table": {
                "rows": {
                  "select": [
                    {
                      "for": {
                        "in": "dataset"
                      }
                    }
                  ],
                  "dataReductionAlgorithm": {
                    "top": {}
                  }
                }
              }
            },
            ...
          }
        }
      ],
    }
    
  5. Tilføj følgende kode for at understøtte tilpasning af billedets størrelse i filen src/visual.ts .

      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";
      }
    

Føj biblioteker til visualiseringspakken

Pakken corrplot opretter en grafisk visning af en korrelationsmatrix. Du kan få flere oplysninger om corrplotunder En introduktion til corrplot Package.

  1. Føj biblioteksafhængigheden corrplotdependencies.json til filen. Her er et eksempel på filindholdet:

    {
      "cranPackages": [
        {
          "name": "corrplot",
          "displayName": "corrplot",
          "url": "https://cran.r-project.org/web/packages/corrplot/"
        }
      ]
    }
    
  2. Nu kan du begynde at bruge den tilsvarende pakke i filen script.r .

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

    Resultatet af at bruge corrplot pakken ser ud som i dette eksempel:

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

Føj en statisk egenskab til egenskabsruden

Nu, hvor vi har en grundlæggende corrplot visualisering, kan vi føje egenskaber til egenskabsruden, der gør det muligt for brugeren at ændre visualiseringens udseende og funktionalitet.

Vi bruger argumentet method til at konfigurere datapunkternes form. Standardscriptet bruger en cirkel. Rediger visualiseringen, så brugeren kan vælge mellem flere indstillinger.

  1. Definer en object kaldet indstilling i filen capabilities.json , og giv den følgende egenskaber.

    "settings": {
      "properties": {
        "method": {
          "type": {
            "enumeration": [
              { "value": "circle" },
              { "value": "square" },
              { "value": "ellipse" },
              { "value": "number" },
              { "value": "shade" },
              { "value": "color" },
              { "value": "pie" }
            ]
          }
        }
      }
    }
    
  2. Åbn filen src/settings.ts . Opret en VisualCardSettings klasse med de offentlige egenskaber method, namedisplayName og slices som vist i kodefeltet bælge.

    import ItemDropdown = formattingSettings.ItemDropdown;
    
    const methodOptions = [
        {
            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"
        }
    ]
    
    class VisualCardSettings extends FormattingSettingsCard {
        method: FormattingSettingsSlice = new ItemDropdown({
            name: "method",
            displayName: "Method",
            items: methodOptions,
            value: methodOptions[0]
        });
    
        name: string = "settings";
        displayName: string = "Settings";
        slices: Array<FormattingSettingsSlice> = [this.method];
    }
    

    Efter disse trin kan du ændre egenskaben for visualiseringen.

    Screenshot of R visual settings.

    Endelig skal R-scriptet have en standardegenskab. Hvis brugeren ikke ændrer egenskabsværdien (i dette tilfælde figurindstillingen), bruger visualiseringen denne værdi.

    For R-kørselsvariabler for egenskaberne er <objectname>_<propertyname>navngivningskonventionen , i dette tilfælde settings_method.

  3. Kør følgende R-script:

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

Pak og importér din visualisering

Nu kan du pakke visualiseringen og importere den til en hvilken som helst Power BI-rapport.

  1. Udfyld , displayNamesupportUrldescriptionforfatterens name og emailog alle andre vigtige oplysninger i pbivis.json filen.

  2. Hvis du vil ændre visualiseringens ikon i visualiseringsruden, skal du erstatte filen icon.png i mappen assets .

  3. Fra rodmappen for kørslen af visualiseringen:

    pbiviz package
    

    Du kan få flere oplysninger om pakning af din visualisering under Emballage den brugerdefinerede visualisering

  4. Importér visualiseringens pbiviz-fil til en hvilken som helst Power BI-rapport. Se Importér en visualiseringsfil fra din lokale computer til Power BI for at få oplysninger om, hvordan du gør dette.

  5. Den endelige visualisering ser ud som i følgende eksempel:

Screenshot of R visual settings with changed value.