公開日:2018-01-22
年末に ”Power BI の標準機能だけで kintone のデータにアクセスできるよ、ただ、500件以上はちょっと困るけど ” という記事を書きました。
今回、500件以上も問題なく取得でき、Power BI で kintoneデータをガンガン使える(しかも無料で) という方法に気がついたので、ご紹介したいと思います。
その方法は こちら

「データを取得」で、データソースに「R スクリプト」を選択します。(「R スクリプト」は「すべて」の選択肢を ずーっとスクロールして下がり、一番下から 4つ目にあります)
「R スクリプト」とは何ぞや?
「R言語」の構文でコードを書いて kintone からデータを採ってくることになります。
前回は M言語 で 今回は R言語? という感じですが、 R は最近時々目にされている方も多いかもしれません。Visual Studio 2017 をインストールすると、実はコッソリ入ってしまったりします。

そして、 “ R で kintone のデータを取得するパッケージ” を サイボウズの中の人が作って公開しておられたりするのです!!
まずは R をインストールします。こちら から使用している PC の OS に合わせた インストール・プログラムをダウンロードし実行、指示に沿ってインストールします。
私の環境では「R x64 3.4.3」というアイコンが作られるので起動すると、 R の命令を入力する画面が表示されるので

install.packages(“kntnr”)
と入力して Enter キーを押します。
どのミラーサイトからパッケージをダウンロードするか選ぶよう求められますが、適当に選んで進めます。

パッケージ ‘kntnr’ は無事に展開され、MD5 サムもチェックされました
と表示されたら、一度 RGui を終了させます。
次に OS の環境変数を 3つ設定します。

中の人のブログ記事を引用します。

Base64エンコードは、Webブラウザの開発者ツールを開いて
window.btoa(“Administrator:password”);
のように入力すると簡単にエンコードした文字列を得られます。逆に
window.atob(“QWRtaW5pc3RyYXRvcjpwYXNzd29yZA==”)
と入力すると簡単に元のユーザー名、パスワードを得られてしまうので、秘匿しておく必要があります。
また、 R (そして Power BI)からアクセスする kintoneアプリが必要です。今回は以下のような簡単なアプリを用意しました。

RGui を再度起動し、以下の 3行を入力します。
library(kntnr)
dataset <- kntn_records(app = 123)
as.data.frame(dataset)

すばらしい! kintoneアプリのレコードを取得できました。
R スクリプトの動作確認が出来たので、Power BI から実行します。
Power BI を起動し、「データを取得」で「R スクリプト」を選んで「接続」、「R スクリプト」入力画面が表示されるので以下のように入力して「OK」ボタンを押下します。

見事に取得できていますね。(今までの苦労は何だったんだ。一体。。)

あとは Power BI の操作を頑張りましょう。こんなに簡単に kintone アプリのレコードを扱えるとなると、もう言い訳は出来ません。頑張って習得しなければなりませんね。

前述のブログ記事から再度引用させていただくと
kntn_records(app = 123, max_records = 400, records_per_request = 200)
のように「max_records」「records_per_request」パラメータを指定することで レコードの取得API を複数回呼び出して 500件以上のレコードを取得することも出来ます。 APIの呼び出し制限回数に注意して上手く活用していきたいですね。
投稿者プロフィール
