Relationships オブジェクト (TMSL)
適用対象:
SQL Server 2016 以降 Analysis Services
Azure Analysis Services
Power BI Premium
カーディナリティを指定する機能と、クエリおよびセキュリティフィルターの方向を指定する機能を使用して、ソーステーブルとターゲットテーブルの間のリレーションシップを定義します。
オブジェクトの定義
すべてのオブジェクトには、名前、型、説明、プロパティコレクション、注釈など、共通のプロパティセットがあります。 リレーションシップ オブジェクトには、次のプロパティもあります。
isActive
リレーションシップがアクティブまたは非アクティブとマークされているかどうかを示すブール値。 アクティブなリレーションシップは、テーブル間のフィルター処理に自動的に使用されます。 非アクティブなリレーションシップは、USERELATIONSHIP 関数を使用して DAX 計算で明示的に使用できます。
* * crossFilteringBehavior * * は、リレーションシップがデータのフィルター処理に与える影響を示します。 有効な値は次のとおりです。
OneDirection (1)-リレーションシップの "To" end で選択された行は、リレーションシップの "From" 側のテーブルのスキャンを自動的にフィルター処理します。
両方向 (2)-リレーションシップのいずれかの端にあるフィルターは、他のテーブルを自動的にフィルター処理します。
自動 (3)-エンジンがリレーションシップを分析し、ヒューリスティックを使用していずれかの動作を選択します。
joinOnDateBehavior
2 つの日時列を結合するときに、日付と時刻の両方を結合するか、または日付のみを結合するかを示します。
DateAndTime (1)-2 つの日時列を結合する場合は、日付と時刻の部分を結合します。
DatePartOnly (2)-2 つの日付時刻列を結合する場合は、日付部分のみで結合します。
Elyonのエンティティの整合性
使用されていません。将来使用するために予約されています。
Securityfilteringbehavior 持つ
行レベルのセキュリティ式を評価するときに、リレーションシップがデータのフィルター処理に与える影響を示す列挙です。 有効な値は次のとおりです。
OneDirection (1)-リレーションシップの "To" end で選択された行は、リレーションシップの "From" 側のテーブルのスキャンを自動的にフィルター処理します。
両方向 (2)-リレーションシップのいずれかの端にあるフィルターは、他のテーブルを自動的にフィルター処理します。
使用
リレーションシップオブジェクトは、 Alter command (TMSL)、 Create command (tmsl)、 CREATEORREPLACE コマンド (Tmsl)、および Delete コマンド (tmsl)で使用されます。
リレーションシップオブジェクトを作成、置換、または変更する場合は、オブジェクト定義のすべての読み取り/書き込みプロパティを指定します。 読み取り/書き込みプロパティの省略は削除と見なされます。
完全な構文
リレーションシップオブジェクトのスキーマ表現を以下に示します。
"relationships": {
"type": "array",
"items": {
"anyOf": [
{
"description": "SingleColumnRelationship object of Tabular Object Model (TOM)",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"isActive": {
"type": "boolean"
},
"type": {
"enum": [
"singleColumn"
]
},
"crossFilteringBehavior": {
"enum": [
"oneDirection",
"bothDirections",
"automatic"
]
},
"joinOnDateBehavior": {
"enum": [
"dateAndTime",
"datePartOnly"
]
},
"relyOnReferentialIntegrity": {
"type": "boolean"
},
"securityFilteringBehavior": {
"enum": [
"oneDirection",
"bothDirections"
]
},
"fromCardinality": {
"enum": [
"none",
"one",
"many"
]
},
"toCardinality": {
"enum": [
"none",
"one",
"many"
]
},
"fromColumn": {
"type": "string"
},
"fromTable": {
"type": "string"
},
"toColumn": {
"type": "string"
},
"toTable": {
"type": "string"
},
"annotations": {
"type": "array",
"items": {
"description": "Annotation object of Tabular Object Model (TOM)",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
]
}
}