Samouczek: tworzenie wizualizacji usługi Power BI opartej na języku R

Jako deweloper możesz tworzyć własne wizualizacje usługi Power BI. Te wizualizacje mogą być używane przez Ciebie, Twoją organizację lub przez inne firmy.

Ten artykuł jest przewodnikiem krok po kroku dotyczącym tworzenia wizualizacji opartej na języku R dla usługi Power BI.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Tworzenie wizualizacji opartej na języku R
  • Edytowanie skryptu języka R w programie Power BI Desktop
  • Dodawanie bibliotek do pliku zależności wizualizacji
  • Dodawanie właściwości statycznej

Wymagania wstępne

Rozpocznij

  1. Przygotuj przykładowe dane dla wizualizacji. Możesz zapisać te wartości w bazie danych programu Excel lub pliku .csv i zaimportować je do programu Power BI Desktop.

    NrMiesiąca Łączna liczba jednostek
    1 2303
    2 2319
    3 1732
    100 1615
    5 1427
    6 2253
    7 1147
    8 1515
    9 2516
    10 3131
    11 3170
    12 2762
  2. Aby utworzyć wizualizację, otwórz program PowerShell lub terminal i uruchom następujące polecenie:

    pbiviz new rVisualSample -t rvisual
    

    To polecenie tworzy nowy folder dla wizualizacji rVisualSample . Struktura jest oparta na szablonie rvisual . Tworzy plik o nazwie script.r w folderze głównym wizualizacji. Ten plik zawiera skrypt języka R, który jest uruchamiany w celu wygenerowania obrazu po renderowaniu wizualizacji. Skrypt języka R można utworzyć w programie Power BI Desktop.

  3. W nowo utworzonym rVisualSample katalogu uruchom następujące polecenie:

    pbiviz start
    
  4. W programie Power BI Desktop wybierz pozycję Wizualizacja skryptu języka R:

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

  5. Przypisz dane do wizualizacji dewelopera, przeciągając jednostki MonthNo i Total do wartości wizualizacji.

    Screenshot showing where to add data to values.

  6. Ustaw typ agregacji Całkowita liczba jednostek na Nie sumuj.

    Screenshot of menu with option for not summarizing data.

  7. W edytorze skryptów języka R w programie Power BI Desktop wpisz następujące polecenie:

    plot(dataset)
    

    To polecenie tworzy wykres punktowy przy użyciu wartości w modelu semantycznym jako danych wejściowych.

  8. Wybierz ikonę Uruchom skrypt , aby wyświetlić wynik.

    Screenshot of R visual chart with data.

Edytowanie skryptu języka R

Skrypt języka R można zmodyfikować w celu utworzenia innych typów wizualizacji. Teraz utwórzmy wykres liniowy.

  1. Wklej następujący kod języka R do edytora skryptów języka R.

    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. Wybierz ikonę Uruchom skrypt , aby wyświetlić wynik.

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

  3. Gdy skrypt języka R jest gotowy, skopiuj go do script.r pliku znajdującego się w katalogu głównym projektu wizualizacji.

  4. W pliku capabilities.json zmień parametr : name na dataRoleszestaw danych i ustaw dane wejściowe na dataViewMappingszestaw danych.

    {
      "dataRoles": [
        {
          "displayName": "Values",
          "kind": "GroupingOrMeasure",
          "name": "dataset"
        }
      ],
      "dataViewMappings": [
        {
          "scriptResult": {
            "dataInput": {
              "table": {
                "rows": {
                  "select": [
                    {
                      "for": {
                        "in": "dataset"
                      }
                    }
                  ],
                  "dataReductionAlgorithm": {
                    "top": {}
                  }
                }
              }
            },
            ...
          }
        }
      ],
    }
    
  5. Dodaj następujący kod, aby obsługiwać zmianę rozmiaru obrazu w pliku 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";
      }
    

Dodawanie bibliotek do pakietu wizualnego

Pakiet corrplot tworzy graficzny wyświetlacz macierzy korelacji. Aby uzyskać więcej informacji na temat corrplotprogramu , zobacz Wprowadzenie do pakietu corrplot.

  1. corrplot Dodaj zależność biblioteki do dependencies.json pliku. Oto przykład zawartości pliku:

    {
      "cranPackages": [
        {
          "name": "corrplot",
          "displayName": "corrplot",
          "url": "https://cran.r-project.org/web/packages/corrplot/"
        }
      ]
    }
    
  2. Teraz możesz rozpocząć korzystanie z pakietu corrplot w script.r pliku.

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

    Wynik użycia corrplot pakietu wygląda następująco:

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

Dodawanie właściwości statycznej do okienka właściwości

Teraz, gdy mamy podstawową corrplot wizualizację, dodajmy właściwości do okienka właściwości, które umożliwiają użytkownikowi zmianę wyglądu i działania wizualizacji.

Używamy argumentu method do konfigurowania kształtu punktów danych. Skrypt domyślny używa okręgu. Zmodyfikuj wizualizację, aby umożliwić użytkownikowi wybór między kilkoma opcjami.

  1. Zdefiniuj wywołane object ustawienia w pliku capabilities.json i nadaj mu następujące właściwości.

    "settings": {
      "properties": {
        "method": {
          "type": {
            "enumeration": [
              { "value": "circle" },
              { "value": "square" },
              { "value": "ellipse" },
              { "value": "number" },
              { "value": "shade" },
              { "value": "color" },
              { "value": "pie" }
            ]
          }
        }
      }
    }
    
  2. Otwórz plik src/settings.ts. Utwórz klasę VisualCardSettings z właściwościami methodpublicznymi , namei slicesdisplayName, jak pokazano w polu kodu.

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

    Po wykonaniu tych kroków możesz zmienić właściwość wizualizacji.

    Screenshot of R visual settings.

    Na koniec skrypt języka R musi mieć właściwość domyślną. Jeśli użytkownik nie zmieni wartości właściwości (w tym przypadku ustawienie kształtu), wizualizacja używa tej wartości.

    W przypadku zmiennych środowiska uruchomieniowego języka R dla właściwości konwencja nazewnictwa to <objectname>_<propertyname>, w tym przypadku settings_method.

  3. Uruchom następujący skrypt języka R:

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

Pakowanie i importowanie wizualizacji

Teraz możesz spakować wizualizację i zaimportować ją do dowolnego raportu usługi Power BI.

  1. Wypełnij pola displayName, , supportUrl, descriptionauthor's name i email, i wszelkie inne ważne informacje w pbivis.json pliku.

  2. Jeśli chcesz zmienić ikonę wizualizacji w okienku wizualizacji, zastąp plik icon.png w folderze assets .

  3. Z katalogu głównego wizualizacji uruchom następujące polecenie:

    pbiviz package
    

    Aby uzyskać więcej informacji na temat tworzenia pakietów wizualizacji, zobacz Tworzenie pakietów wizualizacji niestandardowej

  4. Zaimportuj plik pbiviz wizualizacji do dowolnego raportu usługi Power BI. Aby uzyskać instrukcje dotyczące tego, jak to zrobić, zobacz Importowanie pliku wizualizacji z komputera lokalnego do usługi Power BI .

  5. Ostateczna wizualizacja wygląda podobnie do poniższego przykładu:

Screenshot of R visual settings with changed value.