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プロジェクトについてメモした情報を入力します。オプション:特定の Azure AD テナント ID でサインインするには、プロジェクト名の URI に以下の形式で
tenantid={tenantId}
パラメータを追加します。{projectName}/models/spaces/{space}/datamodels/{datamodel}/versions/{version}?tenantid={tenantId}
- ここで、
{tenantId}
は使用する Azure AD テナントの GUID で、たとえばd1ce9074-3079-488a-9a2d-f0522babd7a9
です。
Azure AD のテナント ID を調べるには、管理者に連絡するか、こちらの記事の手順に従ってください。
- ここで、
認証ダイアログで、組織のアカウントを選択し、組織の ID でサインインします。
Power BIconnector は、選択したデータ モデルのすべてのタイプを一覧表示します。データ モデルの各
Type
はPower BIのテーブルとして表示され、各タイプのInstance
は行として表示されます。テーブル(タイプ)を選択し、データを変換するを選択します。
注意テーブルには多数のエントリが含まれている場合があります。すべてのエントリをロードする場合以外は、ロードを選択しないでください。
これで、
Power Query Editorでデータを変換できるようになりました。データセットを制限するには、たとえば、行の保持 > 上位の行を保持を選択し、保持する行数を指定します。
結果の値を
Power BIにロードするには、閉じて適用するを選択します。
Power BI を使用すると、関連項目を展開してテーブルをフラットにすることができます。パフォーマンスに大きな悪影響を及ぼす可能性があるため、この機能は使用しないことをお勧めします。
データ モデルでアイテムをフィルタリングする
Power BI で実用的なデータセットを作成するには、フィルタリングが不可欠です。フィルタリングは、Power BI レポート / ダッシュボードではなく、Power Query で適用することをお勧めします。これにより、パフォーマンスが向上し、再利用可能なデータ セットでの作業が容易になります。
Power BI Connector は、Cognite OData Service を介して CDF にフィルターをプッシュします。CDF はフィルタリングを実行し、一致する行だけを Power BI に返します。Power BI で CDF データをフィルタリングするも参照してください。
Data modeling のプッシュダウン フィルター
Type | プッシュダウン |
---|---|
モデル プロパティ | はい、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で、ファイル > オプションと設定 > データ ソース設定を開きます。- データ ソースのサインイン資格情報を編集または削除します。