power-bi-docs について
Power BI セマンティックモデルの文書化を支援するスキルです。アナリストやモデル管理者向けに、pbi-cli-tool でメタデータ、スキーマ、メジャー、リレーション、TMDL を収集します。
主な機能
- 01モデルのメタデータと統計を収集
- 02テーブル、列、メジャーを一覧化
- 03モデルを TMDL としてエクスポート
- 04カルチャとリレーションを確認
- 05JSON の文書化素材を生成
活用シーン
- 01セマンティックモデルの概要作成
- 02テーブルと列のデータ辞書作成
- 03定義付きメジャーカタログの作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ julianobarbosa/ claude-code-skills --skill power-bi-docsインストール後、Claude Code で/power-bi-docsを入力して読み込まれたか確認します。
詳細
Power BI ドキュメント作成スキル
Power BI セマンティックモデルの包括的なドキュメントを生成します。
前提条件
pipx install pbi-cli-tool
pbi-cli skills install
pbi connect
モデルの概要をすばやく確認
pbi --json model get # Model metadata
pbi --json model stats # Table/measure/column counts
すべてのオブジェクトをカタログ化
# Tables and their structure
pbi --json table list
pbi --json table get Sales
pbi --json table schema Sales
# All measures
pbi --json measure list
# Individual measure details
pbi --json measure get "Total Revenue" --table Sales
# Columns per table
pbi --json column list --table Sales
pbi --json column list --table Products
# Relationships
pbi --json relationship list
# Security roles
pbi --json security-role list
# Hierarchies
pbi --json hierarchy list --table Date
# Calculation groups
pbi --json calc-group list
# Perspectives
pbi --json perspective list
# Named expressions (M queries)
pbi --json expression list
# Partitions
pbi --json partition list --table Sales
# Calendar/date tables
pbi --json calendar list
モデル全体を TMDL としてエクスポート
pbi database export-tmdl ./model-docs/
これにより、モデル全体を人が読みやすいテキスト形式で表現できます。
ワークフロー:モデルドキュメントの生成
ドキュメント作成に必要な情報をすべて収集するには、次のコマンドを実行します。
# Step 1: Model overview
pbi --json model get > model-meta.json
pbi --json model stats > model-stats.json
# Step 2: All tables
pbi --json table list > tables.json
# Step 3: All measures
pbi --json measure list > measures.json
# Step 4: All relationships
pbi --json relationship list > relationships.json
# Step 5: Security roles
pbi --json security-role list > security-roles.json
# Step 6: Column details per table (loop through tables)
pbi --json column list --table Sales > columns-sales.json
pbi --json column list --table Products > columns-products.json
# Step 7: Full TMDL export
pbi database export-tmdl ./tmdl-export/
次に、これらの JSON ファイルを Markdown または HTML のドキュメントにまとめます。
ワークフロー:データディクショナリ
各テーブルの列とその型を抽出します。
# Get schema for key tables
pbi --json table schema Sales
pbi --json table schema Products
pbi --json table schema Calendar
ワークフロー:メジャーカタログ
メジャーの完全な一覧を作成します。
# List all measures with expressions
pbi --json measure list
# Export full model as TMDL (includes all measure definitions)
pbi database export-tmdl ./tmdl-export/
カルチャの管理
多言語モデルの場合:
# List cultures (locales)
pbi --json advanced culture list
# Create a culture for localization
pbi advanced culture create "fr-FR"
# Delete a culture
pbi advanced culture delete "fr-FR"
ベストプラクティス
- 機械可読な出力には、必ず
--jsonフラグを使用します - 完全なドキュメントを作成するため、JSON と併せて TMDL もエクスポートします
- CI/CD パイプラインの一環としてドキュメント生成を実行します
- TMDL エクスポートと併せて、ドキュメントをバージョン管理に保存します
- リレーションシップ図を含めます(
pbi --json relationship listから生成します) - DAX 式だけでなく、メジャーのビジネスロジックも記載します
- 表示フォルダーを使って、メジャーにビジネスドメインのタグを付けます
注意点
measure listは DAX 式を返しますが、表示形式は返しません: 書式文字列、表示フォルダー、説明は別のプロパティに保存されています。メジャーの完全な一覧を取得するには、必ず--json measure listと TMDL エクスポートを併用してください。JSON 表示だけでは、作成者が必要とするメタデータが欠落します。table schemaはスキーマレベルで計算列を無視します: 計算列はcolumn listには表示されますが、table schemaが報告するのはストレージエンジンのスキーマだけです。schemaだけを使ってモデルをドキュメント化すると、計算列が見えなくなります。relationship listは非アクティブなリレーションシップの目的を報告しません:isActive: falseは表示されますが、その理由(USERELATIONSHIP の使用やロールプレイングディメンションなど)は、参照しているメジャーに記載されています。TMDL エクスポート全体からUSERELATIONSHIPを検索し、使用箇所を特定してください。--jsonの出力をファイルにスナップショットすると、接続時点の状態が記録されます: コマンドの実行中にモデルが編集されると、ドキュメントに編集前と編集後の状態が混在します。複数のコマンドでカタログを取得する場合は、すべてを単一のpbi transaction beginでまとめるか、既知のモデルに対してpbi disconnect / connectを実行した後に取得してください。advanced culture listが表示するのはカルチャであり、どの文字列が翻訳されているかではありません: 一覧にカルチャがあっても、すべてのラベルに翻訳があるとは限りません。TMDL エクスポート内のカルチャごとの文字列テーブルを比較し、抜けを見つけてください。expression listには共有パラメーターと完全な M クエリの両方が含まれます: 出力ではどちらも名前付き式として表示されます。パラメーターは単一行のリテラル式にすぎないため、ドキュメントの「データソース」セクションを作成する際に誤分類しやすい点に注意してください。
コメント
Markdown 対応