다음을 통해 공유


관계 개체(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  
              }  
            ]  
          }  
        }