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