Power BI で Copilot のセマンティック モデルを最適化する

適用対象: Power BI Desktop Power BI サービス

セマンティック モデルで Copilot を使用する前に、データを評価します。 Copilotが分析情報を得ることができるように、セマンティック モデルをクリーンアップする必要がある場合があります。

次の要件に留意してください。

Copilot使用のためのセマンティック モデルに関する考慮事項

次の表の条件を使用して、 Copilot を使用して正確なレポートを作成できます。 これらの推奨事項は、正確なPower BI レポートを生成するのに役立ちます。

モデル構造

要素 考慮事項 説明 適用する場所
テーブルリンク操作 明確なリレーションシップを定義する テーブル間のすべてのリレーションシップを明確に定義し、それらが論理的であることを確認します。 どのリレーションシップが一対多、多対一、または多対多であるかを示してください。 モデル ビューで、[リレーションシップの管理] を選択します。 Date[DateID]からSales[DateID]への一対多リレーションシップを作成し、リレーションシップがアクティブであることを確認します。
ファクト テーブル 明確な区分 測定可能で定量的な分析用データを保持するファクト テーブルを明確に示します。 テーブルのプロパティとデータ モデルの構造 テーブルにファクト テーブルとして明示的に名前を付けます( FactSalesFactTransactionsFactVisits)。
次元テーブル 支援的な説明データ ファクト テーブル内の定量的メジャーに関連する記述属性を含むディメンション テーブルを作成します。 テーブルのプロパティとデータ モデルの構造 属性 (DimProductProductNameCategory) を持つBrandや、属性 (DimCustomerCustomerNameCity) を持つSegmentなどのディメンション テーブルを作成します。
Hierarchies (階層) 論理グループ化 特にレポートのドリルダウンをサポートするディメンション テーブルの場合は、データ内に明確な階層を確立します。 テーブルのコンテキスト メニューで、[新しい階層] を選択します。 Dateテーブルで、階層 (Year>Quarter>Month>Day) を作成します。 Geographyテーブル: Country/Region>State>City
関係タイプ 明確に指定 正確なレポートが確実に生成されるように、リレーションシップの性質 (アクティブまたは非アクティブ) とそのカーディナリティを明確に指定します。 [リレーションシップのプロパティ] ダイアログ Dateを多対一 (アクティブ) としてSalesに設定し、Productを多対一 (アクティブ) としてSalesし、必要に応じてロールプレイングリレーションシップを非アクティブとしてマークします。

指標とKPI

要素 考慮事項 説明 適用する場所
対策 標準化された計算ロジック 説明と理解が容易な標準化された明確な計算ロジックをメジャーに提供します。 測定定義と説明プロパティ DAX の測定: Total Sales = SUM(Sales[SaleAmount]) し、「すべての売上金額の合計」という説明を追加します。
対策 名前付け規則 計算方法と目的を明確に表す指標名を付けてください。 メジャーを作成するときのメジャー名フィールド Average Customer Ratingという省略形ではなく、わかりやすい名前のAvgRatingを使用します。
対策 定義済みの尺度 ユーザーがレポート内で要求する可能性が最も高い定義済みのメジャーのセットを含めます。 ユーザーが一般的に必要とする計算式をモデルに作成する YTD Sales = TOTALYTD(SUM(Sales[SaleAmount]), 'Date'[Date])MoM Growth = DIVIDE([This Month Sales] - [Last Month Sales], [Last Month Sales])などの対策を追加します。
主要業績評価指標 (KPI) 定義済みで関連性の高い ビジネス コンテキストに関連し、レポートに頻繁に表示される KPI のセットを確立します。 一般的に監視される KPI の対策を作成する ROI = DIVIDE([Profit], [Investment])CAC = DIVIDE([Marketing Spend], [New Customers])LTV = [Avg Order Value] * [Purchase Frequency] * [Customer Lifespan]などのメジャーを定義します。

列とデータの品質

