Azure Synapse Link for Dataverse で財務と運用データを選択する
Microsoft Azure Synapse Link for Dataverse では、Dynamics 365 財務と運用アプリからデータを選択できます。 Azure Synapse Link を使用して、財務と運用アプリから Azure Synapse Analytics と Azure Data Lake Storage Gen2 にデータを継続的にエクスポートします。
Azure Synapse Link for Dataverse は、企業のビッグ データ分析向けに設計されたサービスです。 スケーラブルな高可用性とディザスター リカバリー機能を提供します。 データは Common Data Model のフォーマットで保存されます。これにより、アプリと展開間で意味上の一貫性が提供されます。
Azure Synapse Link for Dataverse は、財務と運用データで使用できる次の機能を提供します:
- 標準とカスタムの両方の財務と運用のエンティティとテーブルを選択できます。
- エンティティとテーブル データの継続的なレプリケーションがサポートされています。 作成、更新、削除 (CUD) トランザクションもサポートされます。
- 環境を Azure サブスクリプション内の Azure Synapse Analytics や Data Lake Storage Gen2 にリンクまたはリンク解除できます。 システム構成のために、Azure portal や Microsoft Dynamics Lifecycle Services にアクセスする必要はありません。
- Azure Synapse を使用して、データを選択し、調べることができます。 Synapse Analytics ワークスペースを構成するために外部ツールを実行する必要はありません。
- Azure Synapse Link for Dataverse のすべての機能がサポートされています。 これらの機能には、すべてのリージョンでの可用性、Parquet Delta ファイルとしての保存、制限されたストレージ アカウントが含まれます。
- データ レイクへのエクスポート サービスのテーブル制限は、Azure Synapse Link for Dataverse には適用されません。
- デフォルトでは、財務と運用データに対して Parquet Delta Lake 形式での保存が有効になっているため、クエリの応答時間が短縮されます。
注意
この機能は、次のリストに示す財務と運用アプリケーションのバージョンで一般的に利用可能です。 これらのアプリケーション バージョンをまだ適用していない場合は、この機能を使用するために最新の累積的な更新プログラムをインストールしてください。
- 10.0.38 (PU62) 累積更新プログラム 7.0.7120.59 以降
- 10.0.37 (PU61) 累積更新プログラム 7.0.7068.109 以降。
- 10.0.36 (PU60) 累積更新プログラム 7.0.7036.133 以降。
最近の修正のために追加のアップデートを適用する必要がある場合があります。 詳細情報: 財務と運用のテーブルに関する既知の制限事項
財務と運用アプリでデータ レイクへのエクスポート機能を導入する予定の場合は、代わりに財務と運用データをサポートする Azure Synapse Link の導入を検討する必要があります。 詳細については、 データ レイクへのエクスポート機能 に関連するソフトウェア ライフサイクルのお知らせを参照してください。 データ レイクへのエクスポートから Azure Synapse Link にアップグレードするためのガイダンスとツールについては、TechTalk シリーズ: Synapse Link for Dataverse: Azure Data Lake から Synapse Link へエクスポートすることからの移行の他に、レガシ データ生成サービスからの移行 を参照してください
前提条件
財務および運用サンドボックス (Tier-2) 以上の環境が必要です。
検証が目的の場合、ERP ベースのテンプレートでプロビジョニングされた Power Platform 環境を使用することもできます
概念実証の検証には、クラウド ホスティング環境としても知られる Tier-1 環境を使用できます。 ご使用の環境は、バージョン 10.0.36 (PU 60) 累積更新プログラム 7.0.7036.133 以降である必要があります。
注意
統合環境とも呼ばれる、ERP ベースのテンプレートでプロビジョニングされた Power Platform環境の提供により、マイクロソフトは 2024 年 6 月 1 日以降、クラウドホスト環境 (CHE) の限定的なサポートを提供します。 クラウドでホストされている環境を使用している場合は、ERP ベースのテンプレートでプロビジョニングされた Power Platform 環境への移行を検討してください。
財務と運用アプリ環境は、Microsoft Power Platform とリンクする必要があります。 詳細: 財務と運用環境を Microsoft Power Platform とリンクする
SQL 行バージョン変更追跡 設定キーを有効にします。 詳細: 財務と運用アプリ環境で構成を追加する。
財務と運用データを Azure Synapse Link で構成された既存のストレージ アカウントに追加することもできます。 新しい Synapse Link プロファイルを作成するには、Azure サブスクリプションにアクセスできる必要があります。
財務および運用データの利用計画に応じて、ここに示す追加の前提条件があります。
データの消費をどのように計画するか | 使用している Azure Synapse Link 機能 | 前提条件と必要な Azure リソース |
---|---|---|
Synapse クエリを介して財務テーブルと運用テーブルにアクセスする 財務と運用テーブルはデルタ Parquet 形式で保存されるため、読み取りパフォーマンスが向上します。 CSV 形式で保存する財務テーブルと業務テーブルを選択することはできません。 |
Azure Synapse Link に財務と運用テーブルを追加するに移動します | Azure Data Lake Azure Synapse ワークスペース Azure Synapse Spark プール |
増分データの変更を独自の下流データ ウェアハウスにロードします システムは、増分変更を CSV 形式でファイルに保存します。 データは CSV 形式で保存されるため、Synapse ワークスペースや Spark プールを持ち込む必要はありません。 |
財務と運用からの増分データ変更にアクセスに移動します Azure Synapse Link - 増分更新もご覧ください |
Azure データ レイク |
Microsoft Fabric を介して財務テーブルと運用テーブルにアクセスする システムは Dataverse ストレージ リソースとコンピューティング リソースを使用するため、独自のストレージ、Synapse ワークスペース、または Spark プールを持ち込む必要はありません |
ファブリックへリンクする | Microsoft Fabric workspace |
財務と運用アプリ環境を Microsoft Power Platform とリンクする
財務および運用システム管理者を使用して、財務および運用環境が Power Platform にリンクされているかどうかを確認します。
財務と運用アプリ環境が Microsoft Power Platform とリンクされていることを確かめるには、Lifecycle Services の 環境 ページを確認します。
新しい環境を展開するときに Microsoft Power Platform とリンクできます。 既存の環境を Power Platform にリンクすることもできます。 Microsoft Power Platform 統合の詳細については、Microsoft Power Platform 統合を有効にする を参照してください。
注意
Azure Synapse Link で財務と運用データを有効にするために二重書き込みの設定は必要ありません。
財務と運用アプリ環境で構成を追加する
財務と運用の環境で SQL 行バージョン変更追跡 構成キーを有効にする必要があります。 財務と運用のバージョン 10.0.39 (PU63) 以降では、この構成キーがデフォルトで有効になっている可能性があります。
この構成キーを有効にするには、メンテナンス モードをオンにする必要があります。 詳細: 顧客のサブスクリプションで動作している開発テスト環境またはデモ環境にてメンテナンス モードをオンにする/オフにする.
行のバージョン変更追跡を有効にすると、環境内でトリガーされたシステム イベントにより、データ レイクへのエクスポートでテーブルが再初期化される可能性があります。 ダウンストリーム消費パイプラインがある場合は、パイプラインの再初期化が必要になることがあります。 詳細: 一部のテーブルは、ユーザー アクションなしで "初期化" されました。
クラウドホスト環境を構成するための追加手順
注意
統合環境とも呼ばれる、ERP ベースのテンプレートでプロビジョニングされた Power Platform環境の提供により、マイクロソフトはクラウドホスト環境 (CHE) の限定的なサポートを提供します。
クラウド ホスト環境を使用している場合は、次の追加の構成手順を実行する必要があります
完全なデータベース同期 (DBSync) を完了し、Visual Studio を使用してメンテナンス モードを完了します。
データ同期に必要なインデックスを作成するには、フライト DMFEnableSqlRowVersionChangeTrackingIndexing と DMFEnableCreateRecIdIndexForDataSynchronization を有効にする必要があります。 これらのフライトが有効になっている場合、
RecId
ろSysRowVersion
フィールドが欠落している場合は、SQL インデックスが作成されます。 Tier 1 環境でこれらの SQL ステートメントを実行することにより、フライトを有効にすることができます。 これらのインデックスは、テーブルまたはエンティティで変更追跡を有効にするときに上位環境で作成されます。
INSERT INTO SYSFLIGHTING (FLIGHTNAME, ENABLED) VALUES('DMFEnableSqlRowVersionChangeTrackingIndexing', 1)
INSERT INTO SYSFLIGHTING (FLIGHTNAME, ENABLED) VALUES('DMFEnableCreateRecIdIndexForDataSynchronization', 1)
- ご使用の環境で初期インデックス作成操作を実行するには、次のスクリプトを実行する必要があります。 CHE 環境でスクリプトを実行しないと、これらのテーブルを Azure Synapse Link に追加する際にエラー 「FnO-812」 が表示されます。 このプロセスは、サンドボックスまたはその他の上位環境では自動的に有効になります。
SET NOCOUNT ON;
print 'Put system in Maintainance mode'
print ''
UPDATE SQLSYSTEMVARIABLES SET VALUE = 1 WHERE PARM = 'CONFIGURATIONMODE'
SET NOCOUNT OFF;
DECLARE @SchemaName NVARCHAR(MAX) = 'dbo';
DECLARE @TableId INT;
DECLARE @TableName NVARCHAR(250);
DECLARE @SQLStmt NVARCHAR(MAX);
DECLARE @SlNo INT = 0;
DECLARE Table_cursor CURSOR LOCAL FOR
SELECT T.ID, T.Name
FROM TABLEIDTABLE T
WHERE T.Name in (
SELECT PHYSICALTABLENAME AS TableName FROM AIFSQLROWVERSIONCHANGETRACKINGENABLEDTABLES
UNION SELECT REFTABLENAME AS TableName FROM BUSINESSEVENTSDEFINITION WHERE CHANNEL LIKE 'AthenaFinanceOperationsTableDa%'
)
-- if the concerned tables are not in the above list, then replace the above cursor query with following cursor query
-- and manually enter the tablenames in the where clause
-- DECLARE Table_cursor CURSOR LOCAL FOR
-- SELECT T.ID, T.Name
-- FROM TABLEIDTABLE T
-- WHERE T.Name in ( 'TableName1', 'TableName2', .....)
OPEN Table_cursor;
FETCH NEXT FROM Table_cursor INTO @TableId, @TableName;
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
BEGIN TRAN
BEGIN
-- Script timeout in milliseconds
SET LOCK_TIMEOUT 1000;
SET @SlNo = @SlNo + 1;
-- Add SYSROWVERSION index
IF NOT EXISTS (SELECT TOP 1 1
FROM sys.indexes i
INNER JOIN sys.index_columns ic ON ic.index_id = i.index_id AND ic.object_id = i.object_id
INNER JOIN sys.columns c ON c.object_id = ic.object_id AND c.column_id = ic.column_id
INNER JOIN sys.tables t ON t.object_id = c.object_id
INNER JOIN sys.schemas s ON s.schema_id = t.schema_id
WHERE s.name = @SchemaName AND ic.index_column_id = 1 AND ic.is_included_column = 0 AND t.name = @TableName AND c.name = 'SYSROWVERSION'
)
BEGIN
SET @SQLStmt = '
CREATE NONCLUSTERED INDEX AIF_I_' + CAST(@TableId as nvarchar) + 'SQLROWVERSIONIDX
ON ' + @SchemaName + '.' + @TableName + ' ([SYSROWVERSION] ASC)
WITH (ONLINE = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = ON)
ON [PRIMARY]
';
EXEC sp_executesql @SQLStmt;
END
-- Add RECID index
IF NOT EXISTS (SELECT TOP 1 1
FROM sys.indexes i
INNER JOIN sys.index_columns ic ON ic.index_id = i.index_id AND ic.object_id = i.object_id
INNER JOIN sys.columns c ON c.object_id = ic.object_id AND c.column_id = ic.column_id
INNER JOIN sys.tables t ON t.object_id = c.object_id
INNER JOIN sys.schemas s ON s.schema_id = t.schema_id
WHERE s.name = @SchemaName AND ic.index_column_id = 1 AND ic.is_included_column = 0 AND t.name = @TableName AND c.name = 'RECID'
)
BEGIN
SET @SQLStmt = '
CREATE NONCLUSTERED INDEX AIF_I_' + CAST(@TableId as nvarchar) + 'RECIDDATASYNCIDX
ON ' + @SchemaName + '.' + @TableName + ' ([RECID] ASC)
WITH (ONLINE = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = ON)
ON [PRIMARY]
';
EXEC sp_executesql @SQLStmt;
END
SET LOCK_TIMEOUT 0;
END
COMMIT TRAN
print cast(@SlNo as nvarchar) + '. ' + @SchemaName + '.' + @TableName + '(' + cast(@TableId as nvarchar) + ') => succeeded'
END TRY
BEGIN CATCH
print cast(@SlNo as nvarchar) + '. ' + @SchemaName + '.' + @TableName + '(' + cast(@TableId as nvarchar) + ') => SQL error[' + cast(ERROR_NUMBER() as nvarchar) + '] : ' + ERROR_MESSAGE()
ROLLBACK TRAN
END CATCH
FETCH NEXT FROM Table_cursor INTO @TableId, @TableName;
END
CLOSE Table_cursor
DEALLOCATE Table_cursor
SET NOCOUNT ON;
print ''
print 'Put system out of Maintainance mode'
UPDATE SQLSYSTEMVARIABLES SET VALUE = 0 WHERE PARM = 'CONFIGURATIONMODE'
SET NOCOUNT OFF;
print ''
print 'Finished'
- コマンド ラインから IISReset 操作を実行して、アプリケーション サーバーを再起動します。
Azure Synapse Link で財務と運用のテーブルを追加する
Azure Synapse Link for Dataverse で財務と運用のテーブルと財務と運用のエンティティの両方を有効にすることができます。 このセクションでは、財務と運用アプリのテーブルについて説明します。
- Power Apps にログインし、必要な環境を選択します。
- 左側のナビゲーション ウィンドウで、Azure Synapse Link を選択します。
- Synapse Link ページのコマンド バーで、+ データ レイクへの新しいリンク を選択します。
- Azure Synapse Analytics workspace に接続 を選択し、 サブスクリプション、 リソース グループ、ワークスペース名 を選択します。
- 処理に Spark プールを使う を選択し、事前に作成された Spark プール と ストレージ アカウントを選択します。
- 次へ を選択します。
- エクスポートするテーブルを追加します。 前提条件 が満たされていれば、財務と運用のテーブルを選択できます。
- 詳細 を選択して、高度な構成設定を示す を選択して、増分更新をキャプチャする頻度の時間間隔を分で入力します。 テーブル レベルでの 追加のみと利用可能なパーティションのオプションは、システムがパーティショニング戦略を決定するため、財務テーブルと運用テーブルでは無視されます。
- 保存 を選択します。 選択したテーブルは初期化され、レポートの準備が整います。
注意
- 財務と運用アプリのテーブルは Azure Synapse Link でのみ使用可能です。 メーカーには、Power Apps (make.powerapps.com) の テーブル 領域には表示されません。
- 財務と運用アプリのテーブルを仮想テーブルとして定義する必要はなく、各テーブルの変更追跡を有効にする必要もありません。
Synapse Link に財務と運用のテーブルを含めるには、Synapse Link プロファイルで デルタ レイク機能 を有効にする必要があります。 Synapse Link プロファイルがデルタ レイク用に構成されていない場合、財務と運用のテーブルの選択は表示されません。
デルタ レイクの変換時間間隔により、テーブル データがデルタ形式で更新される頻度が決まります。 ほぼリアルタイムの更新の場合、希望する内部更新時間として 15 分または 1 時間を選択します。 ほぼリアルタイムの更新が必要ない場合は、毎日の時間間隔を選択します。 デルタ変換では、Synapse Link プロファイルの構成で指定した Spark プールからのコンピューティング リソースが消費されます。 時間間隔が短いほど、より多くのコンピューティング リソースが消費され、より多くのコストが発生する可能性があります。 Azure portal で Spark プールを開いて、コンピューティング コストを確認します。
初期同期または更新中にシステムでエラーが発生した場合は、エラー アイコンと、エラーの診断と解決に使用できるトラブルシューティング ドキュメントへのポインタが表示されます。
財務と運用のテーブルに関する既知の制限事項
現在、財務と運用テーブル、および Azure Synapse Link には制限があります。 この制限問題の解決に取り組んでいます。 今後のロードマップの詳細や製品チームとの連絡をご希望の方は、プレビューの Viva Engage グループ に参加してください。
新しい Azure Synapse Link プロファイルを作成する必要があります。 財務と運用アプリのテーブルを既存の Azure Synapse Link プロファイルに追加することはできません。
すべてのテーブルが見えませんか? アプリケーション バージョン 10.0.38 では、Microsoft が提供する最大 2,750 の財務および運用アプリ テーブルが Azure Synapse Link ですでに有効になっています。 以前のバージョンの財務と運用アプリを使用している場合、必要なテーブルの一部がデフォルトで有効になっていない可能性があります。 テーブルのプロパティを拡張し、変更追跡機能を有効にすることで、より多くのテーブルを自分で有効にすることができます。 変更追跡を有効にする方法の詳細については、テーブルに対して行バージョンの変更追跡を有効化する を参照してください。
カスタム テーブルが表示されませんか? カスタム テーブルに対して変更追跡を有効にする必要があります。 詳細: テーブルの行のバージョン変更の有効化。 クラウド ホスト環境 (CHE) を使用している場合は、変更を反映するためにデータベース同期操作を実行する必要があります。
1 つの Azure Synapse Link プロファイルで最大 1,000 のテーブルを選択できます。 さらに多くのテーブルを有効にするには、別の Azure Synapse Link プロファイルを作成します。
選択したテーブルに AOS 認証 によって保護されたデータ列が含まれている場合、それらの列は無視され、エクスポートされたデータにはその列は含まれません。 たとえば、CustTable という名前のカスタム テーブルでは、列 TaxLicenseNum にメタデータ プロパティ AOS 認証 を はい に設定します。 CustTable データが Azure Synapse Link でエクスポートされる場合、この列は無視されます。
注意
AOS 承認フィールドを有効にするには、財務および運用環境を次のバージョン以降に更新します。
- PU 63:7.0.7198.105
- PU 62:7.0.7120.159
このアップデートにより、AOS 承認フィールドがテーブルに追加されます。
- 増分更新にはこの列が含まれます。
- 変更されたレコードには、これらの列と値が表示されます。
- 完全更新にはこれらのフィールドとすべての値が含まれます。
Azure Synapse Link に追加された財務と運用のテーブルが、拡張可能データ セキュリティ ポリシーで保護されている場合、システムはデータをエクスポートしない可能性があります。 この問題は、最新のアプリケーション更新で修正されています。
注意
Azure Synapse Link for Dataverse で財務と運用のテーブルに利用可能な更新。
- バージョン 10.0.39 (PU63) 累積更新プログラム 10.0.1860.50
- バージョン 10.0.38 (PU62) 累積更新プログラム 10.0.1777.135
- バージョン 10.0.37 (PU61) 累積更新プログラム 10.0.1725.175
システムが Azure Synapse Link サービスの拡張データ セキュリティ ポリシーのバイパスを適用する高品質ビルドを適用する必要があります。
有効なタイムスタンプ動作を示す財務と運用アプリのテーブルがある場合、現在有効なデータ行のみが Azure Synapse Link でエクスポートされます。 たとえば ExchangeRate テーブルには、現在と以前の為替レートが両方とも含まれています。 Azure Synapse Link でエクスポートされるのは、現在有効な為替レートのみです。 この問題は、ここに示す最新のアプリケーション更新で修正されています。
注意
Azure Synapse Link for Dataverse で財務と運用のテーブルに利用可能な更新。
- バージョン 10.0.40 (PU64) プラットフォームの更新 7.0.7120.179
- バージョン 10.0.39 (PU63) プラットフォームの更新 7.0.7198.143
- バージョン 10.0.38 (PU62) プラットフォームの更新 7.0.7279.58
このアップデートにより、期限切れのデータ行がテーブルに追加されます。 以前の行を含めるには、完全な更新を実行する必要があります。
選択したテーブルに アレイ タイプのデータ列が含まれている場合、それらの列は無視され、エクスポートされたデータにはその列は含まれません。 たとえば、WHSInventTable という名前のカスタム テーブルの場合、FilterCode と FilterGroup は配列型です。 これらの列は Azure Synapse Link ではエクスポートされません。 この問題は、ここに示す最新のアプリケーション更新で修正されています。
注意
Azure Synapse Link for Dataverse で財務と運用のテーブルに利用可能な更新。
- バージョン 10.0.41 (PU65) プラットフォームの更新 7.0.7367.0 またはそれ以降
- バージョン 10.0.40 (PU64) プラットフォームの更新 7.0.7279.115 またはそれ以降
- バージョン 10.0.39 (PU63) プラットフォームの更新 7.0.7198.186 またはそれ以降
このアップデートでは、配列型フィールドがテーブルに追加されます。 以前の行を含めるには、完全な更新を実行する必要があります。 列挙型の配列フィールドは現在、Synapse Link および Fabric Link 機能から除外されています。
テーブル継承と派生テーブル は、財務と運用アプリの概念です。 財務と運用アプリから派生テーブルを選択する場合、現在、対応するベース テーブルのフィールドは含まれていません。 たとえば、
DirPartyTable
から派生したテーブルであるDirPerson
テーブル (ベース テーブル) を選択した場合、エクスポートされるデータにはベース テーブルDirPartyTable
のフィールドが含まれます。これらのフィールドにアクセスする必要がある場合は、派生テーブルに加えてベース テーブルも選択する必要があります。 GitHub 経由で提供されるこの FastTrack ソリューションを使用できます。 このソリューションは、ベース テーブルの列を含むビューを作成します。Azure Synapse Link プロファイルに追加された財務と運用アプリのテーブルは、バックアップが Dataverse で復元されるときに削除される可能性があります。 テーブルのリストを一度に選択するには、テーブル管理オプション内の検索ボックスに、コンマ区切りのテーブルのリストをコピーして貼り付けます。
財務および運用アプリのデータベースを復元する場合、Azure Synapse Link プロファイルに追加されたテーブルを再初期化する必要があります。 財務テーブルと運用テーブルを再初期化する前に、Dataverse データベースも復元する必要があります。 データベースを復元した後、財務テーブルと運用テーブルをプロファイルに追加する必要があります。 テーブルのリストを一度に選択するには、テーブル管理オプション内の検索ボックスに、コンマ区切りのテーブルのリストをコピーして貼り付けます。
Azure Synapse Link プロファイルに含まれる財務と運用アプリのテーブルは、Azure Synapse Link のプロファイルのインポートおよびエクスポート機能を使用して別の環境に移行できません。
TimeZoneID
(TZID) などの特殊フィールド、財務テーブルと操作テーブルのバイナリ フィールドは、Azure SynapseL Link では有効になっていません。ステージング テーブル、一時テーブル、非推奨テーブル (財務と運用アプリケーションで
del_
で始まる名前) は、Azure Synapse Link では使用できません。財務と運用アプリでカーネル テーブルと呼ばれる以下のテーブルは、Fabric と Synapse Link でサポートされています。 これらのテーブルは特別なので、変更追跡を有効にする必要はありません。 また、データは頻繁に変更されないため、24 時間ごとに更新され、ほぼリアルタイムで更新されるわけではありません:
DATAAREA
、USERINFO
、SECURITYROLE
、SECURITYUSERROLE
、SQLDICTIONARY
、PARTITIONS
、SECURITYPRIVILEGE
、TIMEZONESLIST
、SECURITYDUTY
、SECURITYSUBROLE
、SECURITYUSERROLECONDITION
、DATABASELOG
、SECURITYROLERUNTIME
、SECURITYROLEPRIVILEGEEXPLODEDGRAPH
、SECURITYROLEDUTYEXPLODEDGRAPH
、TIMEZONESRULESDATA
、SECURITYROLEEXPLODEDGRAPH
、USERDATAAREAFILTER
、SYSINHERITANCERELATIONS
。Synapse クエリを使用して財務と運用のテーブルにアクセスする および Microsoft Fabric を使用して財務と運用のテーブルにアクセスする 機能は、中国リージョンでは利用できません。
マスター会社データ共有 は、財務および運用アプリのプレビュー機能です。 マスター会社データ共有機能に参加するテーブルは、現在、Synapse Link または Fabric Link 機能ではサポートされていません。 これらのテーブルは選択できますが、エクスポートされたデータは無効なデータ領域に関連付けられている可能性があります。
財務と運用から増分データ変更にアクセスする
財務と運用からの増分データの変更を独自の下流データ ウェアハウスにロードするには、増分データのみを提供する Azure Synapse Link プロファイルを作成します。 Azure Synapse Link はすべてのデータ行を最初にエクスポートし、定期的に変更されるデータにアクセスできるようにします。 データはタイムスタンプ付きのフォルダーに保存された CSV ファイルで提供され、Azure Data Factory やその他のデータ ツールを使用してデータを簡単に利用できます。 詳細: Azure Synapse Link - 増分更新
Azure Synapse Link プロファイルを増分データで作成する方法:
- Power Apps にログインし、必要な環境を選択します。
- 左側のナビゲーション ウィンドウで、Azure Synapse Link を選択します。
- Azure Synapse Link for Dataverse ページで、コマンド バーの + 新規リンク を選択します。
- サブスクリプション、リソース グループ、ストレージ アカウント を選択します。 Synapse ワークスペースや Spark プールを提供する必要はありません。
- 次へ を選択します。 テーブルを選択するオプションが表示されます。
- 詳細 を選択して、詳細構成設定を表示 を選択して、オプション 増分更新フォルダー構成を有効にする を有効にします
- 時間間隔 フィールドで、増分データを読み取る頻度を選択します。 この頻度を使用して、システムはデータをタイムスタンプ付きのフォルダーに分割し、進行中の書き込み操作の影響を受けることなくデータを読み取ることができるようにします。
- 目的の Dataverse テーブルを選択します。 財務と運営のテーブルを選択することもできます。 オプション 追加のみ そして パーティション テーブルレベルで利用可能なものは無視されます。 データ ファイルは常に追加され、データは年ごとにパーティション化されます。
- 保存 を選択します。 選択したテーブルが初期化され、ストレージ アカウントに増分データが表示されます。
注意
データ レイクへのエクスポート機能からアップグレードする場合、増分データ変更オプションを有効にすると、フィード機能の変更 にあるようにデータ レイク機能と同様の変更データが提供されます
増分データとテーブルの管理を容易にするために別途 Azure Synapse Link プロファイルを作成することをお勧めします。
テーブルを選択し、増分データ変更を有効にすると、各テーブルの Azure Synapse Link 詳細ページに表示される行数には、テーブル内のレコード数ではなく、変更の合計数が反映されます。
Finance and Operations テーブルから削除されたレコードを含むデータ行には、 uniqueidentifier
(Id) フィールドが含まれます。 レコード本体は含まれません。 下流のデータ パイプラインでは、Id フィールドを使用して対応するフィールドを検索する必要がある場合があります。
財務と運用のテーブルの制限は、テーブルからの増分データにも適用されます。 詳細: 財務と運用のテーブルに関する既知の制限事項
データとメタデータの操作
列挙型フィールドとは、財務と運用アプリのコード化されたデータ フィールドです。 たとえば AssetTrans テーブルには、列挙型フィールドである TransType と呼ばれるフィールドが含まれています。 テーブル フィールドには、110、120、131 などの数値コードが含まれており、これらは「減価償却」、「リース」、「大規模修理」などの詳細な説明を表します。列挙フィールドを含むテーブルを選択すると自動的にエクスポートされる GlobalOptionsMetadata テーブルを使用して、これらの詳細な説明にアクセスできます。 列挙型フィールドは選択肢ラベルとも呼ばれ、以前はオプション セットという名前でした。 詳細情報: 選択肢ラベル
財務と運用テーブルのメタデータが変更された場合は、新しいフィールドがテーブルに追加され、Azure Synapse Link にエクスポートされたデータには変更を含む最新のメタデータが反映されます。 詳細情報: Azure Synapse Link に関するよくあるご質問。 Azure Synapse Link を使用してデータをクエリする場合は、Azure Synapse Link に反映された更新済みのメタデータが表示されます。 増分データ変更を使用する場合は、更新されたメタデータは最新の日付スタンプを持つ増分データ フォルダーに存在します。 詳細情報: 増分フォルダー構造
また、各データ行にシステムによって追加されたメタデータ フィールドがあることが確認できます。 これらのフィールドの説明をここに示します。
メタデータ フィールド | このフィールドに含まれるもの | データレイクへのエクスポートにおける同等のフィールドまたは機能 |
---|---|---|
createdon |
レコードが作成された日時を示します | 各財務と運用レコードの Created Date 時間フィールドから派生。 |
Createdtransactionid |
非使用 | 非使用 |
Id |
レコード ID は、システムによってレコードを一意に識別するために使用されます | 財務と運用からのレコードの RecID フィールドを含みます。 この値は整数から GUID に変換されます。 |
IsDelete |
True の場合、このレコードは Dataverse または財務と運用から削除されます | ソースで削除が行われた場合、データ レイクにエクスポートすると、宛先データ レイクから直ちに行が削除されます。 Azure Synapse Link は、変更フィードを消費せずに削除された行を識別できるように、デルタ形式のテーブルデータに対して 「ソフト削除」 を実行します。 アクティブなレコードを読み取る場合は、 isDelete が True であるレコードをフィルター処理できます。 デルタ ファイル内のテーブル データの場合、ソフト削除された行は 28 日後に消去されます。 IsDelete フィールドは増分更新でも使用でき、削除された行を識別するために使用できます。 isDelete が true のレコードの本文は空です。 Id フィールドなどのシステム フィールドを使用して、他のフィールドの値を決定します。 たとえば、isDelete が False である増分更新の最新行を、指定した ID の最新バージョン番号と更新日時で検索できます。 |
modifiedon |
レコードの最終更新日時を示します | このフィールドは、財務と運用テーブルの更新日時フィールドから入力されます。 |
modifiedtransactionid |
内部使用 | modifiedtransactionid は内部で使用されるため、このフィールドは使用しないでください。 |
SinkCreatedOn |
レコードがデータ レイクに書き込まれた日付を示します。 CSV の変更データ (増分更新) がある場合は、データとレイクにデータが書き込まれた時刻が表示されます。 Delta 形式のテーブル データの場合、Delta Lake 変換の日時を示します。 |
この日付は、データ レイクへのエクスポート機能のデータ レイクの変更日時フィールドと同様に使用できます。 |
SinkModifiedOn |
レコードが変更された日付を示します。 デルタ フォーマット ファイルおよび増分 CSV ファイルのテーブルの場合、SinkCreatedOn と同じ日付時刻が含まれます。 |
この日付は、データ レイクへのエクスポート機能のデータ レイクの変更日時フィールドと同様に使用できます。 |
sysdatastatecode |
1 の場合、このレコードは長期データ保持機能を使用してアーカイブされます。 0 の場合、これはライブ レコードです。 | このフィールドを使用すると、アーカイブされた (ライブ データから削除された) 財務と運用レコードを識別できます。 CSV 変更データ (増分更新) にも同じフィールドが使用できます。 |
sysrowversion |
データに変更が加えられたかどうかを判断する、各財務および運用アプリのレコードで維持されるバージョン番号。 このフィールドは、プロセスに対する増分またはデルタの変更を決定するためにシステムによって使用されます。 | sysrowversion は内部使用です。 このフィールドを ウォーターマーク として使用することで、更新されたレコードの最終バージョンを判別できます。 Dynamics 365 Customer Engagement アプリ テーブルの場合、このフィールドは空になることがあります。 |
tableid |
各テーブルの一意の ID が含まれます | 財務および運用からのテーブル ID が含まれます。 |
versionnumber |
内部的に使用されます - データ レイクに同期された行の最後のバージョンが含まれます。 | sysrowversion と同様に、このフィールドには、Dynamics Customer Engagement アプリ テーブルの最終処理バージョンが含まれます。 Dynamics 財務および運用アプリ テーブルの場合、このフィールドには sysrowversion と同じ値が含まれます。 |
システム イベントへの対応と監査レポートの生成
Azure Synapse Link データ転送アクティビティが完了した際、または問題が発生したときにイベントを生成します。 これらのイベントは Dataverse テーブルに記録されています。 これらの Dataverse テーブルを使用して、自動アクションと監査レポートを作成できます。 たとえば、変更されたデータ行をデータ レイクから別の場所に継続的にコピーする自動データ パイプラインがある場合、テーブルが非アクティブ化または再アクティブ化されたときや、テーブルのメタデータが更新されたときに特別なアクションが必要になることがあります。 イベントを作成すると、これらのタスクを自動化できます。
財務と運用でデータレイクへのエクスポート機能によって生成されたビジネス イベントをシステムイベントに対応するために使用していた場合、Azure Synapse Link サービス経由でアラートを受け取ることができます。 Synapse Link サービスには、監査レポートや特定のデータを監視するための Power Apps を生成するために使用できる追加設定データが含まれています。 Synapse Link からのイベントの受信と消費については、こちらの記事をご覧ください。
この表では、データ レイクへのエクスポートフォームのイベントを要約し、Synapse Link の設定データでどのように改善できるかを説明します。
Azure Data Lake イベントへのエクスポート | シナリオ | Synapse Link で構成データを使用する方法 |
---|---|---|
初期化完了 | テーブルを選択すると、システムはデータの初期コピーを作成します。 初期化完了 – このイベントは、選択したテーブルの初期化が完了したかどうかを示します。 環境で複数のテーブルが有効になっている場合、初期化が各テーブルで完了すると複数のイベントが発生します。 | Dataverse テーブルの Synapse Link Profile Entity State および Synapse Link external テーブルの状態を監視できます。 InitialSyncProcessCompletedTime と InitialSyncState は、メタデータとデータの両方を含む最初の同期完了ステータスを返します。 最初の同期が完了すると、最初の同期の状態は 完了 に更新されます。 各テーブルのレコード数などの追加情報も取得できます。 Synapse Link は、テーブルを再初期化するときに、CSV ファイル内の以前の変更データを削除しません (増分更新)。 |
メタデータの変更 | このイベントは、テーブルのメタデータが変更されたことを示します。 たとえば、テーブルに新しい列が追加された場合や、(まれに) 列が削除された場合です。 各テーブルに対してメタデータ変更ごとに 1 つのイベントを受け取ります。 メタデータの変更 (スキーマ ドリフトと呼ばれる状況) に対応できないダウンストリーム データ パイプラインがある場合、これらのイベントを使用して変更を検出し、ダウンストリーム パイプラインを変更できます。 | メタデータの変更が検出されると、Synapse Link Profile Entity State テーブルの Last Synced Metadata Time フィールドが更新されます。 このフィールドを使用して、レイクに保存されているメタデータを使用して、下流のパイプラインにメタデータの変更を強制します。 |
非アクティブ | このイベントは、以前アクティブだったテーブルが非アクティブになったことを示します。 テーブルが無効な場合、財務と運用アプリで変更されたデータは、Data Lake で更新されません | Synapse Link には「非アクティブ化」オプションはありません。 ただし、Synapse Link プロファイルからテーブルを削除することはできます。 削除されたテーブルは、Dataverse テーブルの Synapse Link プロファイル エンティティの状態 となります。 |
アクティブ化済み | このイベントは、以前アクティブだったテーブルが非アクティブになったことを示します。 テーブルを再度有効化すると、システムは Data Lake のデータを再度初期化します。 その後、初期化の完了 イベントが発生する可能性があります。 | Synapse Link には無効化または有効化のオプションはありません。 テーブルを削除し、そのテーブルを Synapse Link プロファイルに再度追加することができます。 テーブルが追加されると、Synapse Link プロファイルエンティティの状態 テーブルに新しいレコードが追加されます。 Synapse Link プロファイルエンティティの状態 と Synapse Link 外部テーブルの状態 の Dataverse テーブルを使用して、初期化段階のテーブルのステータスを監視できます。 |
エラー | このイベントは、エラーによりデータ同期プロセスが一時停止したことを示します。 | Synapse Link プロファイルエンティティの状態 ステータス フィールドはテーブルのステータスを示します。 |
レイク スイッチ | このイベントは、システム管理者がデータレイクの宛先を変更したことを示します。 | このイベントは適用されません。 Synapse Link プロファイルに関連付けられたデータ レイクの変更や構成オプションの変更はサポートされていません。 ただし、Synapse Link は複数のプロファイルをサポートしています。 つまり、管理者はテーブルを含む複数の Synapse Link プロファイルを作成できます (同じテーブルを複数のプロファイルに追加できます)。 Dataverse テーブル Synapse Link プロファイルを読み込んで、削除されたプロファイルを含むすべてのプロファイルの設定データを検索します。 |
Azure Synapse Link で財務と運用データのエンティティを有効にする
Azure Synapse Link for Dataverse で財務と運用エンティティと財務と運用アプリのテーブルの両方を有効にすることができます。 このセクションでは、財務と運用データのエンティティについて説明します。
財務と運用エンティティを有効にするプロセスには次の手順があります。 各手順については、以下のサブセクションで説明します。
- Power Apps Maker Portal で財務と運用の仮想エンティティを有効にします。 この手順により、Power Apps (make.powerapps.com) の財務と運用のエンティティを使用してアプリを構築できるようになります。 これらは、Azure Synapse Link でも使用することができます。
- エンティティに対して行バージョンの変更追跡を有効にします。 Azure Synapse Link で財務と運用エンティティを使用できるようにするには、この手順を完了する必要があります。
両方の手順を完了すると、Dataverse テーブル の Azure Synapse Link にある財務エンティティと運用エンティティを選択できます。 Delta Lake 形式で Azure Synapse Link for Dataverse を作成にするには、Delta Lake 形式で Dataverse データをエクスポートする の手順に従います。
注意
財務と運用エンティティは、接頭辞 mserp_ で始まります。
Power Apps で、財務と運用の仮想エンティティを有効にする
財務と運用エンティティを Dataverse の 仮想テーブル として有効にする必要があります。 作成者は、選択した財務と運用エンティティを使用してアプリを構築でき、エンティティは Azure Synapse Link で使用することもできます。
財務と運用エンティティを有効にするには、Microsoft Dataverse 仮想エンティティを有効にするの手順に従います。
チップ
Azure Synapse Link 機能を検証するには、次のリストにあるサンプル エンティティをいくつか使用します。 これらは、Azure Synapse Link の Dataverse テーブル セクションの下に表示されます。
- MainAccountBiEntity – このエンティティには、勘定科目のリストが含まれます。
- ExchangeRateBiEntity – このエンティティには、システム内の為替レートが含まれます。
- InventTableBiEntity – このエンティティには、在庫品目のリストが含まれます。
財務と運用エンティティの変更追跡を有効にする
財務と運用エンティティの変更追跡を有効にすると、Azure Synapse Link の Dataverse テーブルの下に表示されます。 財務と運用エンティティは、接頭辞 mserp_ で始まります。
変更追跡を有効にするには、以下の手順に従います。
- Power Apps の左のナビゲーション ウィンドウで、テーブル を展開し、目的のテーブルを選択します。
- プロパティ>詳細オプション を選択します。
- 追跡変更 オプションを選択して、保存 を選択します。 オプションが利用できない場合は、財務と運用エンティティに関する既知の制限事項を参照してください。
財務と運用のエンティティに関する既知の制限事項
現在、財務と運用エンティティ、および Azure Synapse Link には制限がいくつかあります。 今後のロードマップの詳細や製品チームとの連絡をご希望の方は、Viva Engage グループ aka.ms/SynapseLinkforDynamics のプレビュー に参加してください。
変更の追跡を有効にすると、「選択したエンティティが検証ルールに合格しませんでした...」 というエラーメッセージが表示されて失敗したり、仮想テーブルの一部のテーブルで変更の追跡チェックボックスが無効になったりする場合があります。 現在、変更追跡をすべての財務と運用エンティティに対して有効にすることはできません。 変更を追跡する チェックボックスは、データ移行のために過去に財務および運用で作成されたエンティティには使用できません。
注意
検証ルールに合格した財務と運用エンティティのリストについては、財務と運用アプリで、システム管理/設定/行のバージョン変更追跡/データエンティティの行のバージョン変更追跡検証レポートのパスで使用できる、データエンティティの行のバージョン変更追跡検証レポートを実行してください。このレポートには、検証ルールに合格したエンティティおよび不合格のエンティティが表示されます。 このレポートを使用して、データ検証ルールに合格したエンティティの行バージョンの変更追跡を有効にすることもできます。 エンティティの変更追跡を有効にするには、メニューから 行バージョンの変更追跡 を選択し、変更追跡を有効にするを選択します。
エンティティ検証ルールとその修正方法の詳細については、データ エンティティに対して行バージョンの変更追跡を有効化する を参照してください。 手順を完了するには、開発者の支援が必要な場合があります。
変更追跡の制限により選択したエンティティが使用できない場合は、そのエンティティのデータを構成するテーブルを選択できる可能性があります。 FastTrack チームが提供する EntityUtil ソリューション を使用して、テーブルを使用してエンティティ シェイプを作成できます。
Dataverse でのデータベース復元操作の場合、Azure Synapse Link で有効になっている財務と運用エンティティは削除されます。 エンティティを再度有効にするには、選択したすべてのエンティティに対応する仮想テーブルを再度有効にし、変更追跡を再度有効にして、Azure Synapse Link のテーブルを再選択する必要があります。