Aracılığıyla paylaş


olapR (SQL Server Machine Learning Services'da R paketi)

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri

olapR , Microsoft'un SQL Server Analysis Services OLAP küpü üzerinde MDX sorguları için kullanılan bir R paketidir. İşlevler tüm MDX işlemlerini desteklemez, ancak boyutları dilimleme, detaya inme, toparlama ve çevirme gibi işlemlerle sorgular oluşturabilirsiniz. Paket SQL Server Machine Learning Services ve SQL Server 2016 R Services'a dahildir.

Bu paketi, SQL Server'ın desteklenen tüm sürümlerinde bir Analysis Services OLAP küpüyle bağlantılarda kullanabilirsiniz. Tablosal model bağlantıları şu anda desteklenmemektedir.

Paketi yükleme

OlapR paketi R oturumuna önceden yüklenmez. Paketi yüklemek için aşağıdaki komutu çalıştırın.

library(olapR)

Paket sürümü

Geçerli sürüm, paketi sağlayan tüm Windows ürünleri ve indirmelerinde 1.0.0'dır.

Kullanılabilirlik ve konum

Bu paket, aşağıdaki ürünlerde ve Azure'daki çeşitli sanal makine görüntülerinde sağlanır. Paket konumu buna göre değişir.

Ürün Yer
SQL Server Machine Learning Services (R tümleştirmesi ile) 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 Sunucusu (R Server) C:\Program Files\Microsoft\R_SERVER\library
Microsoft R İstemcisi C:\Program Files\Microsoft\R Client\R_SERVER\library
Veri Bilimi Sanal Makinesi (Azure'da) C:\Program Files\Microsoft\R Client\R_SERVER\library
SQL Server Sanal Makinesi (Azure'da) 1 C:\Program Files\Microsoft SQL Server\MSSQL14. MSSQLSERVER\R_SERVICES\library

SQL Server'da 1 R tümleştirmesi isteğe bağlıdır. VM yapılandırması sırasında Machine Learning veya R özelliğini eklediğinizde olapR paketi yüklenir.

olapR'yi kullanma

olapR kitaplığı, Analysis Services küpü üzerinde MDX sorguları oluşturmak ve doğrulamak için basit bir R stili API sağlar. olapR, tüm MDX senaryoları için API'ler sunmaz, ancak N boyutlu dilimleme, dilime ayırma, detaya inme, özetleme ve pivot senaryoları dahil olmak üzere en yaygın kullanım örneklerini kapsar. OlapR API'leri kullanılarak oluşturulamayan sorgular için Analysis Services'e doğrudan bir MDX sorgusu da ekleyebilirsiniz.

olapR kullanmak için iş akışı

  1. Kitaplığı yükleyin.
  2. Analysis Services'da MOLAP küpünü gösteren bir bağlantı dizesi oluşturun.
  3. Küpte okuma erişiminiz olduğunu doğrulayın
  4. Bir bağlantıda bağlantı dizesini kullanın.
  5. keşfet işlevini kullanarak bağlantıyı doğrulayın.
  6. MDX sorgu dizesi göndererek veya bir sorgu yapısı oluşturarak sorgu ayarlayın.
  7. Sorguyu yürütür ve sonucu doğrular.

OLAP Küpü üzerinde bir MDX sorgusu yürütmek için önce bir bağlantı dizesi (olapCnn) oluşturmanız ve işlevini OlapConnection(connectionString)kullanarak doğrulamanız gerekir. Bağlantı dizesinin veri kaynağı (localhost gibi) ve sağlayıcı (MSOLAP) olmalıdır.

Bağlantı kurulduktan sonra, tam tanımlı bir MDX sorgusu geçirebilir veya nesneyi kullanarak Query() sorguyu oluşturabilir, küp(), eksen(), sütunlar(), dilimleyiciler( vb. kullanarak sorgu ayrıntılarını ayarlayabilirsiniz.

Son olarak, olapCnn ve sorguyu executeMD ya da execute2D'ye geçirerek çok boyutlu bir dizi veya bir veri çerçevesi elde edin.

Önemli

olapR , Analysis Services OLE DB sağlayıcısını gerektirir. Bilgisayarınızda SQL Server Analysis Services yüklü değilse Sağlayıcıyı Microsoft'tan indirin: Analysis Services bağlantıları için kullanılan veri sağlayıcıları

SQL Server 2016 için SQLServer2016SP2-KB4052908-x64-ENU.exe indirin.

İşlev listesi

İşlev Description
OlapConnection Analysis Services Veritabanına erişmek için bağlantı dizesini oluşturun.
Query Analysis Services Veritabanında kullanılacak bir Sorgu nesnesi oluşturma. Sorguya ayrıntı eklemek için küp, eksen, sütunlar, satırlar, sayfalar, bölümler, dilimleyiciler kullanın.
executeMD Query nesnesini veya MDX dizesini alır ve sonucu çok boyutlu bir dizi olarak döndürür.
execute2D Query nesnesini veya MDX dizesini alır ve sonucu 2B veri çerçevesi olarak döndürür.
explore Küp meta verilerinin keşfine izin verir.

MDX kavramları

MDX, veri analizi ve araştırma için en iyi duruma getirilmiş yapılarda depolanan işlenmiş ve toplanmış verileri içeren çok boyutlu OLAP (MOLAP) küplerinin sorgu dilidir. Küpler, geçmiş verilerdeki ilişkiler hakkında içgörüler elde etmek için iş ve bilimsel uygulamalarda kullanılır. Küpler dahili olarak, çoğunlukla tarih ve saat, coğrafya veya diğer varlıklar gibi boyutlar boyunca dilimlenmiş, ölçülebilir sayısal verilerden oluşur. Tipik bir sorgu, belirli bir bölge ve zaman aralığı için satışları ürün kategorisine, promosyona, satış kanalına vb. göre dilimlenmiş olarak toplayabilir.

Küp verilerine çeşitli işlemler kullanılarak erişilebilir:

  • Dilimleme - Bir boyut için bir değer seçerek küp alt kümesini alarak bir boyut daha küçük olan bir küp elde edilir.

  • Dilimleme - Birden çok boyutta bir değer aralığı belirleyerek bir alt küp oluşturma.

  • Detaya Gitme/Genel Görünüm - Daha genel veri aralıklarından daha ayrıntılı veri aralıklarına veya tam tersine gidin.

  • Roll-up işlemi - Bir boyuttaki verileri özetleme.

  • Eksen - Küpü döndürün.

MDX sorguları SQL sorgularına benzer, ancak OLAP veritabanlarının esnekliği nedeniyle en fazla 128 sorgu ekseni içerebilir. İlk dört eksen kolaylık sağlamak için adlandırılır: Sütunlar, Satırlar, Sayfalar ve Bölümler. Aşağıdaki örnekte gösterildiği gibi yalnızca iki (Satır ve Sütun) kullanmak da yaygındır:

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]

Bu MDX sorgusu, çok boyutlu küp öğreticisinden bir AdventureWorks OLAP küpünü kullanarak İnternet satış sayısını ve satış miktarını seçer ve bunları Sütun eksenine yerleştirir. Satır ekseninde "Ürün Hattı" boyutunun tüm olası değerlerini yerleştirir. Ardından WHERE yan tümcesini (MDX sorgularındaki dilimleyici ekseni) kullanarak sorguyu filtrelediğinden yalnızca Avustralya'dan gelen satışlar önemli olur. Dilimleyici ekseni olmadan, tüm ülkelerden/bölgelerden gelen satışları toplayıp özetlerdik.

olapR örnekleri

# 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)

Ayrıca bakınız

olapR kullanarak MDX sorguları oluşturma