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  
              }  
            ]  
          }  
        }