Relationships 对象 (TMSL)
适用于:SQL Server 2016 及更高版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium
定义源表与目标表之间的关系,并能够指定基数,以及查询和安全筛选器的方向。
对象定义
所有对象都有一组通用的属性,包括名称、类型、说明、属性集合和注释。 关系 对象还具有以下属性。
isActive
一个布尔值,指示关系是标记为“活动”还是“非活动”。 活动关系自动用于跨表筛选。 非活动关系可通过 USERELATIONSHIP 函数显式用于 DAX 计算。
**crossFilteringBehavior ** 指示关系如何影响数据筛选。 有效值为:
OneDirection (1) - 在关系的“To”末尾选择的行将自动筛选关系“From”末尾的表扫描。
BothDirections (2) - 关系两端的筛选器将自动筛选另一个表。
自动 (3) - 引擎将分析关系,并使用启发法选择其中一种行为。
joinOnDateBehavior
在联接两个日期时间列时,指示是联接日期和时间部分还是仅联接日期部分。
DateAndTime (1) - 联接两个日期时间列时,联接日期和时间部分。
DatePartOnly (2) - 联接两个日期时间列时,仅联接日期部分。
relyOnReferentialIntegrity
未使用;保留供将来使用。
securityFilteringBehavior
一个枚举,指示在计算行级别安全表达式时关系如何影响数据筛选。 以下是有效值:
OneDirection (1) - 在关系的“To”末尾选择的行将自动筛选关系“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
}
]
}
}