Zelfstudie: Een power BI-visual met R maken
Als ontwikkelaar kunt u uw eigen Power BI-visuals maken. Deze visuals kunnen door u, uw organisatie of door derden worden gebruikt.
Dit artikel is een stapsgewijze handleiding voor het maken van een R-visual voor Power BI.
In deze zelfstudie leert u het volgende:
- Een R-visual maken
- Het R-script bewerken in Power BI Desktop
- Bibliotheken toevoegen aan het afhankelijkhedenbestand van de visual
- Een statische eigenschap toevoegen
Vereisten
- Een Power BI Pro-account . Meld u aan voor een gratis proefversie voordat u begint.
- Een R-motor. U kunt er een gratis downloaden vanaf veel locaties, waaronder de downloadpagina van Microsoft R Open en de CRAN-opslagplaats. Zie Power BI-visuals maken met R voor meer informatie.
- Power BI Desktop.
- Windows PowerShell versie 4 of hoger voor Windows-gebruikers OF de Terminal voor OSX-gebruikers.
Aan de slag
Bereid enkele voorbeeldgegevens voor de visual voor. U kunt deze waarden opslaan in een Excel-database of een .csv-bestand en dit importeren in Power BI Desktop.
Maandnr Totaalaantal eenheden 1 2303 2 2319 3 1732 4 1615 5 1427 6 2253 7 1147 8 1515 9 2516 10 3131 11 3170 12 2762 Als u een visual wilt maken, opent u PowerShell of Terminal en voert u de volgende opdracht uit:
pbiviz new rVisualSample -t rvisual
Met deze opdracht maakt u een nieuwe map voor de rVisualSample-visual . De structuur is gebaseerd op de
rvisual
sjabloon. Er wordt een bestand gemaakt met de naam script.r in de hoofdmap van de visual. Dit bestand bevat het R-script dat wordt uitgevoerd om de afbeelding te genereren wanneer de visual wordt weergegeven. U kunt uw R-script maken in Power BI Desktop.Voer vanuit de zojuist gemaakte
rVisualSample
map de volgende opdracht uit:pbiviz start
Selecteer in Power BI Desktop R-scriptvisual:
Wijs gegevens toe aan de visual voor ontwikkelaars door MonthNo- en Total-eenheden naar Waarden voor de visual te slepen.
Stel het aggregatietype van Totaaleenheden in op Niet samenvatten.
Typ in de R-scripteditor in Power BI Desktop het volgende:
plot(dataset)
Met deze opdracht maakt u een spreidingsdiagram met behulp van de waarden in het semantische model als invoer.
Selecteer het pictogram Script uitvoeren om het resultaat weer te geven.
Het R-script bewerken
Het R-script kan worden gewijzigd om andere typen visuals te maken. We gaan nu een lijndiagram maken.
Plak de volgende R-code in de R-scripteditor.
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
Selecteer het pictogram Script uitvoeren om het resultaat weer te geven.
Wanneer uw R-script gereed is, kopieert u het naar het
script.r
bestand in de hoofdmap van uw visualproject.Wijzig in het capabilities.json bestand het
dataRoles
volgende:name
in de gegevensset en stel de invoer in op dedataViewMappings
gegevensset.{ "dataRoles": [ { "displayName": "Values", "kind": "GroupingOrMeasure", "name": "dataset" } ], "dataViewMappings": [ { "scriptResult": { "dataInput": { "table": { "rows": { "select": [ { "for": { "in": "dataset" } } ], "dataReductionAlgorithm": { "top": {} } } } }, ... } } ], }
Voeg de volgende code toe ter ondersteuning van het wijzigen van het formaat van de installatiekopieën in het bestand 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"; }
Bibliotheken toevoegen aan visualpakket
Het corrplot
pakket maakt een grafische weergave van een correlatiematrix. Zie An Introduction to corrplot Package (Inleiding tot corrplot Package) voor meer informatie over.corrplot
Voeg de
corrplot
bibliotheekafhankelijkheid toe aan hetdependencies.json
bestand. Hier volgt een voorbeeld van de bestandsinhoud:{ "cranPackages": [ { "name": "corrplot", "displayName": "corrplot", "url": "https://cran.r-project.org/web/packages/corrplot/" } ] }
U kunt nu het corrplot-pakket in uw
script.r
bestand gaan gebruiken.library(corrplot) corr <- cor(dataset) corrplot(corr, method="circle", order = "hclust")
Het resultaat van het gebruik
corrplot
van een pakket ziet er als volgt uit:
Een statische eigenschap toevoegen aan het eigenschappenvenster
Nu we een eenvoudige corrplot
visual hebben, gaan we eigenschappen toevoegen aan het eigenschappenvenster waarmee de gebruiker het uiterlijk van de visual kan wijzigen.
We gebruiken het method
argument om de vorm van de gegevenspunten te configureren. Het standaardscript maakt gebruik van een cirkel. Wijzig uw visual zodat de gebruiker uit verschillende opties kan kiezen.
Definieer een
object
aangeroepen instellingen in het capabilities.json bestand en geef het de volgende eigenschappen."settings": { "properties": { "method": { "type": { "enumeration": [ { "value": "circle" }, { "value": "square" }, { "value": "ellipse" }, { "value": "number" }, { "value": "shade" }, { "value": "color" }, { "value": "pie" } ] } } } }
Open het bestand src/settings.ts . Maak een
VisualCardSettings
klasse met de openbare eigenschappenmethod
,name
displayName
enslices
zoals wordt weergegeven in het codevak.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]; }
Na deze stappen kunt u de eigenschap van de visual wijzigen.
Ten slotte moet het R-script een standaardeigenschap hebben. Als de gebruiker de eigenschapswaarde niet wijzigt (in dit geval de shape-instelling), gebruikt de visual deze waarde.
Voor R-runtimevariabelen voor de eigenschappen is
<objectname>_<propertyname>
de naamconventie in dit gevalsettings_method
.Voer het volgende R-script uit:
library(corrplot) corr <- cor(dataset) if (!exists("settings_method")) { settings_method = "circle"; } corrplot(corr, method=settings_method, order = "hclust")
Uw visual verpakken en importeren
U kunt de visual nu verpakken en importeren in elk Power BI-rapport.
Vul de
displayName
,supportUrl
, , auteurname
description
enemail
andere belangrijke informatie in hetpbivis.json
bestand in.Als u het pictogram van de visual in het visualisatiedeelvenster wilt wijzigen, vervangt u het icon.png bestand in de map assets .
Voer vanuit de hoofdmap van uw visual het volgende uit:
pbiviz package
Zie De aangepaste visual verpakken voor meer informatie over het verpakken van uw visual
Importeer het pbiviz-bestand van de visual in een Power BI-rapport. Zie Een visueel bestand van uw lokale computer importeren in Power BI voor instructies over hoe u dit doet.
Uw uiteindelijke visual ziet eruit zoals in het volgende voorbeeld: