Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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
- Načtěte knihovnu.
- Vytvořte připojovací řetězec odkazující na datovou krychli MOLAP ve službě Analysis Services.
- Ověřte, že k datové krychli máte přístup pro čtení.
- Použijte připojovací řetězec pro připojení.
- Pomocí funkce prozkoumat ověřte připojení.
- Nastavte dotaz odesláním řetězce dotazu MDX nebo vytvořením struktury dotazu.
- 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)