開発者は、独自の Power BI ビジュアルを作成できます。 これらのビジュアルは、ユーザー、組織、またはサード パーティが使用できます。
この記事は、Power BI 用の R を利用したビジュアルを作成するためのステップ バイ ステップ ガイドです。
このチュートリアルでは、以下の内容を学習します。
- R を利用したビジュアルを作成する
- Power BI Desktop で R スクリプトを編集する
- ビジュアルの依存関係ファイルにライブラリを追加する
- 静的プロパティを追加する
[前提条件]
- Power BI Pro アカウント。 開始する前に、無料試用版にサインアップ してください。
- R エンジン。 Microsoft R Open のダウンロード ページや CRAN リポジトリなど、多くの場所から 1 つを無料でダウンロードできます。 詳細については、「R を 使用して Power BI ビジュアルを作成する」を参照してください。
- Power BI Desktop。
- Windows ユーザーの場合は Windows PowerShell バージョン 4 以降、OSX ユーザーの場合はターミナル。
概要
ビジュアル用のサンプル データを準備します。 これらの値を Excel データベースまたは .csv ファイルに保存し、 Power BI Desktop にインポートできます。
月番号 合計ユニット数 1 2303 2 2319 3 1732 4 1615 5 1427 6 2253 7 1147 八 1515 9 2516 10 3131 11 3170 12 2762 ビジュアルを作成するには、 PowerShell または ターミナルを開き、次のコマンドを実行します。
pbiviz new rVisualSample -t rvisualこのコマンドは、 rVisualSample ビジュアル用の新しいフォルダーを作成します。 この構造は、
rvisualテンプレートに基づいています。 ビジュアルのルート フォルダーに script.r という名前のファイルが作成されます。 このファイルには、ビジュアルのレンダリング時にイメージを生成するために実行される R スクリプトが保持されます。 Power BI Desktop で R スクリプトを作成できます。新しく作成した
rVisualSampleディレクトリから、次のコマンドを実行します。pbiviz startPower BI Desktop で、R スクリプト ビジュアルを選択します。
Values の開発者ビジュアルにデータを割り当てるには、MonthNo と Total units をドラッグします。
[合計ユニット数] の集計の種類を [集計しない] に設定します。
Power BI Desktop の R スクリプト エディターで、次のように入力します。
plot(dataset)このコマンドは、セマンティック モデルの値を入力として使用して散布図を作成します。
[ スクリプトの実行 ] アイコンを選択して結果を表示します。
R スクリプトを編集する
R スクリプトは、他の種類のビジュアルを作成するように変更できます。 次に折れ線グラフを作成しましょう。
次の R コードを 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[ スクリプトの実行 ] アイコンを選択して結果を表示します。
R スクリプトの準備ができたら、ビジュアル プロジェクトのルート ディレクトリにある
script.rファイルにコピーします。capabilities.json ファイルで、
dataRoles:nameをデータセットに変更し、dataViewMappings入力をデータセットに設定します。{ "dataRoles": [ { "displayName": "Values", "kind": "GroupingOrMeasure", "name": "dataset" } ], "dataViewMappings": [ { "scriptResult": { "dataInput": { "table": { "rows": { "select": [ { "for": { "in": "dataset" } } ], "dataReductionAlgorithm": { "top": {} } } } }, ... } } ], }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"; }
ビジュアル パッケージにライブラリを追加する
corrplot パッケージは、相関行列のグラフィカルな表示を作成します。
corrplotの詳細については、「corrplot パッケージの概要」を参照してください。
corrplotライブラリの依存関係をdependencies.jsonファイルに追加します。 ファイルの内容の例を次に示します。{ "cranPackages": [ { "name": "corrplot", "displayName": "corrplot", "url": "https://cran.r-project.org/web/packages/corrplot/" } ] }これで、
script.rファイルで corrplot パッケージの使用を開始できます。library(corrplot) corr <- cor(dataset) corrplot(corr, method="circle", order = "hclust")corrplotパッケージを使用した結果は、次の例のようになります。
プロパティ ウィンドウに静的プロパティを追加する
基本的な corrplot ビジュアルが作成されたので、ユーザーが外観をビジュアルに変更できるようにするプロパティ ウィンドウにプロパティを追加しましょう。
method引数を使用して、データ ポイントの形状を構成します。 既定のスクリプトでは円が使用されます。 ビジュアルを変更して、ユーザーが複数のオプションから選択できるようにします。
capabilities.jsonファイルで
objectと呼ばれるを定義し、次のプロパティを指定します。"settings": { "properties": { "method": { "type": { "enumeration": [ { "value": "circle" }, { "value": "square" }, { "value": "ellipse" }, { "value": "number" }, { "value": "shade" }, { "value": "color" }, { "value": "pie" } ] } } } }src/settings.ts ファイルを開きます。 次のコード ボックスに示すように、パブリック プロパティ
VisualCardSettings、method、name、displayNameを含むslicesクラスを作成します。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]; }これらの手順の後で、ビジュアルのプロパティを変更できます。
最後に、R スクリプトには既定のプロパティが必要です。 ユーザーがプロパティ値 (この場合は図形の設定) を変更しない場合、ビジュアルはこの値を使用します。
プロパティの R ランタイム変数の場合、名前付け規則は
<objectname>_<propertyname>settings_method。次の R スクリプトを実行します。
library(corrplot) corr <- cor(dataset) if (!exists("settings_method")) { settings_method = "circle"; } corrplot(corr, method=settings_method, order = "hclust")
ビジュアルをパッケージ化してインポートする
これで、ビジュアルをパッケージ化し、任意の Power BI レポートにインポートできます。
displayName、supportUrl、description、作成者のnameとemail、およびpbivis.jsonファイル内のその他の重要な情報を入力します。視覚化ウィンドウでビジュアルのアイコンを変更する場合は、assets フォルダー内の icon.png ファイルを置き換えます。
ビジュアル実行のルート ディレクトリから:
pbiviz packageビジュアルのパッケージ化の詳細については、「カスタム ビジュアルのパッケージ化」を参照してください。
ビジュアルの pbiviz ファイルを任意の Power BI レポートにインポートします。 これを行う方法については、「 ローカル コンピューターから Power BI にビジュアル ファイルをインポート する」を参照してください。
最終的なビジュアルは次の例のようになります。