Tabular Object Model (TOM)

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

Model Objek Tabular (TOM) adalah ekstensi pustaka klien Analysis Management Object (AMO), yang dibuat untuk mendukung skenario pemrograman untuk model tabular yang dibuat pada tingkat kompatibilitas 1200 dan yang lebih tinggi. Seperti halnya AMO, TOM menyediakan cara terprogram untuk menangani fungsi administratif seperti membuat model, mengimpor dan menyegarkan data, dan menetapkan peran dan izin.

TOM memaparkan metadata tabular asli, seperti model, tabel, kolom, dan objek hubungan . Tampilan tingkat tinggi dari pohon model objek, yang disediakan di bawah ini, menggambarkan bagaimana bagian komponen terkait.

Karena TOM adalah ekstensi AMO, semua kelas yang mewakili objek tabular baru diimplementasikan dalam rakitan Microsoft.AnalysisServices.Tabular.dll baru. Kelas tujuan umum AMO dipindahkan ke rakitan Microsoft.AnalysisServices.Core . Kode Anda perlu mereferensikan kedua rakitan. Lihat Menginstal, mendistribusikan, dan mereferensikan Model Objek Tabular (Microsoft.AnalysisServices.Tabular) untuk detailnya.

API tersedia untuk kode .NET terkelola. Untuk mempelajari selengkapnya tentang kelas AMO/TOM tertentu, lihat Referensi Namespace Layanan Microsoft.AnalysisServices. Untuk meninjau daftar lengkap opsi pemrograman untuk model tabular, termasuk dukungan skrip dan bahasa kueri, lihat Pemrograman Model Tabular untuk Tingkat Kompatibilitas 1200.

Hierarki model objek tabular

Dari perspektif logis, semua objek tabular membentuk pohon, yang akarnya adalah Model, turun dari Database. Server dan Database tidak dianggap tabular karena objek ini juga dapat mewakili database multidimensi yang dihosting di server yang berjalan dalam mode Multidimensi, atau model tabular pada tingkat kompatibilitas yang lebih rendah yang tidak menggunakan metadata tabular untuk definisi objek.

Dengan pengecualian AttributeHierarchy, KPI, dan LinguisticMetadata, setiap objek anak dapat menjadi anggota koleksi. Misalnya, objek Model berisi kumpulan objek Tabel (melalui properti Tabel ), dengan setiap objek Tabel berisi kumpulan objek Kolom , dan sebagainya.

Turunan tingkat terendah dari objek induk apa pun dalam hierarki ini adalah objek Anotasi yang dapat digunakan untuk memperluas skema secara opsional selama Anda menyediakan kode untuk menanganinya.

diagram hierarki objek hierarki objek

TOM dibangun di atas infrastruktur AMO, yang juga mengakomodasi database multidimensi dan tabular pada tingkat kompatibilitas di bawah 1200. Ini memiliki beberapa implikasi praktis. Saat Anda mengelola objek yang tidak ditentukan dalam metadata tabular (seperti Server atau Database), Anda perlu memanfaatkan bagian dari tumpukan AMO yang ada yang menjelaskan objek tersebut. Seiring dengan API warisan adalah konsep objek utama dan kecil yang memberikan deskripsi terperinci tentang status objek seperti yang ditemukan dari server, atau ketika disimpan ke server. Kelas MajorObject di bawah namespace Microsoft.AnalysisServices mengekspos metode untuk Refresh dan Pembaruan. Objek kecil hanya disegarkan atau disimpan melalui objek utama yang berisi objek tersebut.

Sebaliknya, saat Anda mengelola objek yang merupakan bagian dari metadata tabular, seperti Model atau Tabel, Anda memanfaatkan tumpukan tabular yang sama sekali baru. Dalam tumpukan ini, pembaruan terperinci, yang berarti setiap objek metadata, yang berasal dari kelas MetadataObject di bawah namespace Microsoft.AnalysisServices.Tabular, dapat disimpan secara individual ke server. Biasanya, Anda akan menemukan seluruh Model. Anda kemudian membuat perubahan pada objek metadata individual di bawahnya, seperti Tabel atau Kolom. Anda kemudian memanggil metode Model.SaveChanges() yang memahami perubahan yang dibuat oleh Anda pada tingkat terperinci, mengirim perintah ke server untuk memperbarui hanya objek yang berubah.

TOM dan XMLA

Pada kawat, TOM menggunakan protokol XMLA untuk berkomunikasi dengan server dan mengelola objek. Saat mengelola objek non-tabular, TOM menggunakan ASSL, ekstensi Analysis Services Scripting Language XMLA. Saat mengelola objek tabular, TOM menggunakan protokol tabular MS-SSAS-T, juga ekstensi XMLA. Untuk mempelajari lebih lanjut, lihat dokumentasi protokol MS-SSAS-T SQL Server Analysis Services Tabular.

TOM dan JSON

Metadata tabular, yang disusun sebagai dokumen JSON, memiliki perintah baru dan sintaks definisi model objek melalui Tabular Model Scripting Language (TMSL). Bahasa pembuatan skrip menggunakan JSON untuk isi permintaan dan respons.

Meskipun TMSL dan TOM mengekspos objek, Tabel, Kolom , dan sebagainya yang sama, dan operasi yang sama, Buat, Hapus, Refresh, TOM tidak menggunakan TMSL pada kawat. TOM menggunakan protokol tabular MS-SSAS-T sebagai gantinya, seperti yang disebutkan sebelumnya.

Sebagai pengguna, Anda dapat memilih apakah akan mengelola database tabular melalui pustaka TOM dari program C# atau skrip PowerShell Anda, atau melalui skrip TMSL yang dijalankan melalui PowerShell, SQL Server Management Studio (SSMS), atau Pekerjaan SQL Server Agent.

Keputusan untuk menggunakan satu atau yang lain akan turun ke spesifikasi kebutuhan Anda. Pustaka TOM menyediakan fungsionalitas yang lebih kaya dibandingkan dengan TMSL. Secara khusus, sedangkan TMSL hanya menawarkan operasi kasar di database, tabel, partisi, atau tingkat peran, TOM memungkinkan operasi pada butir yang jauh lebih halus. Untuk menghasilkan atau memperbarui model secara terprogram, Anda akan memerlukan jangkauan penuh API di pustaka TOM.

Menggunakan TOM dengan Power BI

Power BI Premium, Premium Per Pengguna, dan ruang kerja Power BI Embedded mendukung konektivitas platform terbuka melalui titik akhir XMLA. Dengan titik akhir XMLA, alat kustom, skrip, dan proses otomatis dapat digunakan untuk pemodelan data dan untuk melakukan ruang kerja dan tugas administratif model semantik.

Sebelum membuat aplikasi .Net menggunakan TOM untuk bekerja dengan model semantik Power BI, pastikan untuk membaca konektivitas model Semantik dengan titik akhir XMLA dalam dokumentasi Power BI. Artikel ini menjelaskan cara mengaktifkan titik akhir XMLA untuk akses baca-tulis, mendapatkan URL koneksi ruang kerja, dan aspek penting lainnya untuk manajemen model semantik dengan aplikasi kustom, alat eksternal, dan skrip.

Untuk mempelajari selengkapnya tentang menggunakan Model Objek Tabular untuk administrasi dan manajemen model semantik, lihat Memprogram model semantik Power BI (TOM).

Lihat juga

Tingkat kompatibilitas untuk model tabular
Pustaka klien Analysis Services
Referensi XML untuk Analisis (XMLA)
Objek Manajemen Analisis (AMO)