olapR (paket R di SQL Server Machine Learning Services)

Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru

olapR adalah paket R dari Microsoft yang digunakan untuk kueri MDX terhadap kubus OLAP SQL Server Analysis Services. Functions tidak mendukung semua operasi MDX, tetapi Anda dapat membuat kueri yang mengiris, membagi, menelusuri paling detail, rollup, dan pivot pada dimensi. Paket ini disertakan dalam SQL Server Machine Learning Services dan SQL Server 2016 R Services.

Anda dapat menggunakan paket ini pada koneksi ke kubus OLAP Analysis Services pada semua versi SQL Server yang didukung. Koneksi ke model tabular saat ini tidak didukung.

Muat paket

Paket olapR tidak dimuat sebelumnya ke dalam sesi R. Jalankan perintah berikut untuk memuat paket.

library(olapR)

Versi paket

Versi saat ini adalah 1.0.0 di semua produk khusus Windows dan unduhan yang menyediakan paket.

Ketersediaan dan lokasi

Paket ini disediakan dalam produk berikut, serta pada beberapa gambar komputer virtual di Azure. Lokasi paket bervariasi sesuai.

Produk Lokasi
SQL Server Machine Learning Services (dengan integrasi R) C:\Program Files\Microsoft SQL Server\MSSQL14. MSSQLSERVER\R_SERVICES\library
SQL Server 2016 R Services C:\Program Files\Microsoft SQL Server\MSSQL13. MSSQLSERVER\R_SERVICES\library
Microsoft Machine Learning Server (R Server) C:\Program Files\Microsoft\R_SERVER\library
Klien Microsoft R C:\Program Files\Microsoft\R Client\R_SERVER\library
Ilmu Data Virtual Machine (di Azure) C:\Program Files\Microsoft\R Client\R_SERVER\library
SQL Server Virtual Machine (di Azure) 1 C:\Program Files\Microsoft SQL Server\MSSQL14. MSSQLSERVER\R_SERVICES\library

1 Integrasi R bersifat opsional dalam SQL Server. Paket olapR akan diinstal saat Anda menambahkan fitur Machine Learning atau R selama konfigurasi VM.

Cara menggunakan olapR

Pustaka olapR menyediakan API gaya R sederhana untuk menghasilkan dan memvalidasi kueri MDX terhadap kubus Analysis Services. olapR tidak menyediakan API untuk semua skenario MDX, tetapi mencakup kasus penggunaan terbanyak termasuk ipotong, dadu, telusuri paling detail, rollup, dan skenario pivot dalam dimensi N. Anda juga dapat memasukkan kueri MDX langsung ke Analysis Services untuk kueri yang tidak dapat dibangun menggunakan API olapR.

Alur kerja untuk menggunakan olapR

  1. Muat pustaka.
  2. Buat string koneksi yang menunjuk ke kubus MOLAP di Analysis Services.
  3. Memverifikasi bahwa Anda memiliki akses baca pada kubus
  4. Gunakan string koneksi pada koneksi.
  5. Verifikasi koneksi menggunakan fungsi jelajahi.
  6. Siapkan kueri dengan mengirimkan string kueri MDX atau dengan membangun struktur kueri.
  7. Jalankan kueri dan verifikasi hasilnya.

Untuk menjalankan kueri MDX pada Kubus OLAP, Anda harus terlebih dahulu membuat string koneksi (olapCnn) dan memvalidasi menggunakan fungsi OlapConnection(connectionString). String koneksi harus memiliki Sumber Data (seperti localhost) dan Penyedia (MSOLAP).

Setelah koneksi dibuat, Anda bisa meneruskan kueri MDX yang sepenuhnya ditentukan, atau Anda bisa membuat kueri menggunakan Query() objek , mengatur detail kueri menggunakan cube(), sumbu(), kolom(), pemotong(), dan sebagainya.

Terakhir, teruskan olapCnn kueri dan ke dalam executeMD atau execute2D untuk mendapatkan array multidimensi atau bingkai data kembali.

Penting

olapR memerlukan penyedia Analysis Services OLE DB. Jika Anda belum menginstal SQL Server Analysis Services di komputer Anda, unduh penyedia dari Microsoft: Penyedia data yang digunakan untuk koneksi Analysis Services

Versi yang tepat yang harus Anda instal untuk SQL Server 2016 ada di sini.

Daftar fungsi

