共用方式為


Partitions 物件 (TMSL)

適用於: SQL Server 2016 和更新版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium

定義數據表數據列集的數據分割或邏輯分割。 分割區包含用於匯入數據的Power Query M或 SQL 查詢、模型化環境中的範例數據,或做為透過 DirectQuery 傳遞查詢執行的完整數據查詢。

數據分割上的屬性會決定數據表的數據源。 在物件階層中,數據分割的父對像是數據表物件。

物件定義

所有物件都有一組通用的屬性,包括名稱、類型、描述、屬性集合和批注。 Partition 物件也有下列屬性。

類型
數據分割的類型。 有效值為數值,並包含下列專案:

  • 查詢 (1) – 此分割區中的數據是針對 DataSource執行查詢來擷取。 DataSource 必須是 model.bim 檔案中定義的數據源。

  • 匯出 (2) – 此分割區中的數據會藉由執行匯出表示式來填入。

  • 無 (3) – 此分割區中的數據會藉由將數據列集推送至伺服器,以填入重新整理作業的一部分。

模式
定義數據分割的查詢模式。 有效值為 匯入DirectQuery或預設 (繼承)。 此值是必要的。

價值 描述
匯入 指出針對儲存匯入數據的記憶體內部分析引擎發出查詢要求。
DirectQuery 將查詢執行傳遞至外部關係資料庫。 DirectQuery 模式會使用分割區來提供模型設計期間所使用的範例數據。 在生產伺服器上部署時,您應該切換回 [完整數據] 檢視。 回想一下,DirectQuery 模式需要每個數據表一個數據分割,而每個模型需要一個數據源。
默認 如果您想要在模型或資料庫層級上切換物件樹狀結構較高的模式,請設定此選項。 當您選擇預設值時,查詢模式會是匯入或 DirectQuery。


識別要查詢的數據位置。 有效值為 查詢、計算。 此值是必要的。

價值 描述
用於匯入模式,其中數據會載入並儲存在記憶體中。
查詢 針對 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  
                }  
              },