共用方式為


Relationships 物件 (TMSL)

適用於: SQL Server 2016 和更新版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium

定義來源和目標數據表之間的關聯性,並能夠指定基數,以及查詢和安全性篩選的方向。

物件定義

所有物件都有一組通用的屬性,包括名稱、類型、描述、屬性集合和批注。 Relationship 物件也有下列屬性。

isActive
布爾值,指出關聯性是否標示為 [使用中] 或 [非作用中]。 作用中關聯性會自動用於篩選數據表。 DAX 計算與 USERELATIONSHIP 函式可以明確使用非使用中關聯性。

**crossFilteringBehavior ** 指出關聯性如何影響數據篩選。 有效值為:

  • OneDirection (1) - 關聯性結尾中選取的數據列會自動篩選關聯性結尾中數據表的掃描。

  • BothDirections (2) - 關聯性任一端的篩選會自動篩選另一個數據表。

  • 自動 (3) - 引擎會分析關聯性,並使用啟發學習法來選擇其中一種行為。

joinOnDateBehavior
聯結兩個日期時間數據行時,會指出是否要聯結日期和時間元件,或只聯結日期部分。

  • DateAndTime (1) - 聯結兩個日期時間數據行時,會聯結日期和時間部分。

  • DatePartOnly (2) - 聯結兩個日期時間數據行時,僅聯結日期部分。

relyOnReferentialIntegrity
閑置;保留供日後使用。

securityFilteringBehavior
列舉,指出在評估數據列層級安全性表達式時,關聯性如何影響數據篩選。 有效值如下所示:

  • OneDirection (1) - 關聯性結尾中選取的數據列會自動篩選關聯性結尾中數據表的掃描。

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