kintoneにおけるAlaSQLの活用

はじめに

本エントリーでは、kintoneにおけるAlaSQLの活用について述べる。

AlaSQLはJavaScriptのオブジェクトリテラルの配列に対してSQLを実行出来るので、ブラウザ上でkintoneを使う際、カスタマイズjsにてAlaSQLを用いると便利である。

使い方については、以下のページが参考になった。

他にも検索すれば色々な情報を探せるので、興味があれば是非探してみてほしい。

私がAlaSQLを使った感じでは、selectで使う結合処理やサブクエリは概ねちゃんと動いていたようである。ただし外部結合の際にサブクエリを利用出来なかったので、SQLにある仕様を完全に実装できているようではなさそうなので、利用される方は注意してほしい。

活用シーン

AlaSQLの活用シーンについて述べる。
kintoneでは標準のREST APIを通してレコードの情報を取得すると以下の形式の配列で表現される。

{
  フィールドコード: {
    value: 値(ユーザフィールド項目などは配列)
  }
}

参照 Cybozu Developer Network

kintoneのデータ形式をテキストや数値、ドロップダウンなどの値は、以下のようなオブジェクトリテラル形式に変換すると便利なシーンが多い。AlaSQLでも活用する事が出来る。

{
  フィールドコード: 値
}

扱えるデータストアについて

またAlaSQLでは、CSVからの読み込みやExcelでの出力にも対応しているようである。

SELECT * INTO XLSX("ファイル名") FROM テーブル名

ちなみにAWSのAurora MySQLからはSQL文にてLambdaを呼び出せるらしいので、select文の中に外部機能へのアクセス関数を実装して、それを用いるのはよくある手法らしい。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Lambda.html

またAlaSQLはlocatstrageやIndexedDB、ファイルシステムへのアクセスも出来、更にSQLiteを用いてSQLite形式のファイルにアクセスしたりも出来るらしい。

まとめ

以上よりcsvやJavaScriptのオブジェクトリテラルを取得し、SQL用いてデータを修正し、更にこれを他のデータストアに格納する流れの中で考えると、SQLを扱え、且つJavaScriptで簡単にデータを修正出来ればかなりの業務に対応する事が出来る。

次回はcli-kintoneとSQLiteを組み合わせて出来る事について説明する。

いいなと思ったら応援しよう!