Association 要素 (CSDL)
CSDL (Conceptual Schema Definition Language) の BI 拡張の Association 要素は、リレーションシップに含まれる要素の表示を制御するために使用できる属性を追加することで、CSDL の既存の Association 要素を拡張します。
Association 要素のほとんどの部分は CSDL 仕様によって定義されている Association 要素と同じであり、次の子要素があります。
Documentation 要素
End 要素
Annotation 要素
該当する属性
次の表では Association 要素で使用できる属性を示します。
属性名 |
必須 |
値 |
---|---|---|
Name |
はい |
アソシエーションの名前。 |
State |
いいえ |
(拡張) アソシエーションがデータ モデルで使用されるかどうかを示す文字列列挙。 |
Hidden |
いいえ |
(拡張) Association がデータ モデルで表示されるかどうかを示す true/false 値。 |
説明
各 AssociationSet には 1 つの Association があります。 AssociationSet には、Association のエンド ポイントが記述されており、そのアソシエーションに対して定義されているすべてのロールも含まれています。 既定では、AssociationSet の名前は Association の名前と同じです。
2 つのテーブルまたはビューの間にリレーションシップが存在するときは常に、Association が作成されます。 Analysis Services テーブル モデルでは 2 つのテーブル間への複数のアソシエーションの作成がサポートされるので、アソシエーションの 1 つを優先されるアソシエーションまたはアクティブなアソシエーションとしてマークする必要があります。 たとえば、Sales テーブルに Date ディメンションとして使用されるテーブルに対する複数のリレーションシップがあり、Date ディメンションの日付が注文日、出荷日、請求日にリンクされている場合があります。 複数のパスがある場合、使用するリレーションシップを明示的に指定しないと、あいまいさが生じて計算の結果が正しくなくなる場合があります。 テーブル モデルでのリレーションシップの使用に関する詳細については、「リレーションシップ (SSAS テーブル)」を参照してください。
使用例
次の例では、テーブル InternetSales と Date をそれぞれの DateKey 列を使用して接続する Association の定義を示します。
注意 |
---|
エンド ポイントである列が同じ名前の場合、名前を一意にするために GUID が生成されることがあります。 この動作は、将来のリリースで変更される可能性があります。 |
AssociationSet が Inactive とマークされていることに注意してください。 これは、2 つのテーブルの間に異なる列を使用する別のリレーションシップが存在し、現在はそのリレーションシップが計算の作成に対して優先されることを示しています。
<AssociationSet Name="InternetSales_Date_Date_DateKey" Association="Sandbox.InternetSales_Date_Date_DateKey">
<End EntitySet="InternetSales" />
<End EntitySet="Date" />
<bi:AssociationSet State="Inactive" />