Power BI:CDF データ モデルからデータを取得する
Cognite Data Fusion(CDF)データ モデルをデータ ソースとして接続 し、Power BI を使って CDF データを照会、変換、可視化します。
組織の ID でサインインして CDF からデータを取得する前に、管理者が Microsoft Power Query for Excel を登録し、組織が使用することに同意する必要があります。
データ モデル内のデータにアクセスするには、プロジェクトまたはスペース レベルで以下の機能が必要です: dataModelsAcl:read
、dataModelInstancesAcl:read
。
データ モデルへのアクセスを設定するを参照してください。
時系列やファイルなどの CDF コア要素のメタデータにアクセスするには、プロジェクトまたはデータ セット レベルでその要素にアクセスできる必要があります。機能を割り当てるを参照してください。
Power BI connector をデータ モデルに接続する
-
始める前に:
Cognite Power BI connectorを使用してデータ モデルに接続するには、データ モデルの 名前とバージョン、およびそれが使用されているCDFプロジェクトを知っている必要があります。情報を見つけるには、以下の手順に従います。-
fusion.cognite.com に移動し、
CDFプロジェクトにサインインし、データ管理 > 調査 > データ モデルに移動します。 -
データ モデルを選択し、接続 > Power BI を選択します。
-
ダイアログボックスで、プロジェクト名と CDF 環境をコピーしてメモします。
-
-
Power BI Desktopを開き、組織のアカウントでサインインします。 -
リボンのホームタブでデータの取得を選択し、その他を選択します。次に、データの取得ダイアログ ボックスでその他と Cognite Data Fusion コネクタを選択します。
-
データ モデルと
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 を調べるには、管理者に連絡するか、こちらの記事の手順に従ってください。
- ここで、
-
認証ダイアログで、組織のアカウントを選択し、組織の ID でサインインします。
-
Power BIconnector は、選択したデータ モデルのすべてのタイプを一覧表示します。データ モデルの各
Type
はPower BIのテーブルとして表示され、各タイプのInstance
は行として表示されます。 -
テーブル(タイプ)を選択し、データを変換するを選択します。
注意テーブルには多数のエントリが含まれている場合があります。すべてのエントリをロードする場合以外は、ロードを選択しないでください。
-
これで、
Power Query Editorでデータを変換できるようになりました。データセットを制限するには、たとえば、行の保持 > 上位の行を保持を選択し、保持する行数を指定します。
結果の値を
Power BIにロードするには、閉じて適用するを選択します。
Power BI を使用すると、関連項目を展開してテーブルをフラットにすることができます。パフォーマンスに大きな悪影響を及ぼす可能性があるため、この機 能は使用しないことをお勧めします。
space
または externalId
に特殊文字 ! * ' ( ) ; : @ & = + $ ,
が含まれていると、Power BI が CDF からデータを正常に読み取れない場合があります。
英数字と特殊文字 - _ . ~
は問題なく使用できます。
データ モデルでアイテムをフィルタリングする
Power BI で実用的なデータセットを作成するには、フィルタリングが不可欠です。フィルタリングは、Power BI レポート / ダッシュボードではなく、Power Query で適用することをお勧めします。これにより、パフォーマンスが向上し、再利用可能なデータ セットでの作業が容易になります。
Power BI Connector は、Cognite OData Service を介して CDF にフィルターをプッシュします。CDF はフィルタリングを実行し、一致する行だけを Power BI に返します。Power BI で CDF データをフィルタリングするも参照してください。
Data modeling のプッシュダウン フィルター
タイプ | プッシュダウン |
---|---|
モデル プロパティ | はい、EndsWith と Contains を除きます |
時系列メタデータ | いいえ |
データと文字列のポイント | timestamp のみ |
ファイル メタデータ | いいえ |
Power Query はメモリ内で EndsWith
と Contains
の文字列フィルタリング操作を実行します。
JSONObjects
は Power BI のテキスト値として表示されます。
時系列とデータ ポイントの操作
データ モデリングは、データ モデルから Timeseries
を取得する操作をサポートしています。特定の時系列のデータ ポイントを取得するために、string-
または dataPoints
に移動できます。時間範囲からデータ ポイントを取得するには、タイムスタンプ値でデータ ポイントをフィルタリングします。CDF は値による時系列のフィルタリングをサポートしていません。
時系列は非常に粒度の高いデータを含むことができます。パフォーマンスを改善し、
データ負荷を軽減するには、CDF dataPoint
Aggregate
関数を使用できます(単一の時系列の集計を取得する と同様)。
Power BI は、Unix Epoch のタイムスタンプ値を UTC DateTime の値に自動的に変換します。
時系列から直近 2 日間のデータを表示する可視化を作成するには、Time Series
に aggregate
関数を使用することをお勧めします。Power Query を使用すると、データ セットが更新されるたびに更新される動的な値を指定できます。たとえば、DateTimeZone.UtcNow()
Power Query 関数は常に
現在の日付と時刻を UTC 時間で返します。Date.AddDays
のような Date.AddX
関数と組み合わせることで、集計関数呼び出しとして CDF までプッシュ ダウンするクエリのダイナミック レンジを作ることができ、結果的にデータの更新が早くなります。
関数パラメータのフィルターとして日付を使用する場合は、PowerQuery DateTimeZone
タイプを使用します。
詳細情報:
サインインしたユーザーを変更する
サインインすると、Power BI はデータ ソース資格情報を保存します。データ モデルへのアクセスに別のユーザーを使用する場合は、保存されているデータ ソースのサインイン資格情報を削除できます。
Power BI Desktopで、ファイル > オプションと設定 > データ ソース設定を開きます。- データ ソースのサインイン資格情報を編集または削除します。