Relationships オブジェクト (TMSL)
適用対象:SQL Server 2016 以降の Analysis Services Azure Analysis Services Fabric/Power BI Premium
カーディナリティとクエリフィルターとセキュリティ フィルターの方向を指定する機能を使用して、ソース テーブルとターゲット テーブルの間のリレーションシップを定義します。
オブジェクト定義
すべてのオブジェクトには、名前、型、説明、プロパティ コレクション、注釈など、共通のプロパティ セットがあります。 リレーションシップ オブジェクトには、次のプロパティもあります。
Isactive
リレーションシップがアクティブまたは非アクティブのどちらとしてマークされているかを示すブール値。 アクティブなリレーションシップは、テーブル間のフィルター処理に自動的に使用されます。 非アクティブなリレーションシップは、USERELATIONSHIP 関数を使用して DAX 計算で明示的に使用できます。
**crossFilteringBehavior ** リレーションシップがデータのフィルター処理にどのように影響するかを示します。 有効な値は次のとおりです。
OneDirection (1) - リレーションシップの "終了" で選択された行は、リレーションシップの "From" 末尾にあるテーブルのスキャンを自動的にフィルター処理します。
BothDirections (2) - リレーションシップの両端のフィルターは、もう一方のテーブルを自動的にフィルター処理します。
自動 (3) - エンジンはリレーションシップを分析し、ヒューリスティックを使用していずれかの動作を選択します。
joinOnDateBehavior
2 つの日時列を結合するときに、日付と時刻の両方を結合するか、または日付のみを結合するかを示します。
DateAndTime (1) - 2 つの日付時刻列を結合する場合は、日付と時刻の部分で結合します。
DatePartOnly (2) - 2 つの日付時刻列を結合する場合は、日付部分でのみ結合します。
relyOnReferentialIntegrity
使用されていません。将来使用するために予約されています。
securityFilteringBehavior
行レベルのセキュリティ式を評価するときにリレーションシップがデータのフィルター処理にどのように影響するかを示す列挙体。 有効な値は次のとおりです。
OneDirection (1) - リレーションシップの "終了" で選択された行は、リレーションシップの "From" 末尾にあるテーブルのスキャンを自動的にフィルター処理します。
BothDirections (2) - リレーションシップの両端のフィルターは、もう一方のテーブルを自動的にフィルター処理します。
使用
リレーションシップ オブジェクトは、 Alter コマンド (TMSL)、 Create コマンド (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
}
]
}
}