ちまちまとビジュアルごとに設定するのは面倒だし(テーマを使いたい)のと Power BI Desktop を使わなければならないというのは面倒だ(Power BI service だけで完結したい)。
Power BI dataset および Power BI report を Power BI service に展開するには Power BI Desktop が必須ということではないから、できる手段は整えておきたいよね。 Power BI report を追加するだけのために Power BI Desktop を準備する必要はないのだ。多くの場合で、Power BI Desktop を用いたレポートの作成になるのでよいのだけど。
Power BI Desktop 使わなくとも Power BI Service 上に Power BI Dataset をデプロイできるわけだが、よく考えたら Power BI Service で作成した Power BI Report に カスタム テーマを適用する方法がなかったかなと代案を思案など。レポートのクローンでできるかな🤔 #PBIJP
— Takeshi Kagata / Power Platform 部 Power BI 科 🛌💤 (@PowerBIxyz) July 1, 2021
Themes can only be applied when using Power BI Desktop. You cannot apply themes to existing reports within the Power BI service.
レポートのテーマ適用は Power BI Desktop でやってねということだ。
- 仕方がない(終了)
- 代替案を考える(👈いまここ)
テンプレートになるレポートを用意しておく
テンプレートになるレポートを Power BI service に用意しておく。このレポートを共有することはあまりないから、マイワークスペースにでもおいておこうか。
あらかじめレポートのテーマを適用しておけばよいし、利用するデータモデルがわかっているのであれば、ビジュアルを配置しておいてもよいよね。
ここは Power BI Desktop を使うしかない。テンプレートを追加していくには、テンプレートのデータセットにライブ接続するレポートを作ればよい。で、ワークスペース(ここでは マイワークスペース)にデプロイしておく。するとこうなる。
レポートをコピーする
Power BI service 上でも レポートをコピーできるけれども、紐づくデータセットを変更する機能がない。とはいえ、Power BI Rest API にはそれがある。なのでこれを使う。
で、PowerShell で十分でしょ。
Login-PowerBI | Out-Null
$NewReportName = 'NewReportWithInovation'
$TempleteReportName = 'Inovation'
$TargetWorkspaceName = 'Rogue team'
$TargetDatasetName = 'NorthwindJ'
$TempleteReport = Get-PowerBIReport -Name $TempleteReportName
$TargetWorkspace = Get-PowerBIWorkspace -Name $TargetWorkspaceName
$TargetDataset = Get-PowerBIDataset `
-Workspace $TargetWorkspace `
-Name $TargetDatasetName
Copy-PowerBIReport `
-Name $NewReportName `
-Report $TempleteReport `
-Workspace $TargetWorkspace `
-TargetDatasetId ($TargetDataset.Id)
コピーしたレポートを更新するなど
あとはお好みで
思ったこと🙄
できないことはできるようにしてしまえばよい。多くの場合で手段はすでに用意されている。
OneDrive for Business でテンプレートレポートを管理してもよいかなと。
その他