Sage US Data をR で分析

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



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

R をインストール

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

RJDBC パッケージをロード

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

library(RJDBC)

JDBC データソースとしてSage US に接続

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

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

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

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

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

conn <- dbConnect(driver,"ApplicationId=8dfafu4V4ODmh1fM0xx;CompanyName=Bellwether Garden Supply - Premium;")

The Application Id and Company Name connection string options are required to connect to Sage as a data source. You can obtain an Application Id by contacting Sage directly to request access to the Sage 50 SDK.

Sage must be installed on the machine. The Sage.Peachtree.API.dll and Sage.Peachtree.API.Resolver.dll assemblies are required. These assemblies are installed with Sage in C:\Program Files\Sage\Peachtree\API\. Additionally, the Sage SDK requires .NET Framework 4.0 and is only compatible with 32-bit applications. To use the Sage SDK in Visual Studio, set the Platform Target property to "x86" in Project -> Properties -> Build.

You must authorize the application to access company data: To authorize your application to access Sage, restart the Sage application, open the company you want to access, and connect with your application. You will then be prompted to set access permissions for the application in the resulting dialog.

While the compiled executable will require authorization only once, during development you may need to follow this process to reauthorize a new build. To avoid restarting the Sage application when developing with Visual Studio, click Build -> Configuration Manager and uncheck "Build" for your project.

スキーマ Discovery

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

dbListTables(conn)

SQL クエリの実行

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

customer <- dbGetQuery(conn,"SELECT Name, LastInvoiceAmount FROM Customer")

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

View(customer)

Sage US Data をプロット

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

par(las=2,ps=10,mar=c(5,15,4,2)) barplot(customer$LastInvoiceAmount, main="Sage US Customer", names.arg = customer$Name, horiz=TRUE)
 
 
ダウンロード