power-bi-themes について
pbi を使うレポート作成者向けに、Power BI のテーマとビジュアル書式を管理するスキルです。Power BI Desktop に接続せず、テーマの確認、比較、適用や条件付き書式を行えます。
主な機能
- 01JSON レポートテーマの適用
- 02現在のテーマの確認
- 03新旧テーマの比較
- 04グラデーションとルール形式の設定
- 05書式の JSON 表示
活用シーン
- 01レポートへのブランドテーマ適用
- 02テーマ適用前の変更確認
- 03データ値に応じたビジュアル書式設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ julianobarbosa/ claude-code-skills --skill power-bi-themesインストール後、Claude Code で/power-bi-themesを入力して読み込まれたか確認します。
詳細
Power BI テーマスキル
レポート全体のテーマと、ビジュアルごとの条件付き書式を管理します。Power BI Desktop への接続は不要です。
テーマを適用する
Power BI のテーマは、レポート全体の色、フォント、ビジュアルの既定値を定義する JSON ファイルです。次のコマンドで適用します。
pbi report set-theme --file corporate-theme.json
テーマファイルをレポートの StaticResources/RegisteredResources/
フォルダーにコピーし、report.json を更新してテーマを参照するようにします。テーマは、レポートを Power BI Desktop で開くと反映されます。
現在のテーマを確認する
pbi report get-theme
次の情報が返されます。
base_theme— 組み込みテーマの名前(例:"CY24SU06")custom_theme— カスタムテーマが適用されている場合、その名前(適用されていない場合はnull)theme_data— カスタムテーマファイルが存在する場合、その JSON 全体
テーマを比較する
新しいテーマを適用する前に、変更内容をプレビューします。
pbi report diff-theme --file proposed-theme.json
次の情報が返されます。
current/proposed— 表示名added—proposedにあり、currentにはないキーremoved—currentにあり、proposedにはないキーchanged— 両方に存在するものの、値が異なるキー
これにより、確定する前に意図しない色の変更を検出できます。
テーマ JSON の構造
Power BI のテーマ JSON ファイルには、通常、次の内容が含まれます。
{
"name": "Corporate Brand",
"dataColors": ["#0078D4", "#00BCF2", "#FFB900", "#D83B01", "#8661C5", "#00B294"],
"background": "#FFFFFF",
"foreground": "#252423",
"tableAccent": "#0078D4",
"visualStyles": { ... }
}
主なセクション:
dataColors— データ系列のパレット(色は6~12色を推奨)background/foreground— ページとテキストの既定値tableAccent— テーブルとマトリックスのヘッダー色visualStyles— ビジュアルの種類ごとの上書き設定(フォントサイズ、パディングなど)
スキーマ全体については、Microsoft のテーマに関するドキュメントをご覧ください。
条件付き書式
データに基づく書式を個々のビジュアルに適用します。
# Gradient background (colour scale from min to max)
pbi format background-gradient visual_abc --page page1 \
--table Sales --column Revenue \
--min-color "#FFFFFF" --max-color "#0078D4"
# Rules-based background (specific value triggers a colour)
pbi format background-conditional visual_abc --page page1 \
--table Sales --column Status --value "Critical" --color "#FF0000"
# Measure-driven background (a DAX measure returns the colour)
pbi format background-measure visual_abc --page page1 \
--table Sales --measure "Status Color"
# Inspect current formatting rules
pbi format get visual_abc --page page1
# Clear all formatting rules on a visual
pbi format clear visual_abc --page page1
ワークフロー:レポートにブランドを適用する
# 1. Create the theme file
cat > brand-theme.json << 'EOF'
{
"name": "Acme Corp",
"dataColors": ["#1B365D", "#5B8DB8", "#E87722", "#00A3E0", "#6D2077", "#43B02A"],
"background": "#F8F8F8",
"foreground": "#1B365D",
"tableAccent": "#1B365D"
}
EOF
# 2. Preview the diff against the current theme
pbi report diff-theme --file brand-theme.json
# 3. Apply it
pbi report set-theme --file brand-theme.json
# 4. Verify
pbi report get-theme
JSON 出力
pbi --json report get-theme
pbi --json report diff-theme --file proposed.json
pbi --json format get vis1 --page p1
注意点
- テーマ JSON のキーは大文字と小文字を区別し、一部はドキュメント化されていません:
dataColorsやvisualStylesのキーを1つでも間違えると、エラーは表示されず、そのプロパティはテーマではなく既定値にフォールバックします。「テーマが適用されない」問題のトラブルシューティングを行う前に、正常に動作するテーマ JSON と差分を比較してください。 dataColors配列の順序は系列名ではなく、系列の序数に対応します: 系列名を変更したり、凡例の順序を変えたりすると、色の割り当ても変わります。系列ごとにブランドカラーを固定するには、配列の位置ではなく、visualStylesのメジャーレベルの色ルールを使用してください。set-theme --fileはコマンド実行時にファイルをコピーします: コピー元のcorporate-theme.jsonを後から編集しても、レポートには反映されません。反映するにはset-themeを再実行する必要があります。CI パイプラインでは、最新バージョンを反映するため、ビルドのたびにテーマを再適用してください。diff-themeでは、キーの欠落によるリグレッションを検出できません: 提案されたテーマからキーを削除すると、removedに表示されますが、Power BI の実行時には「既定値にフォールバック」として扱われます。そのため、見た目上はキーの欠落ではなく、テーマの不具合のように見えます。format background-measureによる条件付き書式では、色メジャーが有効な16進数の文字列または名前付き色を返す必要があります: 数値または空白を返すと、エラーは表示されず、「書式が適用されない」状態になります。安全にフォールバックするには、メジャーの戻り値をIFERROR(..., "#FFFFFF")で囲んでください。format clearは、ビジュアルの背景だけでなく、すべての書式ルールを削除します: フォント、データラベル、条件付きタイトルのルールも削除されます。CLI は現在、ルールを選択して削除する機能に対応していないため、すべてクリアしてから追加し直す必要があります。
コメント
Markdown 対応