Fungsi Deskripsi
OlapConnection Buat string koneksi untuk mengakses Database Analysis Services.
Query Buat objek Kueri untuk digunakan pada Database Analysis Services. Gunakan kubus, sumbu, kolom, baris, halaman, bab, pemotong untuk menambahkan detail ke kueri.
executeMD Mengambil objek Kueri atau string MDX, dan mengembalikan hasilnya sebagai array multidimensi.
execute2D Mengambil objek Kueri atau string MDX, dan mengembalikan hasilnya sebagai bingkai data 2D.
explore Memungkinkan eksplorasi metadata kubus.

Konsep MDX

MDX adalah bahasa kueri untuk kubus OLAP multidimensi (MOLAP) yang berisi data yang diproses dan agregat yang disimpan dalam struktur yang dioptimalkan untuk analisis dan eksplorasi data. Kubus digunakan dalam aplikasi bisnis dan ilmiah untuk menarik wawasan tentang hubungan dalam data historis. Secara internal, kubus sebagian besar terdiri dari data numerik yang dapat diukur, yang diiris sepanjang dimensi seperti tanggal dan waktu, geografi, atau entitas lainnya. Kueri umum mungkin menggulung penjualan untuk wilayah dan periode waktu tertentu, diiris berdasarkan kategori produk, promosi, saluran penjualan, dan sebagainya.

Data kubus dapat diakses menggunakan berbagai operasi:

  • Mengiris - Mengambil subset kubus dengan memilih nilai untuk satu dimensi, menghasilkan kubus yang satu dimensi lebih kecil.

  • Dicing - Membuat subkube dengan menentukan rentang nilai pada beberapa dimensi.

  • Telusuri Paling Detail/Naik - Navigasikan dari rentang data yang lebih umum ke yang lebih rinci, atau sebaliknya.

  • Roll-up - Meringkas data pada dimensi.

  • Pivot - Putar kubus.

Kueri MDX mirip dengan kueri SQL tetapi, karena fleksibilitas database OLAP, dapat berisi hingga 128 sumbu kueri. Empat sumbu pertama dinamai untuk kenyamanan: Kolom, Baris, Halaman, dan Bab. Juga umum untuk hanya menggunakan dua (Baris dan Kolom), seperti yang ditunjukkan dalam contoh berikut:

SELECT {[Measures].[Internet Sales Count], [Measures].[Internet Sales-Sales Amount]} ON COLUMNS, 
{[Product].[Product Line].[Product Line].MEMBERS} ON ROWS
FROM [Analysis Services Tutorial]
WHERE [Sales Territory].[Sales Territory Country].[Australia]

Menggunakan kubus OLAP AdventureWorks dari tutorial kubus multidimensi, kueri MDX ini memilih jumlah penjualan internet dan jumlah penjualan dan menempatkannya di sumbu Kolom. Pada sumbu Baris, ia menempatkan semua nilai yang mungkin dari dimensi "Baris Produk". Kemudian, menggunakan klausa WHERE (yang merupakan sumbu pemotong dalam kueri MDX), klausul tersebut memfilter kueri sehingga hanya penjualan dari Australia saja. Tanpa sumbu pemotong, kami akan menggulung dan meringkas penjualan dari semua negara/wilayah.

Contoh olapR

# load the library
library(olapR)

# Connect to a local SSAS default instance and the Analysis Services Tutorial database.
# For named instances, use server-name\\instancename, escaping the instance name delimiter.
# For databases containing multiple cubes, use the cube= parameter to specify which one to use.
cnnstr <- "Data Source=localhost; Provider=MSOLAP; initial catalog=Analysis Services Tutorial"
olapCnn <- OlapConnection(cnnstr)

# Approach 1 - build the mdx query in R
qry <- Query()

cube(qry) <- "[Analysis Services Tutorial]"
columns(qry) <- c("[Measures].[Internet Sales Count]", "[Measures].[Internet Sales-Sales Amount]")
rows(qry) <- c("[Product].[Product Line].[Product Line].MEMBERS") 
slicers(qry) <- c("[Sales Territory].[Sales Territory Country].[Australia]")

result1 <- executeMD(olapCnn, qry)

# Approach 2 - Submit a fully formed MDX query
mdx <- "SELECT {[Measures].[Internet Sales Count], [Measures].[Internet Sales-Sales Amount]} ON AXIS(0), {[Product].[Product Line].[Product Line].MEMBERS} ON AXIS(1) FROM [Analysis Services Tutorial] WHERE [Sales Territory].[Sales Territory Country].[Australia]"

result2 <- execute2D(olapCnn, mdx)

Lihat juga

Cara membuat kueri MDX menggunakan olapR