관계 개체(TMSL)
적용 대상: SQL Server 2016 이상 Analysis Services Azure Analysis Services Fabric/Power BI Premium
카디널리티를 지정하는 기능과 쿼리 및 보안 필터의 방향을 사용하여 원본 테이블과 대상 테이블 간의 관계를 정의합니다.
개체 정의
모든 개체에는 이름, 형식, 설명, 속성 컬렉션 및 주석을 비롯한 공통 속성 집합이 있습니다. 관계 개체에는 다음과 같은 속성도 있습니다.
Isactive
관계가 활성 또는 비활성으로 표시되는지 여부를 나타내는 부울입니다. 활성 관계는 테이블에서 필터링하는 데 자동으로 사용됩니다. 비활성 관계는 USERELATIONSHIP 함수를 사용하여 DAX 계산에서 명시적으로 사용될 수 있습니다.
**crossFilteringBehavior ** 관계가 데이터 필터링에 미치는 영향을 나타냅니다. 유효한 값은 다음과 같습니다.
OneDirection (1) - 관계의 "대상" 끝에서 선택한 행은 관계의 "From" 끝에 있는 테이블의 검사를 자동으로 필터링합니다.
BothDirections (2) - 관계의 양쪽 끝에 대한 필터가 다른 테이블을 자동으로 필터링합니다.
자동 (3) - 엔진은 관계를 분석하고 추론을 사용하여 동작 중 하나를 선택합니다.
joinOnDateBehavior
두 개의 날짜 시간 열을 조인할 경우에 날짜와 시간 부분에 조인할지 또는 날짜 부분에만 조인할지를 나타냅니다.
DateAndTime (1) - 두 날짜 시간 열을 조인할 때 날짜 및 시간 파트에 조인합니다.
DatePartOnly (2) - 두 날짜 시간 열을 조인할 때 날짜 부분에만 조인합니다.
relyOnReferentialIntegrity
사용되지 않음; 나중에 사용하도록 예약됩니다.
securityFilteringBehavior
행 수준 보안 식을 평가할 때 관계가 데이터 필터링에 미치는 영향을 나타내는 열거형입니다. 유효한 값은 다음과 같습니다.
OneDirection (1) - 관계의 "대상" 끝에서 선택한 행은 관계의 "From" 끝에 있는 테이블의 검사를 자동으로 필터링합니다.
BothDirections (2) - 관계의 양쪽 끝에 대한 필터가 다른 테이블을 자동으로 필터링합니다.
사용량
관계 개체는 TMSL(Alter 명령), 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
}
]
}
}