はじめに
こんにちは、CData Japan 技術ディレクターの桑島です。本記事では、クラウド型勤怠管理・交通費精算ソリューションkinconeの勤怠情報や交通費精算情報をCData API Driver for ODBC を利用してPowerBI Desktopで可視化する方法をご紹介します。
kincone とは
株式会社ソウルウェアが提供するクラウド型勤怠管理・交通費精算ソリューションです。kinconeは、SuicaなどのICカードを端末にタッチするだけで勤怠と交通費を同時に読み取る、スマホがあればすぐ始められる、他社サービスと繋がる、低コストで導入ができるといった特長を持っています。
www.kincone.com
kinconeでは、Swagger(OpenAPI)SpecでのAPIドキュメントを公開しており、APIを利用することで様々なシステムと連携や組み込むことができるようになっています。
kincone.com
CData API Driver for ODBCとは?
CData API Driverは、あらゆるアプリケーション、データベース、SaaS にBI、ETL、アナリティクスツールからシームレスに連携を実現するユニバーサルなドライバーです。CData Drivers にビルトインのSQL エンジンによりあらゆるAPI に標準SQL でのクエリを可能にします。
https://www.cdata.com/jp/apidriver/
API Profile をCData API Driver に読み込ませるだけでkinconeなどの事前に定義されたデータソースAPI へ連携が可能になります。
前提
kincone APIトークンの取得
kinconeの設定画面「外部連携 > APIトークン」からAPIトークンを取得します。このAPIトークンの値は後の手順で必要となりますので手元に控えておいてください。
CData API Profile for kinconeのダウンロード
以下のWebページからkinconeのProfileをダウンロードします。
www.cdata.com
ダウンロードしたKincone.apipファイルは後の手順で必要となるので保管してください。
CData API Driver for ODBCのインストール
以下のサイトからダウンロードします。
ダウンロードされたインストーラ形式(.exe)のファイルを起動します。
- ODBCのデータソース アドミニストレーターを閉じてから実行してください。
- 途中オンラインでのアクティベーションが実行されるためインターネットアクセス出来る環境で行ってください。
下記のようなインストーラが起動するので、ライセンス契約書を確認した上で、デフォルト設定のままインストールを進めて完了させます。
インストール途中にVC++ Redistributableのインストールが求められる場合はインストールしてください(x86、および、x64の2回求められます)。
インストールが完了するとデフォルトブラウザが起動して製品ヘルプファイルが起動します。
ODBCのDSN設定
インストーラが完了するとデフォルトでは「ODBCデータソース を構成する」にチェックがついているので「完了」ボタンをクリックすると下記のDSN構成画面が表示されます。一度閉じてしまったり、起動しない場合は、ODBC Administrator 64bitを起動してください。
「CData APIs Source」に、kinconeへの接続情報を設定します。
項目 |
値 |
備考 |
Profile |
APIProfileのパス |
例:C:\wrk\Profiles\Kincone.apip |
Profile Settings |
APIToken={APIトークン値} |
例:APIToken=qBhXXXXXXXXXXXXXXXXXL0nYkI |
「Test Connection」ボタンをクリックします。下記のようなダイアログが表示されれば成功です。「「OK」ボタンをクリックして保存します。
再度ODBCのDSN設定を確認する場合は、ODBC Administrator 64bitを起動してユーザーDSNの「CData APIs Source」を開くと確認することができます。
Microsoft Power BI Desktopでのデータ可視化
Microsoft Power BI Desktopを起動します。起動すると下記のダイアログが表示されるので「データを取得」をクリックします。
「データの取得」ダイアログが表示されるので、「その他 > ODBC」を選択して「接続」をクリックします。
「ODBCからインポート」ダイアログが表示されるので、「データソース名(DSN)」に「CData kintone Source」を選択します。
認証情報が求められる場合は、必須項目となっているユーザー名に適当な値(本例では、user)をセットして「接続」ボタンをクリックします。
「ナビゲータ」画面が表示されます。左側の階層を開いていくと、テーブルのリストが表示されます。今回は、勤怠申請一覧の詳細である「AttendanceWorkflowsDetails」と交通費申請一覧取得の詳細である「ExpenseWorkflowsDetails」テーブルを選択してみます。選択すると右側にデータのプレビューが表示されますので「読み込み」ボタンをクリックします。
レポートのキャンパスの画面が表示されます。右側のフィールドにテーブル内の各項目がリストとして表示されることを確認します。
「レポート」ページに戻り、「テーブル」を2つと「円グラフ」を配置して、勤怠申請一覧の詳細である「AttendanceWorkflowsDetails」と交通費申請一覧取得の詳細である「ExpenseWorkflowsDetails」テーブルの各種情報をフィールドに配置します。勤怠申請の一覧と交通費申請の一覧の可視化が出来ました。
テストデータは、1ユーザのデータのみの表示となりますが、部門に所属する各ユーザの勤怠情報や交通費を管理者がモニタリングするような画面が作成できると思います。
必要に応じて左上の保存ボタンをクリックして作成したレポートを「Power BI ファイル(*.pbix)」として保存してください。
Microsoft PowerBI Desktopからkinconeのデータを可視化することが出来ました。
補足
勤怠、交通費のデータを取得する際には、emailとtermをSQLのwhere句で指定する事で、該当ユーザや取得する年月を指定する事が可能です。サンプルのSQLは以下の通りです。
テーブル名(論理) |
テーブル名(物理) |
SQLサンプル |
備考 |
従業員一覧 |
Users |
select * from Users |
|
部署・店舗一覧 |
Departments |
select * from Departments |
|
勤怠一覧 |
Attendances |
select * from Attendances where email = '@.co.jp' and term = '201805' |
emailは必須、 termは任意(指定しない場合は当月) |
勤怠申請一覧 |
AttendanceWorkflows |
select * from AttendanceWorkflows where email = '@.co.jp' and term = '201805' |
email、 term共に任意(指定しない場合は当月) |
勤怠申請一覧(詳細) |
AttendanceWorkflowsDetails |
select * from AttendanceWorkflowsDetails where email = '@.co.jp' and term = '201805' |
email、 term共に任意(指定しない場合は当月) |
交通費申請一覧 |
ExpenseWorkflows |
select * from ExpenseWorkflows where email = '@.co.jp' and term = '201805' |
email、 term共に任意(指定しない場合は当月) |
交通費申請一覧(詳細) |
ExpenseWorkflowsDetails |
select * from ExpenseWorkflowsDetails where email = '@.co.jp' and term = '201805' |
email、 term共に任意(指定しない場合は当月) |
関連コンテンツ