Bagikan melalui


Objek partisi (TMSL)

Berlaku untuk: SQL Server 2016 dan yang lebih baru Analysis Services Azure Analysis Services Fabric/Power BI Premium

Menentukan partisi, atau segmentasi logis, dari kumpulan baris tabel. Partisi terdiri dari kueri Power Query M atau SQL yang digunakan untuk mengimpor data, untuk data sampel di lingkungan pemodelan, atau sebagai kueri data lengkap untuk melewati eksekusi kueri melalui DirectQuery.

Properti pada partisi menentukan bagaimana data bersumber untuk tabel. Dalam hierarki objek, objek induk partisi adalah objek tabel.

Definisi objek

Semua objek memiliki sekumpulan properti umum, termasuk nama, jenis, deskripsi, koleksi properti, dan anotasi. Objek partisi juga memiliki properti berikut.

jenis
Jenis partisi. Nilai yang valid adalah numerik, dan menyertakan yang berikut ini:

  • Kueri (1) – data dalam partisi ini diambil dengan menjalankan kueri terhadap DataSource. DataSource harus merupakan sumber data yang ditentukan dalam file model.bim.

  • Dihitung (2) – data dalam partisi ini diisi dengan menjalankan ekspresi terhitung.

  • Tidak ada (3) – data dalam partisi ini diisi dengan mendorong kumpulan baris data ke server sebagai bagian dari operasi Refresh.

mode
Menentukan mode kueri partisi. Nilai yang valid adalah impor, DirectQuery, atau default (diwariskan). Nilai ini diperlukan.

Nilai Deskripsi
Impor Menunjukkan permintaan kueri dikeluarkan terhadap mesin analitik dalam memori yang menyimpan data yang diimpor.
DirectQuery Teruskan eksekusi kueri ke database relasional eksternal. Mode DirectQuery menggunakan partisi untuk menyediakan data sampel yang digunakan selama desain model. Saat disebarkan di server produksi, Anda harus beralih kembali ke tampilan Data lengkap. Ingat bahwa mode DirectQuery memerlukan satu partisi per tabel, dan satu sumber data per model.
default Atur ini jika Anda ingin beralih mode lebih tinggi ke atas pohon objek, di tingkat model atau database. Saat Anda memilih default, mode kueri akan menjadi impor atau DirectQuery.

sumber
Mengidentifikasi lokasi data yang akan dikueri. Nilai yang valid adalah kueri, terhitung, atau tidak ada. Nilai ini diperlukan.

Nilai Deskripsi
Tidak ada Digunakan untuk mode impor, tempat data dimuat dan disimpan dalam memori.
query Untuk mode DirectQuery, ini adalah kueri SQL yang dijalankan terhadap database relasional yang ditentukan dalam DataSource model. Lihat objek DataSources (TMSL).
Dihitung Tabel terhitung bersumber dari ekspresi yang ditentukan saat tabel dibuat. Ekspresi ini dianggap sebagai sumber partisi yang dibuat untuk tabel terhitung.

Dataview
Untuk partisi DirectQuery, properti dataView tambahan selanjutnya menentukan apakah kueri yang mengambil data adalah sampel atau himpunan data lengkap. Nilai yang valid penuh, sampel, atau default (diwariskan). Seperti disebutkan, sampel hanya digunakan selama pemodelan dan pengujian data.

Penggunaan

Objek partisi digunakan dalam perintah Alter (TMSL), perintah Buat (TMSL), perintah CreateOrReplace (TMSL), perintah Hapus (TMSL), perintah Refresh (TMSL), dan perintah MergePartitions (TMSL).

Saat membuat, mengganti, atau mengubah objek partisi, tentukan semua properti baca-tulis definisi objek. Kelalaian properti baca-tulis dianggap sebagai penghapusan. Properti baca-tulis mencakup nama, deskripsi, mode, dan sumber.

Contoh

Contoh 1 - Struktur partisi sederhana tabel (bukan tabel fakta).

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

Contoh 2 - Data fakta yang dipartisi biasanya didasarkan pada klausa WHERE yang membuat partisi yang tidak tumpang tindih untuk data dari tabel yang sama.

"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"  
            },  
          }  
        ]  

Contoh 3 - Tabel terhitung berdasarkan ekspresi DAX.

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

Sintaks Penuh

Di bawah ini adalah representasi skema objek partisi.

"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  
                }  
              },