mcpField
P
power-bi-themes

power-bi-themes

github.com/julianobarbosaデザイン・UI1458 回インストール2 日前に更新
リポジトリ

power-bi-themes について

pbi を使うレポート作成者向けに、Power BI のテーマとビジュアル書式を管理するスキルです。Power BI Desktop に接続せず、テーマの確認、比較、適用や条件付き書式を行えます。

主な機能

  1. 01JSON レポートテーマの適用
  2. 02現在のテーマの確認
  3. 03新旧テーマの比較
  4. 04グラデーションとルール形式の設定
  5. 05書式の JSON 表示

活用シーン

  1. 01レポートへのブランドテーマ適用
  2. 02テーマ適用前の変更確認
  3. 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 は現在、ルールを選択して削除する機能に対応していないため、すべてクリアしてから追加し直す必要があります。

コメント