modifying-theme-json について
modifying-theme-jsonは、Power BIレポートのテーマ設計と準拠確認を行うスキルです。書式を統一したいレポートの保守担当者向けで、pbirによる変更、監査、継承、検証の手順を示します。
主な機能
- 01テーマの色とフォントの確認
- 02書式カスケードとビジュアル上書きの追跡
- 03pbirを使ったテーマ変更
- 04テーマとレポート構造の検証
活用シーン
- 01レポート全体の色とフォントの統一
- 02ビジュアルの書式設定元の確認
- 03テーマを置き換えて表示を検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ data-goblin/ power-bi-agentic-development --skill modifying-theme-jsonインストール後、Claude Code で/modifying-theme-jsonを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
examples/DataGoblins2021.jsonFluent2-CY26SU03.jsonexamples/visualTypes/actionButton.mdadvancedSlicerVisual.mdaiNarratives.mdareaChart.mdazureMap.mdbarChart.mdbookmarkNavigator.mdcard.mdcardVisual.mdclusteredBarChart.mdclusteredColumnChart.mdcolumnChart.mddecompositionTreeVisual.mddonutChart.mdfilledMap.mdfilter.mdfunnel.mdgauge.mdgroup.mdhundredPercentStackedAreaChart.mdhundredPercentStackedBarChart.mdhundredPercentStackedColumnChart.mdimage.mdkeyDriversVisual.mdkpi.mdlineChart.mdlineClusteredColumnComboChart.mdlineStackedColumnComboChart.md詳細
Power BI レポートのテーマ
テーマの設計と準拠に関する判断には、このスキルを使用します。コマンドの詳細については、pbir-cli スキルを使用してください。
必須のツール使用ルール
レポートとテーマの変更には、すべて pbir を使用してください。theme.json、visual.json、シリアル化された .Theme フラグメント、その他のレポート JSON を直接編集しないでください。jq、シェルでの置換、JSON 編集スキルに切り替えることも禁止です。pbir に必要な操作がない場合は、そこで中止し、対応していない機能を報告してください。
JSON は pbir cat、pbir get、または読み取り専用の例を通じてのみ読み取ってください。書式のカスケードと使用状況の説明が得られるため、構造化された CLI の検査コマンドを優先してください。
テーマが重要な理由
テーマを使うと、一元管理しなければビジュアル間でばらつきが生じる書式設定をまとめられます。たとえば、次のような繰り返し使用する設定をテーマで管理します。
- データ系列のパレットと、意味を持つ良好/中立/不良の色
- 背景色、前景色、構造色、グラデーション色、ハイパーリンク色、null 色
- フォントファミリー、サイズ、太さ、階層
- タイトル、境界線、パディング、影などのワイルドカード コンテナー既定値
- カード、スライサー、グラフ、テーブル、テキストボックス、画像のビジュアルタイプ既定値
ビジュアルレベルのオーバーライドは、コンテンツ固有の例外や条件付き書式設定にのみ残してください。テーマを優先したレポートは、ブランド変更、差分の確認、保守が容易です。
書式設定のカスケード
Power BI defaults
-> theme wildcard defaults
-> theme visual-type defaults
-> selected style preset
-> visual instance overrides
最後のレイヤーが優先されます。予期しないレンダリングを診断するには、pbir visuals format を使用してください。有効な値とそのソースが報告されます。visual.json を調べたり、修正したりしないでください。
変更前の監査
pbir theme colors "Report.Report"
pbir theme fonts "Report.Report"
pbir color list "Report.Report"
pbir fonts list "Report.Report"
pbir visuals format "Report.Report/Page.Page/Visual.Visual"
pbir bpa run "Report.Report"
ハードコードされた色、ビジュアルレベルで繰り返されるフォントやコンテナーのオーバーライド、一貫性のないビジュアルタイプ、コントラスト不足、過剰なパレットサイズ、ビジュアル間で意味が変わる感情を表す色がないか確認します。
設計ルール
- データパレットは、レポートで実際に必要なカテゴリ数に抑えます。
- 彩度の高いアクセントカラーは、フォーカス、選択、例外、主要な比較に使用します。
- 意味を持つ各色には、変わらない意味を割り当てます。良好、中立、不良、選択済み、無効、ハイパーリンクの各色の役割をページ間で入れ替えないでください。
- 構造色は控えめにします。軸、境界線、グリッド線、背景は、データと競合するのではなく、読み取りを支援する必要があります。
- 移植性の高いフォントファミリーを1つと、小規模な文字サイズ体系を使用します。色を増やすのではなく、サイズと太さで階層を表現します。
- ワイルドカードの既定値、ビジュアルタイプの既定値、まれなインスタンスのオーバーライドの順に優先します。
- アクセシブルなコントラストを保ち、状態の伝達に色相だけを頼らないでください。
pbir で作成する
有効なテンプレートまたはレポートの既存テーマを基にしてください。空のテーマは作成しないでください。
# Apply a known base when requested
pbir theme list-templates
pbir theme apply-template "Report.Report" sqlbi
# Set palette and semantic colors
pbir theme set-colors "Report.Report" \
--data-colors '["#1971C2","#F08C00","#2F9E44","#7048E8"]' \
--good "#2E7D32" --neutral "#6B7280" --bad "#C62828" \
--background "#FFFFFF" --foreground "#252525"
# Set typography by semantic level
pbir theme set-fonts "Report.Report" title --font-face "Segoe UI Semibold" --font-size 14
pbir theme set-fonts "Report.Report" label --font-face "Segoe UI" --font-size 10
pbir theme set-fonts "Report.Report" callout --font-face "Segoe UI Semibold" --font-size 32
# Set repeated formatting at theme level
pbir theme set-formatting "Report.Report" "*.*.dropShadow.show" --value false
pbir theme set-formatting "Report.Report" "*.*.border.show" --value false
pbir theme set-formatting "Report.Report" "card.*.title.fontSize" --value 14
なじみのない書式設定プロパティを作成する前に、pbir schema describe <visualType> <object> を実行してください。
適切なビジュアルをテーマに昇格する
pbir theme push-visual "Report.Report/Page.Page/BestCard.Visual" --dry-run
pbir theme push-visual "Report.Report/Page.Page/BestCard.Visual"
適切にデザインされたインスタンスを、そのビジュアルタイプの既定値にする場合に使用します。コンテンツ固有の書式設定を誤って昇格しないよう、まずドライランを確認してください。
テーマの継承を徹底する
オーバーライドのクリアは破壊的な操作であり、ユーザーの確認が必要です。ユーザーが削除を明示的に希望しない限り、条件付き書式設定を保持してください。
pbir visuals clear-formatting "Report.Report/**/*.Visual" --keep-cf --dry-run -f
pbir visuals clear-formatting "Report.Report/**/*.Visual" --keep-cf -f
pbir theme colors "Report.Report" --normalize
pbir theme colors "Report.Report" --normalize --apply
選択的にクリーンアップする場合は、広範なファイル編集ではなく、pbir visuals clear-formatting --help に記載されているフラグを使用してください。
テーマのコピーまたは置き換え
pbir cp "Source.Report/theme" "Target.Report/theme" -f
pbir theme validate "Target.Report"
テーマを切り替えた後、古いビジュアルオーバーライドをクリアし、残っている色のリテラルを標準化し、前景色と背景色の極性を確認して、テキストが見えなくならないようにします。
検証とレンダリング
一貫したまとまりのある変更を終えたら、信頼性を確認するために次を実行します。
pbir theme validate "Report.Report"
pbir validate "Report.Report" --all
pbir desktop refresh "Report.Report"
pbir desktop screenshot "Report.Report" --all --output-dir screenshots
Desktop の更新ではテーマリソースは再読み込みされません。テーマの変更を評価する前にレポートを閉じて開き直し、その後スクリーンショットを撮影してください。Desktop を利用できない場合は、レンダリングを確認するためにサンドボックスのワークスペースへ公開してよいか、事前に確認してください。
詳細なリファレンス
references/style-presets.md:ビジュアルタイプごとの名前付きスタイルプリセット、デフォルトのプリセット、ビジュアルでのプリセットの選択pbir-cli->references/modifying-theme.md:色、フォント、書式設定、正規化、検証pbir-cli->references/apply-theme.md:テンプレート、コピー、オーバーライドのクリアpbir-cli->references/format-visuals.md:カスケードの確認とプロパティの検出pbi-report-design:レイアウト、色の控えめな使用、階層、アクセシビリティ