ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →無償トライアル:
無償トライアルへ製品の情報と無償トライアルへ:
Excel Services ODBC ドライバーは、ODBC 接続をサポートする任意のアプリケーションからリアルタイムなExcel Services データに接続できるパワフルなツールです。標準のODBC ドライバーインターフェースを使用して、データベースのようにSharePoint サーバーでホストされているExcel スプレッドシートデータにアクセスし、データ連携を実行できます。
古川えりか
コンテンツスペシャリスト
Pure R スクリプトおよび 標準SQL を使ってSharePoint Excel Services にアクセス。CData ODBC Driver for ExcelServices とRODBC package を使って、R でリモートSharePoint Excel Services を利用できます。CData Driver を使うことで、オープンソースでポピュラーなR 言語のデータにアクセスできます。この記事では、ドライバーを使ってSharePoint Excel Services にSQL クエリを実行する方法、およびR でSharePoint Excel Services をビジュアライズする方法について説明します。
マルチスレッドのMicrosoft R Open を実行すること、またはBLAS/LAPACK ライブラリにリンクされたオープンR を実行することによって、マルチスレッドおよびマネージドコードからドライバーのパフォーマンスにマッチできます。ここでは、Microsoft R Open 3.2.3 を使用します。CRAN レポジトリのJan. 1, 2016 snapshot からパッケージをインストールするために事前設定されています。このsnapshot は再現性を保証します。
接続プロパティの指定がまだの場合は、まずODBC DSN (データソース名)で接続設定を行います。これはドライバーのインストール時に自動的に立ち上がります。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。
Authentication セクションのURL、User、およびPassword プロパティを、SharePoint Online、SharePoint 2010、SharePoint 2013 の有効なクレデンシャルに設定します。さらに、Library プロパティを有効なSharePoint Document ライブラリに設定し、File プロパティを指示されたライブラリの有効な.xlsx ファイルに設定する必要があります。
ドライバーを使うにはRODBC パッケージをダウンロードします。RStudio で[Tools]>[Install Packages]をクリックし、RODBC を[Packages]ボックスに入力します。
RODBC パッケージをインストールしたら、次のコードを入力してパッケージをロードします。
library(RODBC)
次のコードを使ってR のDSN に接続できます:
conn <- odbcConnect("CData SharePoint Excel Services Source")
ドライバーはSharePoint Excel Services API をリレーショナルデータベース、ビュー、ストアドプロシージャとしてモデル化します。次のコードを使ってテーブルリストを検出します。
sqlTables(conn)
sqlQuery 関数を使ってSharePoint Excel Services API がサポートするすべてのSQL クエリを実行します。
account <- sqlQuery(conn, "SELECT Name, AnnualRevenue FROM Account", believeNRows=FALSE, rows_at_time=1)
次のコマンドを使って、結果を[data viewer]ウィンドウで見ることができます。
View(account)
これで、CRAN レポジトリで利用可能なあらゆるデータビジュアライゼーションパッケージを使ってSharePoint Excel Services を分析できます。ビルトインのbar plot 関数を使って簡単なバーを作成できます:
par(las=2,ps=10,mar=c(5,15,4,2))
barplot(account$AnnualRevenue, main="SharePoint Excel Services Account", names.arg = account$Name, horiz=TRUE)