UPS データをR で分析

詳細情報をご希望ですか?

製品の詳細情報:

UPS 連携ソリューション


データビジュアライゼーション、ハイパフォーマンスな統計関数を使ってUPS をMicrosoft R Open で分析。



Pure R スクリプトおよび 標準SQL を使ってUPS にアクセス。CData ODBC Driver for UPS とRODBC package を使って、R でリモートUPS を利用できます。CData Driver を使うことで、オープンソースでポピュラーなR 言語のデータにアクセスできます。この記事では、ドライバーを使ってUPS にSQL クエリを実行する方法、およびR でUPS をビジュアライズする方法について説明します。

R をインストール

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

UPS ODBC Data Source としてUPS に連携

接続プロパティの指定がまだの場合は、まずODBC DSN (データソース名)で接続設定を行います。これはドライバーのインストール時に自動的に立ち上がります。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。

UPS サービスへの操作を認証するために、ドライバーは5つの情報を使用します。

  • Server:リクエストが送信されるURL を制御します。テスト用によく使われるURL としては、 https://wwwcie.ups.com/ups.app/xmlhttps://wwwcie.ups.com/webservices があります。
  • AccessKey:UPR サーバーへの接続に必要となる識別子。この値は、UPS への登録後提供されます。
  • UserId:UPS へのログインに使用される値。この値は、UPS にサービスを登録する際のログイン時に選択する値です。
  • Password:UPS へのログインに使用される値。この値は、UPS にサービスを登録する際のログイン時に選択する値です。
  • AccountNumber:6桁または10桁のUPS アカウント番号。
  • PrintLabelLocation:このプロパティは、GenerateLabels、またはGenerateReturnLabels ストアドプロシージャを使用する際には必須です。生成されたラベルを格納するフォルダの場所に設定してください。

RODBC パッケージをロード

ドライバーを使うにはRODBC パッケージをダウンロードします。RStudio で[Tools]>[Install Packages]をクリックし、RODBC を[Packages]ボックスに入力します。

RODBC パッケージをインストールしたら、次のコードを入力してパッケージをロードします。

library(RODBC)

ODBC データソースとしてUPS データに連携

次のコードを使ってR のDSN に接続できます:

conn <- odbcConnect("CData UPS Source")

スキーマ検出

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

sqlTables(conn)

SQL クエリの実行

sqlQuery 関数を使ってUPS API がサポートするすべてのSQL クエリを実行します。

senders <- sqlQuery(conn, "SELECT FirstName, Phone FROM Senders WHERE SenderID = '25'", believeNRows=FALSE, rows_at_time=1)

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

View(senders)

UPS データをプロット

これで、CRAN レポジトリで利用可能なあらゆるデータビジュアライゼーションパッケージを使ってUPS を分析できます。ビルトインのbar plot 関数を使って簡単なバーを作成できます:

par(las=2,ps=10,mar=c(5,15,4,2)) barplot(senders$Phone, main="UPS Senders", names.arg = senders$FirstName, horiz=TRUE)