ODBC 経由で R から Raisers Edge NXT のデータ を分析
純粋な R スクリプトと標準 SQL で Raisers Edge NXT のデータ にアクセスできます。CData ODBC ドライバ for Raisers Edge NXT と RODBC パッケージを使用すると、R からリモート Raisers Edge NXT のデータ を操作できます。CData ドライバを使用することで、業界で実績のある標準に準拠したドライバを活用し、人気のオープンソース言語 R でデータにアクセスできます。この記事では、ドライバを使用して Raisers Edge NXT のデータ に SQL クエリを実行し、R で Raisers Edge NXT のデータ を可視化する方法を説明します。
R をインストール
マルチスレッドや管理コードによるドライバのパフォーマンス向上は、マルチスレッド対応の Microsoft R Open や、BLAS/LAPACK ライブラリにリンクした R を実行することで補完できます。この記事では Microsoft R Open(MRO)を使用します。
Raisers Edge NXT にODBC データソースとして接続
Raisers Edge NXT への接続情報と、Windows および Linux 環境での DSN 設定手順を説明します。
BlackBaud Raiser's Edge NXT 接続プロパティの取得・設定方法
接続設定の前に、BlackBaud Raiser's Edge NXT Profile にあるSubscriptionKey を取得しておいてください。
BlackBaud Raiser's Edge NXT への認証(OAuth)
BlackBaud Raiser's Edge NXT は、OAuth 認証規格を使用します。すべてのフローにおいて、以下の設定が必要です。
- AuthScheme をOAuth に設定
- SubscriptionKey をお使いのSubscription Key に設定
- 認可アカウントでBlackBaud Raiser's Edge NXT を有効にし、結果を取得
この設定ののち、続けてOAuth 設定を行います。設定方法は、ヘルプドキュメント の「OAuth」セクションを参照してください。
DSN を設定する際に、Max Rows 接続プロパティも設定することをお勧めします。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時のパフォーマンス向上に役立ちます。
Windows
まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最後のステップです。Microsoft ODBC データソースアドミニストレーターを使用して、ODBC DSN を作成・設定できます。
Linux
Linux 環境で CData ODBC Driver for Raisers Edge NXT をインストールする場合、ドライバーのインストール時にシステム DSN が事前定義されます。システムデータソースファイル(/etc/odbc.ini)を編集して、必要な接続プロパティを定義することで DSN を変更できます。
/etc/odbc.ini
[CData RaiserEdgeNXT Source] Driver = CData ODBC Driver for Raisers Edge NXT Description = My Description SubscriptionKey = MySubscriptionKey OAuthClientId = MyOAuthClientId OAuthClientSecret = MyOAuthClientSecret CallbackURL = http://localhost:33333
これらの設定ファイルの使用方法の詳細については、ヘルプドキュメント(インストール済みまたはオンライン)を参照してください。
RODBC パッケージを読み込む
ドライバを使用するには、RODBC パッケージをダウンロードします。RStudio で、[ツール] -> [パッケージのインストール]をクリックし、[パッケージ]ボックスに RODBC と入力します。
RODBC パッケージをインストールした後、以下の行でパッケージを読み込みます。
library(RODBC)
注意:この記事では RODBC バージョン 1.3-12 を使用しています。Microsoft R Open を使用すると、Microsoft の MRAN リポジトリのチェックポイント機能を使用して同じバージョンでテストできます。 checkpoint コマンドを使用すると、MRAN リポジトリでホストされている CRAN リポジトリのスナップショットからパッケージをインストールできます。2016年1月1日のスナップショットにはバージョン 1.3-12 が含まれています。
library(checkpoint)
checkpoint("2016-01-01")
Raisers Edge NXT のデータ にODBC データソースとして接続
以下の行で R から DSN に接続できます。
conn <- odbcConnect("CData RaiserEdgeNXT Source")
スキーマの検出
ドライバは Raisers Edge NXT API をリレーショナルテーブル、ビュー、ストアドプロシージャとしてモデル化します。以下の行でテーブルの一覧を取得できます。
sqlTables(conn)
SQL クエリを実行
sqlQuery 関数を使用して、Raisers Edge NXT API でサポートされている任意の SQL クエリを実行できます。
constituents <- sqlQuery(conn, "SELECT Id, AddressLines FROM Constituents WHERE Type = 'Home'", believeNRows=FALSE, rows_at_time=1)
以下のコマンドでデータビューアウィンドウに結果を表示できます。
View(constituents)
Raisers Edge NXT のデータ をプロット
これで、CRAN リポジトリで利用可能なデータビジュアライゼーションパッケージを使用して Raisers Edge NXT のデータ を分析できます。組み込みのバープロット関数を使用して、シンプルな棒グラフを作成できます。
par(las=2,ps=10,mar=c(5,15,4,2)) barplot(constituents$AddressLines, main="Raisers Edge NXT Constituents", names.arg = constituents$Id, horiz=TRUE)