要素 考慮事項 説明 適用する場所
列名 明確なラベル 列名を明確にし、わかりやすいものにします。 コンテキストなしでさらに参照する必要がある ID またはコードは避けてください。 Power Query エディターまたはモデル ビューで列の名前を変更する 列の名前を ProdID から Product ID または Product Nameに変更し、 CustNo から Customer Numberに変更します。
列のデータ型 正しく一貫性のあるもの すべてのテーブルの列に正しく一貫性のあるデータ型を適用して、メジャーが正しく計算されるようにし、適切な並べ替えとフィルター処理を可能にします。 列のプロパティで、 データ型を設定する Sales[SaleAmount]が 10 進数 (テキストではなく)、Date[Date]が日付 (テキストではない)、Product[ProductID]が整数であることを確認します。
データの一貫性 標準化された値 フィルターおよびレポートでの一貫性を確保するために、列内では標準化した値を維持します。 検索と置換、または Power Query 変換を使用する。 Status列では、すべての値で一貫した大文字と小文字の区別が使用されていることを確認します(OpenClosedPending (openCLOSEDなど、大文字と小文字が混在しません)。

更新、セキュリティ、およびメタデータ

要素 考慮事項 説明 適用する場所
スケジュールを更新する 透過的でスケジュールされた データの更新スケジュールを明確に伝えて、分析しているデータのタイムラインをユーザーが確実に理解できるようにします。 データセットの設定とドキュメント "データは毎日午前 6 時 (UTC) に更新されます"、または "15 分間の増分更新によるリアルタイム データ" というテキスト ボックスまたは説明を追加します。
セキュリティ ロール レベルの定義 一部のユーザーにしか表示すべきでない機密性の高い要素がある場合は、さまざまなレベルのデータ アクセス用にセキュリティ ロールを定義します。 モデル ビューで、[ロールの管理] を選択します ロール "営業チーム" をフィルター Sales[Region] = USERNAME() で作成し、ロール "HR" は従業員データテーブル用のフィルターを使用して作成します。
メタデータ 構造のドキュメント 参考までに、テーブル、列、リレーションシップ、メジャーなど、データ モデルの構造を文書化します。 説明プロパティと外部ドキュメントを使用する テーブルと列に説明を追加します。 モデル ダイアグラム、データ ディクショナリ、メジャー カタログを使用して別のドキュメントを作成します。

DAX クエリに関する考慮事項

次の表に、Copilotを使用して正確なデータ分析式 (DAX) クエリを作成するのに役立つその他の条件を示します。 これらの推奨事項は、正確な DAX クエリを生成するのに役立ちます。

要素 考慮事項 説明 適用する場所
メジャー、テーブル、列 説明 description プロパティで、各要素とその使用方法を定義します。 Copilot は最初の 200 文字のみを使用します。 [プロパティ] ウィンドウのメジャー、テーブル、列の [説明] フィールド メジャー [YOY Sales]の場合は、「受注の前年比 (YOY) の差」という説明を追加します。 'Date'[Year] 列と共に使用して、最新の年以外の年別に表示します。 一部の年は、前年の同じ期間と比較されます。
計算グループ 説明 モデルメタデータには計算項目は含まれません。 計算グループ列の説明を使用して、計算項目の一覧と使用方法を説明します。 Copilot は最初の 200 文字のみを使用します。 計算グループ列の [プロパティ] ウィンドウ タイム インテリジェンス サンプル計算グループ列の場合は、「現在: 現在の値、MTD: 月次累計、QTD: 四半期累計、YTD: 年初来、PY: 前年、PY MTD、PY QTD、YOY: 前年比、YOY%: YOY を %として使用する」という説明を追加します。メジャー テーブルの場合は、「メジャーはデータを集計するために使用されます。」を追加します。 これらの指標は、CALCULATE([Measure Name], Time intelligence[Time calculation] = YOY) という構文を使用して、年次比較として表示できます。