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