mcpField
P
power-bi-docs

power-bi-docs

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

power-bi-docs について

Power BI セマンティックモデルの文書化を支援するスキルです。アナリストやモデル管理者向けに、pbi-cli-tool でメタデータ、スキーマ、メジャー、リレーション、TMDL を収集します。

主な機能

  1. 01モデルのメタデータと統計を収集
  2. 02テーブル、列、メジャーを一覧化
  3. 03モデルを TMDL としてエクスポート
  4. 04カルチャとリレーションを確認
  5. 05JSON の文書化素材を生成

活用シーン

  1. 01セマンティックモデルの概要作成
  2. 02テーブルと列のデータ辞書作成
  3. 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 クエリの両方が含まれます: 出力ではどちらも名前付き式として表示されます。パラメーターは単一行のリテラル式にすぎないため、ドキュメントの「データソース」セクションを作成する際に誤分類しやすい点に注意してください。

コメント