다음을 통해 공유


파티션 개체(TMSL)

적용 대상: SQL Server 2016 이상 Analysis Services Azure Analysis Services Fabric/Power BI Premium

테이블 행 집합의 파티션 또는 논리적 구분을 정의합니다. 파티션은 데이터 가져오기, 모델링 환경의 샘플 데이터 또는 DirectQuery를 통해 쿼리 실행을 통과하기 위한 전체 데이터 쿼리로 사용되는 Power Query M 또는 SQL 쿼리로 구성됩니다.

파티션의 속성은 테이블에 대한 데이터를 원본으로 지정하는 방법을 결정합니다. 개체 계층 구조에서 파티션의 부모 개체는 테이블 개체입니다.

개체 정의

모든 개체에는 이름, 형식, 설명, 속성 컬렉션 및 주석을 비롯한 공통 속성 집합이 있습니다. 파티션 개체에는 다음과 같은 속성도 있습니다.

형식
파티션의 형식입니다. 유효한 값은 숫자이며 다음을 포함합니다.

  • 쿼리 (1) – 이 파티션의 데이터는 DataSource에 대해 쿼리를 실행하여 검색됩니다. DataSource는 model.bim 파일에 정의된 데이터 원본이어야 합니다.

  • 계산(2) – 이 파티션의 데이터는 계산된 식을 실행하여 채워집니다.

  • 없음 (3) – 이 파티션의 데이터는 새로 고침 작업의 일부로 데이터의 행 집합을 서버에 푸시하여 채워집니다.

mode
파티션의 쿼리 모드를 정의합니다. 유효한 값은 import, DirectQuery 또는 default (상속됨)입니다. 이 값은 필수입니다.

Description
가져오기 가져온 데이터를 저장하는 메모리 내 분석 엔진에 대해 쿼리 요청이 실행되었음을 나타냅니다.
DirectQuery 외부 관계형 데이터베이스에 쿼리 실행을 전달합니다. DirectQuery 모드는 파티션을 사용하여 모델 디자인 중에 사용되는 샘플 데이터를 제공합니다. 프로덕션 서버에 배포된 경우 전체 데이터 뷰로 다시 전환해야 합니다. DirectQuery 모드에는 테이블당 하나의 파티션과 모델당 하나의 데이터 원본이 필요합니다.
default 모델 또는 데이터베이스 수준에서 개체 트리 위로 모드를 더 높이 전환하려는 경우 이를 설정합니다. 기본값을 선택하면 쿼리 모드가 가져오기 또는 DirectQuery가 됩니다.

source
쿼리할 데이터의 위치를 식별합니다. 유효한 값은 query, calculated 또는 none입니다. 이 값은 필수입니다.

Description
없음 데이터를 로드하고 메모리에 저장하는 가져오기 모드에 사용됩니다.
쿼리 DirectQuery 모드의 경우 모델의 DataSource에 지정된 관계형 데이터베이스에 대해 실행되는 SQL 쿼리입니다. DataSources 개체(TMSL)를 참조하세요.
계산 계산된 테이블은 테이블을 만들 때 지정된 식에서 가져옵니다. 이 식은 계산된 테이블에 대해 만든 파티션의 원본으로 간주됩니다.

Dataview
DirectQuery 파티션의 경우 추가 dataView 속성은 데이터를 검색하는 쿼리가 샘플인지 아니면 전체 데이터 세트인지를 추가로 지정합니다. 유효한 값은 전체, 샘플 또는 기본값 (상속됨)입니다. 언급했듯이 샘플은 데이터 모델링 및 테스트 중에만 사용됩니다.

사용량

파티션 개체는 Alter 명령(TMSL), Create 명령(TMSL), CreateOrReplace 명령(TMSL), Delete 명령(TMSL), Refresh 명령(TMSL)MergePartitions 명령(TMSL)에서 사용됩니다.

파티션 개체를 만들거나 바꾸거나 변경할 때 개체 정의의 모든 읽기-쓰기 속성을 지정합니다. 읽기-쓰기 속성의 누락은 삭제로 간주됩니다. 읽기-쓰기 속성에는 이름, 설명, 모드 및 원본이 포함됩니다.

예제

예제 1 - 팩트 테이블이 아닌 테이블의 간단한 파티션 구조입니다.

"partitions": [  
          {  
            "name": "Customer",  
            "source": {  
              "query": "SELECT [dbo].[Customer].* FROM [dbo].[Customer]",  
              "dataSource": "SqlServer localhost FoodmartDB"  
            }  
]  

예제 2 - 분할된 팩트 데이터는 일반적으로 동일한 테이블의 데이터에 대해 겹치지 않는 파티션을 만드는 WHERE 절을 기반으로 합니다.

"partitions": [  
          {  
            "name": "sales_fact_2015",  
            "source": {  
              "query": "SELECT [dbo].[sales_fact_2015].* FROM [dbo].[sales_fact_2015] WHERE [dbo].[sales_fact_2015].[Quarter]=4",                                                                                          
              "dataSource": "SqlServer localhost FoodmartDB"  
            },  
          }  
        ]  

예제 3 - DAX 식을 기반으로 하는 계산 테이블입니다.

"partitions": [  
          {  
            "name": "CalcTable1",  
            "source": {  
              "type": "calculated",  
              "expression": "'Product Class'"  
            },  
            }  
]  

전체 구문

다음은 파티션 개체의 스키마 표현입니다.

"partitions": {  
                "type": "array",  
                "items": {  
                  "description": "Partition object of Tabular Object Model (TOM)",  
                  "type": "object",  
                  "properties": {  
                    "name": {  
                      "type": "string"  
                    },  
                    "description": {  
                      "anyOf": [  
                        {  
                          "type": "string"  
                        },  
                        {  
                          "type": "array",  
                          "items": {  
                            "type": "string"  
                          }  
                        }  
                      ]  
                    },  
                    "mode": {  
                      "enum": [  
                        "import",  
                        "directQuery",  
                        "default"  
                      ]  
                    },  
                    "dataView": {  
                      "enum": [  
                        "full",  
                        "sample",  
                        "default"  
                      ]  
                    },  
                    "source": {  
                      "anyOf": [  
                        {  
                          "description": "QueryPartitionSource object of Tabular Object Model (TOM)",  
                          "type": "object",  
                          "properties": {  
                            "type": {  
                              "enum": [  
                                "query",  
                                "calculated",  
                                "none"  
                              ]  
                            },  
                            "query": {  
                              "anyOf": [  
                                {  
                                  "type": "string"  
                                },  
                                {  
                                  "type": "array",  
                                  "items": {  
                                    "type": "string"  
                                  }  
                                }  
                              ]  
                            },  
                            "dataSource": {  
                              "type": "string"  
                            }  
                          },  
                          "additionalProperties": false  
                        },  
                        {  
                          "description": "CalculatedPartitionSource object of Tabular Object Model (TOM)",  
                          "type": "object",  
                          "properties": {  
                            "type": {  
                              "enum": [  
                                "query",  
                                "calculated",  
                                "none"  
                              ]  
                            },  
                            "expression": {  
                              "anyOf": [  
                                {  
                                  "type": "string"  
                                },  
                                {  
                                  "type": "array",  
                                  "items": {  
                                    "type": "string"  
                                  }  
                                }  
                              ]  
                            }  
                          },  
                          "additionalProperties": false  
                        }  
                      ]  
                    },  
                    "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  
                }  
              },