Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2016 (13.x) i nowsze wersje
olapR to pakiet języka R firmy Microsoft używany do zapytań MDX względem modułu OLAP usług SQL Server Analysis Services. Funkcje nie obsługują wszystkich operacji MDX, ale można tworzyć zapytania fragmentujące, kostki, przechodzenie do szczegółów, zestawienie i przestawianie wymiarów. Pakiet jest zawarty w usługach SQL Server Machine Learning Services i SQL Server 2016 R Services.
Tego pakietu można używać na połączeniach z modułem OLAP usług Analysis Services we wszystkich obsługiwanych wersjach programu SQL Server. Połączenia z modelem tabelarycznym nie są obecnie obsługiwane.
Ładowanie pakietu
Pakiet olapR nie jest domyślnie ładowany do sesji R. Uruchom następujące polecenie, aby załadować pakiet.
library(olapR)
Wersja pakietu
Bieżąca wersja to 1.0.0 we wszystkich produktach dostępnych tylko dla systemu Windows oraz w pobraniach oferujących pakiet.
Dostępność i lokalizacja
Ten pakiet jest dostępny w następujących produktach, a także na kilku obrazach maszyn wirtualnych w Azure. Lokalizacja pakietu różni się odpowiednio.
| Product | Lokalizacja |
|---|---|
| SQL Server Machine Learning Services (z integracją języka R) | C:\Program Files\Microsoft SQL Server\MSSQL14. MSSQLSERVER\R_SERVICES\library |
| Usługi SQL Server 2016 R | 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 (na platformie Azure) | C:\Program Files\Microsoft\R Client\R_SERVER\library |
| Maszyna wirtualna programu SQL Server (na platformie Azure) 1 | C:\Program Files\Microsoft SQL Server\MSSQL14. MSSQLSERVER\R_SERVICES\library |
Integracja z językiem R 1 jest opcjonalna w programie SQL Server. Pakiet olapR zostanie zainstalowany podczas dodawania funkcji Machine Learning lub R podczas konfigurowania maszyny wirtualnej.
Jak używać olapR
Biblioteka olapR udostępnia prosty interfejs API w stylu języka R do generowania i weryfikacji zapytań MDX w odniesieniu do kostki Analysis Services. olapR nie udostępnia interfejsów API dla wszystkich scenariuszy MDX, ale obejmuje on większość przypadków użycia, w tym fragmentowanie, kostkowanie, przechodzenie do szczegółów, zestawienia i scenariusze przestawne w N wymiarach. Możesz również wprowadzić bezpośrednio zapytanie MDX do Analysis Services dla zapytań, których nie można stworzyć za pomocą interfejsów API olapR.
Przepływ pracy korzystania z olapR
- Załaduj bibliotekę.
- Utwórz ciąg połączenia wskazujący na kostkę MOLAP w usługach Analysis Services.
- Sprawdź, czy masz dostęp do odczytu w module
- Użyj parametrów połączenia w połączeniu.
- Sprawdź połączenie przy użyciu funkcji eksplorowania.
- Skonfiguruj zapytanie, przesyłając ciąg zapytania MDX lub tworząc strukturę zapytań.
- Wykonaj zapytanie i sprawdź wynik.
Aby wykonać zapytanie MDX na kostce OLAP, należy najpierw utworzyć łańcuch połączenia (olapCnn) i zweryfikować przy użyciu funkcji OlapConnection(connectionString). Parametry połączenia muszą mieć źródło danych (np. localhost) i dostawcę (MSOLAP).
Po nawiązaniu połączenia, możesz przekazać w pełni zdefiniowane zapytanie MDX lub utworzyć zapytanie przy użyciu obiektu Query(), ustawiając szczegóły zapytania, używając cube(), axis(), columns(), slicers() itd.
Na koniec przekaż olapCnn oraz zapytanie do executeMD lub execute2D, aby uzyskać tablicę wielowymiarową lub ramkę danych.
Ważne
olapR wymaga dostawcy OLE DB usług Analysis Services. Jeśli na komputerze nie masz zainstalowanych usług SQL Server Analysis Services, pobierz dostawcę od firmy Microsoft: dostawcy danych używanych na potrzeby połączeń usług Analysis Services
Pobierz SQLServer2016SP2-KB4052908-x64-ENU.exe dla programu SQL Server 2016.
Lista funkcji
| Funkcja | Description |
|---|---|
OlapConnection |
Utwórz parametry połączenia, aby uzyskać dostęp do bazy danych usług Analysis Services. |
Query |
Konstruowanie obiektu Query do użycia w bazie danych usług Analysis Services. Użyj kostki, osi, kolumn, wierszy, stron, rozdziałów, fragmentatorów, aby dodać szczegóły do zapytania. |
executeMD |
Pobiera obiekt Query lub ciąg MDX i zwraca wynik jako tablicę wielowymiarową. |
execute2D |
Pobiera obiekt Query lub ciąg MDX i zwraca wynik jako ramkę danych 2D. |
explore |
Umożliwia eksplorację metadanych kostki. |
Pojęcia dotyczące oprogramowania MDX
MDX to język zapytań dla wielowymiarowych modułów OLAP (MOLAP) zawierających przetworzone i zagregowane dane przechowywane w strukturach zoptymalizowanych pod kątem analizy i eksploracji danych. Kostki są używane w aplikacjach biznesowych i naukowych do wyciągania wniosków o relacjach z danych historycznych. Wewnętrznie moduły składają się głównie z kwantyfikowalnych danych liczbowych, które są dzielone na wymiary, takie jak data i godzina, lokalizacja geograficzna lub inne jednostki. Typowe zapytanie może obejmować sprzedaż dla danego regionu i okresu, podzielone według kategorii produktów, promocji, kanału sprzedaży itd.
Dostęp do danych kostki można uzyskać za pomocą różnych operacji:
Fragmentowanie — pobieranie podzbioru modułu przez wybranie wartości dla jednego wymiaru, co powoduje zmniejszenie modułu o jeden wymiar.
Dicing — tworzenie podkostki przez określenie zakresu wartości w wielu wymiarach.
Nawigacja w dół/w górę — przechodzenie od bardziej ogólnych do bardziej szczegółowych zakresów danych lub odwrotnie.
Rzutowanie — podsumowywanie danych w wymiarze.
Obrót — obraca kostkę.
Zapytania MDX są podobne do zapytań SQL, ale ze względu na elastyczność baz danych OLAP mogą zawierać maksymalnie 128 osi zapytań. Pierwsze cztery osie są nazwane dla wygody: Kolumny, Wiersze, Strony i Rozdziały. Często można również używać dwóch (wierszy i kolumn), jak pokazano w poniższym przykładzie:
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]
Korzystając z modułu AdventureWorks OLAP z samouczka dotyczącego modułu wielowymiarowego, to zapytanie MDX wybiera liczbę sprzedaży internetowej i kwotę sprzedaży oraz umieszcza je na osi Kolumna. Na osi wierszy umieszcza wszystkie możliwe wartości wymiaru "Linia produktów". Następnie, używając klauzuli WHERE (która jest osią fragmentatora w zapytaniach MDX), filtruje zapytanie tak, aby tylko sprzedaż z Australii miało znaczenie. Bez osi fragmentatora sumujemy i podsumujemy sprzedaż ze wszystkich krajów/regionów.
przykłady 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)