Självstudie: Skapa ett R-baserat visuellt Power BI-objekt
Som utvecklare kan du skapa egna visuella Power BI-objekt. Dessa visuella objekt kan användas av dig, din organisation eller av tredje part.
Den här artikeln är en stegvis guide för att skapa ett R-baserat visuellt objekt för Power BI.
I den här självstudien lär du dig att:
- Skapa ett R-baserat visuellt objekt
- Redigera R-skriptet i Power BI Desktop
- Lägga till bibliotek i beroendefilen för det visuella objektet
- Lägga till en statisk egenskap
Förutsättningar
- Ett Power BI Pro-konto . Registrera dig för en kostnadsfri utvärderingsversion innan du börjar.
- En R-motor. Du kan ladda ned en kostnadsfri fil från många platser, inklusive nedladdningssidan för Microsoft R Open och CRAN-lagringsplatsen. Mer information finns i Skapa visuella Power BI-objekt med R.
- Power BI Desktop.
- Windows PowerShell version 4 eller senare för Windows-användare eller terminalen för OSX-användare.
Kom igång
Förbered några exempeldata för det visuella objektet. Du kan spara dessa värden i en Excel-databas eller en .csv fil och importera dem till Power BI Desktop.
Månadsnr Enheter totalt 1 2303 2 2319 3 1732 4 1615 5 1427 6 2253 7 1147 8 1515 9 2516 10 3131 11 3170 12 2762 Om du vill skapa ett visuellt objekt öppnar du PowerShell eller Terminal och kör följande kommando:
pbiviz new rVisualSample -t rvisual
Det här kommandot skapar en ny mapp för det visuella rVisualSample-objektet . Strukturen baseras på mallen
rvisual
. Den skapar en fil med namnet script.r i rotmappen för det visuella objektet. Den här filen innehåller R-skriptet som körs för att generera avbildningen när det visuella objektet återges. Du kan skapa ditt R-skript i Power BI Desktop.Kör följande kommando från den nyligen skapade
rVisualSample
katalogen:pbiviz start
I Power BI Desktop väljer du visuellt R-skript:
Tilldela data till det visuella utvecklarobjektet genom att dra MonthNo - och Total-enheter till Värden för det visuella objektet.
Ange aggregeringstyp för Totalt antal enheter till Sammanfatta inte.
Från R-skriptredigeraren i Power BI Desktop skriver du följande:
plot(dataset)
Det här kommandot skapar ett punktdiagram med värdena i semantikmodellen som indata.
Välj ikonen Kör skript för att se resultatet.
Redigera R-skriptet
R-skriptet kan ändras för att skapa andra typer av visuella objekt. Nu ska vi skapa ett linjediagram.
Klistra in följande R-kod i R-skriptredigeraren.
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
Välj ikonen Kör skript för att se resultatet.
När R-skriptet är klart kopierar du det till
script.r
filen som finns i rotkatalogen för ditt visuella projekt.I filen capabilities.json ändrar du
dataRoles
:name
till datauppsättning och angerdataViewMappings
indata till datauppsättning.{ "dataRoles": [ { "displayName": "Values", "kind": "GroupingOrMeasure", "name": "dataset" } ], "dataViewMappings": [ { "scriptResult": { "dataInput": { "table": { "rows": { "select": [ { "for": { "in": "dataset" } } ], "dataReductionAlgorithm": { "top": {} } } } }, ... } } ], }
Lägg till följande kod som stöd för storleksändring av avbildningen 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"; }
Lägga till bibliotek i det visuella paketet
Paketet corrplot
skapar en grafisk visning av en korrelationsmatris. Mer information om corrplot
finns i En introduktion till corrplot-paket.
Lägg till biblioteksberoendet
corrplot
idependencies.json
filen. Här är ett exempel på filinnehållet:{ "cranPackages": [ { "name": "corrplot", "displayName": "corrplot", "url": "https://cran.r-project.org/web/packages/corrplot/" } ] }
Nu kan du börja använda corrplot-paketet i
script.r
filen.library(corrplot) corr <- cor(dataset) corrplot(corr, method="circle", order = "hclust")
Resultatet av att använda
corrplot
paketet ser ut så här:
Lägga till en statisk egenskap i egenskapsfönstret
Nu när vi har ett grundläggande corrplot
visuellt objekt ska vi lägga till egenskaper i egenskapsfönstret som gör att användaren kan ändra utseendet och känslan i det visuella objektet.
Vi använder method
argumentet för att konfigurera formen på datapunkterna. Standardskriptet använder en cirkel. Ändra ditt visuella objekt så att användaren kan välja mellan flera alternativ.
Definiera en
object
anropad inställning i filen capabilities.json och ge den följande egenskaper."settings": { "properties": { "method": { "type": { "enumeration": [ { "value": "circle" }, { "value": "square" }, { "value": "ellipse" }, { "value": "number" }, { "value": "shade" }, { "value": "color" }, { "value": "pie" } ] } } } }
Öppna filen src/settings.ts. Skapa en
VisualCardSettings
klass med de offentliga egenskapernamethod
,name
ochdisplayName
slices
som visas i kodrutans bälg.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 de här stegen kan du ändra egenskapen för det visuella objektet.
Slutligen måste R-skriptet ha en standardegenskap. Om användaren inte ändrar egenskapsvärdet (i det här fallet forminställningen) använder det visuella objektet det här värdet.
För R-körningsvariabler för egenskaperna är
<objectname>_<propertyname>
namngivningskonventionen , i det här falletsettings_method
.Kör följande R-skript:
library(corrplot) corr <- cor(dataset) if (!exists("settings_method")) { settings_method = "circle"; } corrplot(corr, method=settings_method, order = "hclust")
Paketera och importera ditt visuella objekt
Nu kan du paketera det visuella objektet och importera det till valfri Power BI-rapport.
Fyll i , , , författare och
name
email
, och annan viktig information ipbivis.json
filen.description
supportUrl
displayName
Om du vill ändra ikonen för det visuella objektet i visualiseringsfönstret ersätter du filen icon.png i mappen assets .
Från rotkatalogen för din visuella körning:
pbiviz package
Mer information om hur du paketerar ditt visuella objekt finns i Paketera det anpassade visuella objektet
Importera det visuella objektets pbiviz-fil till valfri Power BI-rapport. Se Importera en visuell fil från din lokala dator till Power BI för instruktioner om hur du gör detta.
Det slutliga visuella objektet ser ut som i följande exempel: