ODBC 経由で R から Zendesk のデータ を分析

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Microsoft R Open で Zendesk のデータ のデータビジュアライゼーションを作成し、高性能な統計関数で分析。

純粋な R スクリプトと標準 SQL で Zendesk のデータ にアクセスできます。CData ODBC ドライバ for Zendesk と RODBC パッケージを使用すると、R からリモート Zendesk のデータ を操作できます。CData ドライバを使用することで、業界で実績のある標準に準拠したドライバを活用し、人気のオープンソース言語 R でデータにアクセスできます。この記事では、ドライバを使用して Zendesk のデータ に SQL クエリを実行し、R で Zendesk のデータ を可視化する方法を説明します。

R をインストール

マルチスレッドや管理コードによるドライバのパフォーマンス向上は、マルチスレッド対応の Microsoft R Open や、BLAS/LAPACK ライブラリにリンクした R を実行することで補完できます。この記事では Microsoft R Open(MRO)を使用します。

Zendesk にODBC データソースとして接続

Zendesk への接続情報と、Windows および Linux 環境での DSN 設定手順を説明します。

Zendesk 接続プロパティの取得・設定方法

Zendesk に接続するには、https://{subdomain}.zendesk.com の形式でURL(Zendesk Support URL)を設定します。接続後、次のセクションの説明に従ってユーザー認証を行います。

また、TicketMetrics テーブルのアーカイブデータを扱うユーザーは、UseIncrementalAPI プロパティをTrue に設定する必要があります。

Zendesk への認証

Zendesk は、Zendesk インスタンスの設定に応じて、3種類の認証をサポートします。API トークン認証、OAuth 認証、Basic 認証(レガシー)です。

API トークン認証

API トークン認証を使用する場合は、E メールアドレスとApiToken を指定します。 AuthSchemeAPIToken に、User をE メールアドレスに設定し、Zendesk Support の管理画面で以下の設定を行います。

  1. Token アクセスを有効にします。
  2. Admin -> Channels-> API で、API トークンを管理します。一度にアクティブにできるトークンは1つだけです。トークンを削除すると、そのトークンは永久に無効化されます。
最後に、APIToken をアクティブなAPI トークンに設定します。

その他の認証方法についてはヘルプドキュメントを参照してください。

DSN を設定する際に、Max Rows 接続プロパティも設定することをお勧めします。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時のパフォーマンス向上に役立ちます。

Windows

まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最後のステップです。Microsoft ODBC データソースアドミニストレーターを使用して、ODBC DSN を作成・設定できます。

Linux

Linux 環境で CData ODBC Driver for Zendesk をインストールする場合、ドライバーのインストール時にシステム DSN が事前定義されます。システムデータソースファイル(/etc/odbc.ini)を編集して、必要な接続プロパティを定義することで DSN を変更できます。

/etc/odbc.ini

[CData Zendesk Source]
Driver = CData ODBC Driver for Zendesk
Description = My Description
URL = https://subdomain.zendesk.com
User = my@email.com
Password = test123

これらの設定ファイルの使用方法の詳細については、ヘルプドキュメント(インストール済みまたはオンライン)を参照してください。

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")

Zendesk のデータ にODBC データソースとして接続

以下の行で R から DSN に接続できます。

conn <- odbcConnect("CData Zendesk Source")

スキーマの検出

ドライバは Zendesk API をリレーショナルテーブル、ビュー、ストアドプロシージャとしてモデル化します。以下の行でテーブルの一覧を取得できます。

sqlTables(conn)

SQL クエリを実行

sqlQuery 関数を使用して、Zendesk API でサポートされている任意の SQL クエリを実行できます。

tickets <- sqlQuery(conn, "SELECT Id, Subject FROM Tickets", believeNRows=FALSE, rows_at_time=1)

以下のコマンドでデータビューアウィンドウに結果を表示できます。

View(tickets)

Zendesk のデータ をプロット

これで、CRAN リポジトリで利用可能なデータビジュアライゼーションパッケージを使用して Zendesk のデータ を分析できます。組み込みのバープロット関数を使用して、シンプルな棒グラフを作成できます。

par(las=2,ps=10,mar=c(5,15,4,2))
barplot(tickets$Subject, main="Zendesk Tickets", names.arg = tickets$Id, horiz=TRUE)

はじめる準備はできましたか?

Zendesk ODBC Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Zendesk Icon Zendesk ODBC Driver お問い合わせ

Zendesk ODBC Driver でZendesk project management データにODBC 接続をサポートするあらゆるツールから連携を実現します。

Zendesk にデータベースと同感覚でアクセスし、Tickets、Groups、Users、Schedules などのデータにODBC インターフェースでアクセスします。