レポート用のデータの取得のための SQL およびフィルター ビューの使用

 

公開日: 2017年1月

対象: Dynamics 365 (on-premises)、Dynamics CRM 2016

Microsoft Dynamics 365 のデータおよびメタデータは、Dynamics 365 (設置型) 環境の Microsoft SQL Server を実行するサーバーの <organization_name>_MSCRM という名前の Microsoft SQL Server データベースに保存されます。Microsoft Dynamics 365 の SQL ベース レポートは、レポート用のデータの取得に、各エンティティに提供されているフィルター ビューを使用します。 フィルター ビューは、Microsoft Dynamics 365 セキュリティ モデルに完全に準拠しています。 フィルター ビューからデータを取得するレポートを実行するときに、Microsoft Dynamics 365 セキュリティ ロールによって、レポートのどのデータを表示できるかが決まります。 フィルター ビューのデータは、組織、部署、所有者 の 3 つのレベル、およびフィールド レベルで制限されます。

フィルター ビューは、ユーザー定義エンティティを含むすべての Microsoft Dynamics 365 エンティティに対して存在します。 ユーザー定義の SQL ベース レポートは、Microsoft Dynamics 365 データベース テーブルからデータを直接読込むことはできません。 代わりに、フィルター ビューを使用して、SQL ベース ユーザー定義レポートのためのデータを取得する必要があります。

次の SQL クエリは、Account エンティティのフィルター ビューからすべての列を返します。

SELECT * FROM dbo.FilteredAccount

また、フィルター ビューは、Microsoft Dynamics 365 レポートのデータを、Microsoft Office や Microsoft Office Excel など、Microsoft Access アプリケーションに渡す方法も提供します。 [製品] 領域ごとに整理された標準的なフィルター ビューの一覧は、「Microsoft Dynamics 365 のフィルター ビュー」に記載されています。

このトピックの内容

ユーザー定義およびカスタマイズされたエンティティ

SQL ベースのユーザー定義レポートを作成するためのエンティティ スキーマ

Microsoft Dynamics 365 データベースの命名規則

ユーザー定義およびカスタマイズされたエンティティ

Microsoft Dynamics 365 データベースで新しいユーザー定義エンティティを作成するとき、そのエンティティ用のフィルター ビューが自動的に作成されます。 また、ユーザー定義エンティティまたはカスタマイズ可能なシステム エンティティの属性を追加または変更すると、その変更は関連するフィルター ビューに自動的に反映されます。

SQL ベースのユーザー定義レポートを作成するためのエンティティ スキーマ

Microsoft Dynamics 365 データベースでフィルター ビュー、エンティティ、または属性に関するスキーマ情報を見つけるには、次のいずれかの方法を使用します。

  • Microsoft Visual Studio では、[SQL Server Object Explorer] を使用して SQL Server と接続します。ここに Microsoft Dynamics 365 の組織データベースが配置されます。[データベース] ノードを展開してから、<organization_name>_MSCRM データベースを展開します。 FilteredContact などのフィルター ビューは、[ビュー] ノードの下でアクセスできます。 フィルター ビューを右クリックするとショートカット メニューが表示され、フィルター ビューの設計や、返されるデータを確認できます。

  • システム管理者のセキュリティ ロールを持つアカウントを使用して、Microsoft Dynamics 365 Web アプリケーションにログオンします。Microsoft Dynamics 365 で、[設定] を選択し、次に [カスタマイズ] を選択します。 次に、[システムのカスタマイズ] を選択し、[エンティティ] を展開し、エンティティ名をダブルクリックして、そのフィールド (属性) および関連付けを表示します。

    • 各属性の表示名と説明を含むすべての属性を表示するには、[フィールド] を選択します。 属性の依存関係を表示するには、属性を選択して、[その他の操作] を選択し、[依存関係を表示] を選択します。

    • 現在のエンティティと関連付けられているエンティティと、関連付けの定義に使用されている属性を表示するには、[1:N の関連付け][N:1 の関連付け]、および [N:N の関連付け] を選択します。

  • Microsoft SQL Server Management Studio を使用して、データベースの内容を直接表示します。

ここに示されるどの方法でも、ユーザー定義またはカスタマイズされたエンティティおよび属性のスキーマ情報にアクセスできます。

Microsoft Dynamics 365 データベースの命名規則

Microsoft Dynamics 365 データベース内の属性命名規則は次のとおりです。

フィルター ビューを使用して取得した属性

Microsoft Dynamics 365 のフィールド名は、大文字小文字が区別され、それらが混在していますが、フィルター ビューを使用して取得した属性名はすべて小文字です。

ドロップダウン リストの属性

すべてのドロップダウン リスト (オプション セット) に、リスト内の各文字列に関連付けられているフィールドが 2 つずつあります。 文字列ごとに、値 (コード) フィールドとラベル (名前) フィールドがあります (leadsourceleadsourcename など)。 たとえば、潜在顧客のフィルター ビューは、タイプ PicklistLeadSource 属性に関連する 2 つのフィールド、LeadSource = 1 と LeadSourceName ="Advertisement" を返します。 レポートではラベル フィールドが表示され、値フィールドは数値の比較に使用されます。

DateTime 属性

DateTime 属性は、フィルター ビュー内の 2 つのフィールド DateTime と UTC DateTime によって表されます。 1 つ目のフィールドには、適切なタイム ゾーンの日付と時刻が格納され、2 つ目のフィールドには、協定世界時間 (UTC) による日付と時刻が格納されます。

エンティティ フィールド

データベース内のエンティティ テーブルで、主キー フィールドの名前の形式は EntityId (AccountId など) です。EntityId フィールドごとに、レポートに表示される値を格納するフィールドが 1 つずつ関連付けられます。 たとえば、取引先企業エンティティの場合、取引先企業の名前は Name フィールドに格納されます。

このセクションの内容

Microsoft Dynamics 365 のフィルター ビュー

関連項目

SQL ベースのレポートに関する作業 (Dynamics 365 の設置型のみ)
レポート コンテンツの書式設定

© 2017 Microsoft. All rights reserved. 著作権