メイン コンテンツにスキップする

Power BI:CDF データ モデルからデータを取得する

Cognite Data Fusion(CDF)データ モデルをデータ ソースとして接続し、Power BI を使って CDF データを照会、変換、可視化します。

情報

組織の ID でサインインして CDF からデータを取得する前に、管理者が Microsoft Power Query for Excel を登録し、組織が使用することに同意する必要があります。

データ モデル内のデータにアクセスするには、プロジェクトまたはスペース レベルで以下の機能が必要です: dataModelsAcl:readdataModelInstancesAcl:read

データ モデルへのアクセスを設定するを参照してください。

時系列やファイルなどの CDF コア要素のメタデータにアクセスするには、プロジェクトまたはデータ セット レベルでその要素にアクセスできる必要があります。機能を割り当てるを参照してください。

Power BI connector をデータ モデルに接続する

  1. 始める前に:Cognite Power BI connector を使用してデータ モデルに接続するには、データ モデルの名前とバージョン、およびそれが使用されている CDF プロジェクトを知っている必要があります。情報を見つけるには、以下の手順に従います。

    1. fusion.cognite.com に移動し、CDF プロジェクトにサインインし、調査 > データのモデル化に移動します。

    2. データ モデルを選択し、Power BI ボタンを選択します。

    3. ダイアログボックスで、プロジェクト名CDF 環境コピーしてメモします。

      Power BI connector の設定を取得する
  2. Power BI Desktop を開き、組織のアカウントでサインインします。

  3. リボンのホームタブでデータの取得を選択し、その他を選択します。次に、データの取得ダイアログ ボックスでその他Cognite Data Fusion コネクタを選択します。

    データの取得
  4. プロジェクト名フィールドと CDF: 環境フィールドに、データ モデルと CDF プロジェクトについてメモした情報を入力します。

    **オプション:**特定の Microsoft Entra ID (旧 Azure Active Directory) テナント ID でサインインするには、プロジェクト名の URI に以下の形式で tenantid={tenantId} パラメーターを追加します。

    {projectName}/models/spaces/{space}/datamodels/{datamodel}/versions/{version}?tenantid={tenantId}

    • ここで、{tenantId} は使用する Microsoft Entra ID テナントの GUID で、たとえば d1ce9074-3079-488a-9a2d-f0522babd7a9 です。

    Microsoft Entra ID のテナント ID を調べるには、管理者に連絡するか、こちらの記事の手順に従ってください。

  5. 認証ダイアログで、組織のアカウントを選択し、組織の ID でサインインします。

    認証
  6. Power BI connector は、選択したデータ モデルのすべてのタイプを一覧表示します。

    データ モデルの各 TypePower BI のテーブルとして表示され、各タイプの Instance は行として表示されます。

  7. テーブル(タイプ)を選択し、データを変換するを選択します。

    注意

    テーブルには多数のエントリが含まれている場合があります。すべてのエントリをロードする場合以外は、ロードを選択しないでください。

    ナビゲーター
  8. これで、Power Query Editor でデータを変換できるようになりました。

    データセットを制限するには、たとえば、行の保持 > 上位の行を保持を選択し、保持する行数を指定します。

    ナビゲーター

    結果の値を Power BI にロードするには、閉じて適用するを選択します。

情報

Power BI を使用すると、関連項目を展開してテーブルをフラットにすることができます。パフォーマンスに大きな悪影響を及ぼす可能性があるため、この機能は使用しないことをお勧めします。

データ モデルでアイテムをフィルタリングする

Power BI で実用的なデータセットを作成するには、フィルタリングが不可欠です。フィルタリングは、Power BI レポート / ダッシュボードではなく、Power Query で適用することをお勧めします。これにより、パフォーマンスが向上し、再利用可能なデータ セットでの作業が容易になります。

Power BI Connector は、Cognite OData Service を介して CDF にフィルターをプッシュします。CDF はフィルタリングを実行し、一致する行だけを Power BI に返します。Power BICDF データをフィルタリングするも参照してください。

Data modeling のプッシュダウン フィルター

タイププッシュダウン
モデル プロパティはい、EndsWithContains を除きます
時系列メタデータいいえ
データと文字列のポイントtimestamp のみ
ファイル メタデータいいえ

Power Query はメモリ内で EndsWithContains の文字列フィルタリング操作を実行します。

JSONObjectsPower BI のテキスト値として表示されます。

時系列とデータ ポイントの操作

データ モデリングは、データ モデルから Timeseries を取得する操作をサポートしています。特定の時系列のデータ ポイントを取得するために、string- または dataPoints に移動できます。時間範囲からデータ ポイントを取得するには、タイムスタンプ値でデータ ポイントをフィルタリングします。CDF は値による時系列のフィルタリングをサポートしていません。

時系列は非常に粒度の高いデータを含むことができます。パフォーマンスを向上させ、 データ負荷を軽減するには、単一の時系列の集計を取得すると同様に、CDF dataPoint Aggregate 関数を使用できます。

Power BI は、Unix Epoch のタイムスタンプ値を UTC DateTime の値に自動的に変換します。

時系列から直近 2 日間のデータを表示する可視化を作成するには、Time Seriesaggregate 関数を使用することをお勧めします。Power Query を使用すると、データ セットが更新されるたびに更新される動的な値を指定できます。たとえば、DateTimeZone.UtcNow() Power Query 関数は常に 現在の日付と時刻を UTC 時間で返します。Date.AddDays のような Date.AddX 関数と組み合わせることで、集計関数呼び出しとして CDF までプッシュ ダウンするクエリのダイナミック レンジを作ることができ、結果的にデータの更新が早くなります。

関数パラメータのフィルターとして日付を使用する場合は、PowerQuery DateTimeZone タイプを使用します。

詳細情報:

サインインしたユーザーを変更する

サインインすると、Power BI はデータ ソース資格情報を保存します。データ モデルへのアクセスに別のユーザーを使用する場合は、保存されているデータ ソースのサインイン資格情報を削除できます。

  1. Power BI Desktop で、ファイル > オプションと設定 > データ ソース設定を開きます。
  2. データ ソースのサインイン資格情報を編集または削除します。