Ready to get started?

Learn more about the CData JDBC Driver for SQL Analysis Services or download a free trial:

Download Now

SQL Analysis Services Data をR で分析

CData JDBC Driver for SQL Analysis Servicesで標準的なR 関数とお好みの開発環境を使って、 SQL Analysis Services data を分析。

Pure R スクリプトおよび 標準SQL を使って、R およびJava をインストール可能なあらゆるマシン上でSQL Analysis Services data にアクセス。CData JDBC Driver for SQL Analysis Services とRJDBC package を使って、R でリモートSQL Analysis Services data を利用できます。CData Driver を使うことで、業界が認めた基準で書かれたドライバーを活用して、オープンソースでポピュラーなR 言語のデータにアクセスできます。この記事では、ドライバーを使ってSQL Analysis Services にSQL クエリを実行する方法、および標準R 関数を呼び出してSQL Analysis Services data をビジュアライズする方法について説明します。

R をインストール

マルチスレッドのMicrosoft R Open を実行すること、またはBLAS/LAPACK ライブラリにリンクされたオープン R を実行することによって、マルチスレッドおよびマネージドコードから利益を得られたドライバーのパフォーマンスにマッチできます。ここでは、Microsoft R Open 3.2.3 を使用します。CRAN レポジトリのJan. 1, 2016 snapshot からパッケージをインストールするために事前設定されています。このsnapshot は再現性を保証します。

RJDBC パッケージをロード

ドライバーを使うにはRJDBC パッケージをダウンロードします。RJDBC パッケージをインストールしたら、次のコードを入力してパッケージをロードします。


JDBC データソースとしてSQL Analysis Services に接続

下記の情報を使いSQL Analysis Services にJDBC データソースとして接続します。

  • Driver Class:cdata.jdbc.ssas.SSASDriver に設定。
  • Classpath:Driver JAR の場所を設定します。デフォルトではインストールディレクトリの[lib]サブフォルダです。

dbConnect やdbSendQuery のようなDBI 関数は、R にデータアクセスコードを書くための統一インターフェースを提供します。

driver <- JDBC(driverClass = "cdata.jdbc.ssas.SSASDriver", classPath = "MyInstallationDir\lib\cdata.jdbc.ssas.jar", identifier.quote = "'")

これで、DBI 関数を使ってSQL Analysis Services に接続しSQL クエリを実行する準備が整いました。dbConnect 関数を使ってJDBC 接続を初期化します。一般的なJDBC 接続文字列は次のとおりです。

conn <- dbConnect(driver,"User=myuseraccount;Password=mypassword;URL=http://localhost/OLAP/msmdpump.dll;")

To connect, provide authentication and set the Url property to a valid SQL Server Analysis Services endpoint. You can connect to SQL Server Analysis Services instances hosted over HTTP with XMLA access. See the Microsoft documentation to configure HTTP access to SQL Server Analysis Services.

To secure connections and authenticate, set the corresponding connection properties, below. The data provider supports the major authentication schemes, including HTTP and Windows, as well as SSL/TLS.

  • HTTP Authentication

    Set AuthScheme to "Basic" or "Digest" and set User and Password. Specify other authentication values in CustomHeaders.

  • Windows (NTLM)

    Set the Windows User and Password and set AuthScheme to "NTLM".

  • Kerberos and Kerberos Delegation

    To authenticate with Kerberos, set AuthScheme to NEGOTIATE. To use Kerberos delegation, set AuthScheme to KERBEROSDELEGATION. If needed, provide the User, Password, and KerberosSPN. By default, the data provider attempts to communicate with the SPN at the specified Url.

  • SSL/TLS:

    By default, the data provider attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store. To specify another certificate, see the SSLServerCert property for the available formats.

You can then access any cube as a relational table: When you connect the data provider retrieves SSAS metadata and dynamically updates the table schemas. Instead of retrieving metadata every connection, you can set the CacheLocation property to automatically cache to a simple file-based store.

See the Getting Started section of the CData documentation, under Retrieving Analysis Services Data, to execute SQL-92 queries to the cubes.

スキーマ Discovery

ドライバーはSQL Analysis Services API をリレーショナルデータベース、ビュー、ストアドプロシージャとしてモデルします。次のコードを使ってテーブルリストを検出します。


SQL クエリの実行

dbGetQuery 関数を使ってSQL Analysis Services API がサポートするすべてのSQL クエリを実行できます:

adventure_works <- dbGetQuery(conn,"SELECT Fiscal_Year, Sales_Amount FROM Adventure_Works")

次のコマンドを使って、結果を[data viewer]ウィンドウで見ることができます。


SQL Analysis Services Data をプロット

CRAN レポジトリで利用可能なあらゆるデータ初期化パッケージを使ってSQL Analysis Services data を分析する準備が整いました。ビルトインバーのplot 関数を使って簡単なバーを作成できます。

par(las=2,ps=10,mar=c(5,15,4,2)) barplot(adventure_works$Sales_Amount, main="SQL Analysis Services Adventure_Works", names.arg = adventure_works$Fiscal_Year, horiz=TRUE)