Opplæring: Opprette et R-drevet Power BI-visualobjekt
Som utvikler kan du opprette dine egne Power BI-visualobjekter. Disse visualobjektene kan brukes av deg, organisasjonen eller 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 gjøre følgende:
- Opprette et R-drevet visualobjekt
- Redigere R-skriptet i Power BI Desktop
- Legge til biblioteker i avhengighetsfilen for visualobjektet
- Legge til en statisk egenskap
Forutsetning
- En Power BI Pro-konto . Registrer deg for en gratis prøveversjon før du begynner.
- En R-motor. Du kan laste ned én gratis fra mange steder, inkludert Nedlastingssiden for Microsoft R Open og CRAN-repositoriet. Hvis du vil ha mer informasjon, kan du se Opprette Power BI-visualobjekter ved hjelp av R.
- Power BI Desktop.
- Windows PowerShell versjon 4 eller nyere for Windows-brukere ELLER terminalen for OSX-brukere.
Kom i gang
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ånedsnr. Totalt antall enheter 1 2303 2 2319 3 1732 4 1615 5 1427 6 2253 7 1147 8 1515 9 2516 10 3131 11 3170 12 2762 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 visualobjektet rVisualSample . Strukturen er basert på malen
rvisual
. Det 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.Kjør følgende kommando fra den nylig opprettede
rVisualSample
katalogen:pbiviz start
Velg visualobjekt for R-skript i Power BI Desktop:
Tilordne data til utviklervisualobjektet ved å dra MonthNo - og Total-enheter til verdier for visualobjektet.
Angi aggregasjonstypen for totalt antall enheter til Ikke oppsummer.
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 den semantiske modellen som inndata.
Velg Kjør skript-ikonet for å se resultatet.
Rediger R-skriptet
R-skriptet kan endres for å opprette andre typer visualobjekter. La oss opprette et linjediagram neste.
Lim inn følgende R-kode i redigeringsprogrammet for R-skript.
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
Velg Kjør skript-ikonet for å se resultatet.
Når R-skriptet er klart, kopierer du det til
script.r
filen som er plassert i rotkatalogen for det visuelle prosjektet.Endre :
name
til datasettet i capabilities.json-filen,dataRoles
og angidataViewMappings
inndataene til datasettet.{ "dataRoles": [ { "displayName": "Values", "kind": "GroupingOrMeasure", "name": "dataset" } ], "dataViewMappings": [ { "scriptResult": { "dataInput": { "table": { "rows": { "select": [ { "for": { "in": "dataset" } } ], "dataReductionAlgorithm": { "top": {} } } } }, ... } } ], }
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"; }
Legge til biblioteker i visualobjektpakken
Pakken corrplot
oppretter en grafisk visning av en korrelasjonsmatrise. Hvis du vil ha mer informasjon om corrplot
, kan du se En innføring i corrplot Package.
Legg til bibliotekavhengigheten
corrplot
idependencies.json
filen. Her er et eksempel på filinnholdet:{ "cranPackages": [ { "name": "corrplot", "displayName": "corrplot", "url": "https://cran.r-project.org/web/packages/corrplot/" } ] }
Nå kan du begynne å bruke corrplot-pakken i
script.r
filen.library(corrplot) corr <- cor(dataset) corrplot(corr, method="circle", order = "hclust")
Resultatet av å bruke
corrplot
pakken ser slik ut:
Legge til en statisk egenskap i egenskapsruten
Nå som vi har et grunnleggende corrplot
visualobjekt, kan vi legge til egenskaper i egenskapsruten som lar brukeren endre utseendet og funksjonaliteten til visualobjektet.
Vi bruker method
argumentet til å konfigurere formen på datapunktene. Standardskriptet bruker en sirkel. Endre visualobjektet slik at brukeren kan velge mellom flere alternativer.
Definer en
object
kalt innstilling i capabilities.json-filen , og gi den følgende egenskaper."settings": { "properties": { "method": { "type": { "enumeration": [ { "value": "circle" }, { "value": "square" }, { "value": "ellipse" }, { "value": "number" }, { "value": "shade" }, { "value": "color" }, { "value": "pie" } ] } } } }
Åpne src/settings.ts-filen. Opprett en
VisualCardSettings
klasse med de offentlige egenskapenemethod
,displayName
name
ogslices
som vist i kodeboksen.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]; }
Etter disse trinnene kan du endre egenskapen for visualobjektet.
Til slutt må R-skriptet ha en standardegenskap. Hvis brukeren ikke endrer egenskapsverdien (i dette tilfellet figurinnstillingen), bruker visualobjektet denne verdien.
For R-kjøretidsvariabler for egenskapene er
<objectname>_<propertyname>
navnekonvensjonen i dette tilfelletsettings_method
.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")
Pakke og importere visualobjektet
Nå kan du pakke visualobjektet og importere det til en Hvilken som helst Power BI-rapport.
displayName
Fyll ut , ,supportUrl
description
forfatterensname
ogemail
, og eventuell annen viktig informasjon ipbivis.json
filen.Hvis du vil endre visualobjektikonet i visualiseringsruten, erstatter du icon.png filen i aktivamappen .
Fra rotkatalogen for visualobjektkjøringen:
pbiviz package
Hvis du vil ha mer informasjon om pakking av visualobjektet, kan du se Pakke det egendefinerte visualobjektet
Importer pbiviz-filen for visualobjektet til en Power BI-rapport. Se Importere en visuell fil fra den lokale datamaskinen til Power BI for instruksjoner om hvordan du gjør dette.
Det endelige visualobjektet ser ut som følgende eksempel: