Sdílet prostřednictvím


olapR (balíček R ve službě SQL Server Machine Learning Services)

platí pro: SQL Server 2016 (13.x) a novější verze

olapR je balíček R od Microsoftu, který se používá pro dotazy MDX na datovou krychli služby SQL Server Analysis Services OLAP. Funkce nepodporují všechny operace MDX, ale můžete vytvářet dotazy, které umožňují řezání, seskupování, přechod k detailům, shrnutí a pivotování nad dimenzemi. Balíček je součástí služeb SQL Server Machine Learning Services a SQL Server 2016 R Services.

Tento balíček můžete použít pro připojení k datové krychli OLAP služby Analysis Services ve všech podporovaných verzích SQL Serveru. Připojení k tabulkovému modelu se v tuto chvíli nepodporují.

Načtení balíčku

Balíček olapR není automaticky načten do relace jazyka R. Načtěte balíček spuštěním následujícího příkazu.

library(olapR)

Verze balíčku

Aktuální verze je 1.0.0 ve všech produktech, které jsou pouze pro Windows, a v stahováních poskytujících balíček.

Dostupnost a umístění

Tento balíček je k dispozici v následujících produktech a také na několika imagích virtuálních počítačů v Azure. Umístění balíčku se odpovídajícím způsobem liší.

Product Umístění
SQL Server Machine Learning Services (s integrací jazyka 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
Microsoft R Client C:\Program Files\Microsoft\R Client\R_SERVER\library
Data Science Virtual Machine (v Azure) C:\Program Files\Microsoft\R Client\R_SERVER\library
Virtuální počítač s SQL Serverem (v Azure) 1 C:\Program Files\Microsoft SQL Server\MSSQL14. MSSQLSERVER\R_SERVICES\library

Integrace 1 R je v SQL Serveru volitelná. Balíček olapR se nainstaluje při přidání funkce Machine Learning nebo R během konfigurace virtuálního počítače.

Jak používat olapR

Knihovna olapR poskytuje jednoduché rozhraní API stylu jazyka R pro generování a ověřování dotazů MDX pro datovou krychli služby Analysis Services. olapR neposkytuje rozhraní API pro všechny scénáře MDX, ale pokrývá většinu běžných případů použití, včetně řezu, krájení, přechodu k podrobnostem, kumulativních a kontingenčních scénářů v N dimenzích. Můžete také zadat přímý dotaz MDX do služby Analysis Services pro dotazy, které nelze vytvořit pomocí rozhraní API olapR.

Pracovní postup pro použití olapR

  1. Načtěte knihovnu.
  2. Vytvořte připojovací řetězec odkazující na datovou krychli MOLAP ve službě Analysis Services.
  3. Ověřte, že k datové krychli máte přístup pro čtení.
  4. Použijte připojovací řetězec pro připojení.
  5. Pomocí funkce prozkoumat ověřte připojení.
  6. Nastavte dotaz odesláním řetězce dotazu MDX nebo vytvořením struktury dotazu.
  7. Spusťte dotaz a ověřte výsledek.

Pokud chcete spustit dotaz MDX na datové krychli OLAP, musíte nejprve vytvořit připojovací řetězec (olapCnn) a ověřit pomocí funkce OlapConnection(connectionString). Připojovací řetězec musí obsahovat zdroj dat (například localhost) a poskytovatele (MSOLAP).

Po navázání připojení můžete předat plně definovaný dotaz MDX, nebo můžete vytvořit dotaz pomocí objektu Query(), nastavit podrobnosti dotazu pomocí cube(), axis(), columns(), slicers() atd.

Nakonec předejte olapCnn a dotaz buď do executeMD nebo execute2D abyste získali multidimenzionální pole nebo zpět datový rámec.

Důležité

OlapR vyžaduje zprostředkovatele OLE DB služby Analysis Services. Pokud nemáte na počítači nainstalovanou službu SQL Server Analysis Services, stáhněte si poskytovatele z Microsoftu: Zprostředkovatelé dat používaná pro připojení služby Analysis Services

Stáhněte SQLServer2016SP2-KB4052908-x64-ENU.exe pro SQL Server 2016.

Seznam funkcí

Funkce Description
OlapConnection Vytvořte připojovací řetězec pro přístup k databázi služby Analysis Services.
Query Vytvořte objekt dotazu, který se má použít v databázi služby Analysis Services. K přidání podrobností do dotazu použijte datovou krychli, osu, sloupce, řádky, stránky, kapitoly, průřezy.
executeMD Vezme objekt dotazu nebo řetězec MDX a vrátí výsledek jako multidimenzionální pole.
execute2D Vezme objekt dotazu nebo řetězec MDX a vrátí výsledek jako 2D datový rámec.
explore Umožňuje prozkoumat metadata datové krychle.

Koncepty MDX

MDX je dotazovací jazyk pro multidimenzionální datové krychle OLAP (MOLAP), které obsahují zpracovávaná a agregovaná data uložená ve strukturách optimalizovaných pro analýzu a zkoumání dat. Datové krychle se používají v obchodních a vědeckých aplikacích k získání přehledů o relacích v historických datech. Vnitřně se datové krychle skládají z převážně kvantifikovatelných číselných dat, která jsou rozdělená podél dimenzí, jako jsou datum a čas, zeměpis nebo jiné entity. Typický dotaz může shrnovat prodeje pro danou oblast a časové období, rozdělené podle kategorie produktů, povýšení, prodejního kanálu atd.

K datům datové krychle je možné přistupovat pomocí různých operací:

  • Řezání – převzetí podmnožiny datové krychle vybráním hodnoty pro jednu dimenzi, což vede ke krychli, která je o jednu dimenzi menší.

  • Didikace – Vytvoření podcube zadáním rozsahu hodnot ve více dimenzích

  • Přechod na podrobnější nebo obecnější úrovně dat – Pohyb z obecnějších na podrobnější úrovně dat nebo naopak.

  • Shrnování – souhrn dat v dimenzi

  • Pivot – otočte krychli.

Dotazy MDX jsou podobné dotazům SQL, ale z důvodu flexibility databází OLAP mohou obsahovat až 128 os dotazů. První čtyři osy jsou pojmenovány pro usnadnění: sloupce, řádky, stránky a kapitoly. Je také běžné použít jenom dvě (řádky a sloupce), jak je znázorněno v následujícím příkladu:

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]

Pomocí datové krychle AdventureWorks OLAP z kurzu multidimenzionální datové krychle tento dotaz MDX vybere počet internetových prodejů a částku prodeje a umístí je na osu Sloupce. Na ose řádku umístí všechny možné hodnoty rozměru "Produktová řada". Potom pomocí klauzule WHERE (což je osová řezová rovina v dotazech MDX) filtruje dotaz tak, aby zahrnoval pouze prodeje z Austrálie. Bez osy průřezu bychom sčítali a shrnuli prodeje ze všech zemí a oblastí.

Příklady 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)

Viz také

Jak vytvářet dotazy MDX pomocí olapR