データ・モデルの使用
データ・モデル図は、複数のデータセットに基づいてレポートのデータセット、ブレーク・グループおよび合計をすばやく簡単に定義するのに役立ちます。
マルチパート非関連データセットについて
データセット(または問合せ)をリンクしていない場合は、データ・エンジンによってマルチパート非関連問合せデータセットが生成されます。
たとえば、次に示すデータ・モデルでは、ある問合せで「製品」を選択し、別の問合せで「顧客」を選択します。 製品と顧客の間にはリレーションシップがありません。
結果は、次のイメージに示すようなデータ構造で表示されます。
マルチパート関連データセットについて
データセットのある部分のためにフェッチされたデータまたは問合せは、他の部分のためにフェッチされたデータによって判別できます。 結果は、2つのデータセットまたは問合せ間のデータ・リンクで定義されるmaster/detailまたはparent/child関係と呼ばれることがよくあります。
マスター/詳細データ・モデルを実行すると、マスター(または親)問合せの行ごとに、詳細(または子)に対する問合せが実行され、一致する行のみが取り出されます。
下のイメージの例では、2つのデータセットが要素Customer IDによってリンクされています。 OrdersデータセットはCustomersデータセットの子です。
この例では、次のイメージに示すデータ構造が生成されます。
データセットの操作に関するガイドライン
特定のガイドラインが、データ・モデルの構築に推奨されています。
-
できるかぎり、データ・モデル内のデータセットまたは問合せ数を少なくします。 一般的に、保有するデータセットおよび問合せの数が少ないほど、データ・モデルの実行速度は速くなります。 多くの場合、複数問合せデータ・モデルの方がわかりやすくなりますが、1つの問合せデータ・モデルの方が速く実行されます。 親子問合せでは、すべての親に対して子問合せが実行されることを理解することが重要です。
-
次のシナリオでのみ、マルチ問合せデータ・モデルを使用する必要があります:
-
SQL問合せなどの問合せタイプで直接サポートされていない関数を実行する場合。
-
分散問合せやGROUP BY問合せなど、複雑なビューをサポートする場合。
-
ビューがない場合、またはビューを使用する場合にビューをシミュレートします。
-