Power BI から R スクリプトを介して kintone データにアクセスする

年末に ”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の呼び出し制限回数に注意して上手く活用していきたいですね。

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.