四捨五入や年齢計算が、標準機能でできたらいいのに

沖安隆氏(以下、沖):5分と時間がないので、さささっといきます、はい。

(スライドを指して)こういう、ちょっと煽り系のタイトルですけど。我々はいつから“標準機能”なんてものがあると錯覚していたんでしょうか? 

私はアールスリーインスティテュートの沖と言います。アールスリーは大阪の会社なんですけど、私は愛媛に住んでいて、リモートワークで働いています。kintone Caféの運営もやらせていただいて、かつkintoneエバンジェリストという肩書をいただいているという、kintone大好きな人間です、はい。

もう30秒経ちましたね、やばい。

(会場笑)

:kintoneをやってると、昔からよくこう言われるんですよね。

「これ、できないの?」みたいに。四捨五入とか、年齢計算とか。元号も令和になりましたからね。「元号表示、どうしよう」って話がこれから出てくるわけですよ。じゃあ、いろいろやりましょうということで、こういうことをけっこうググると出てくると思うんですけど。

アプリの高度な設定の少数部の桁数と丸め方とか、YEN関数を使うとか。補正値で調整すると、レコード単位とかフィールド単位で細かく調整できるとか。こういうのはけっこう、ググると出てくると思います。

「実際にどうやったらどうなるの?」っていうのを、今回自動計算だけでちょっと試しにやってみたんですけど。

普通に整数単位で割り算すると、こういうふうに3つ出てくる。おまけがあったんで、余りもちょっと出してみたんですけど。こういう計算が、普通に自動計算だけでできます。どうしてかと言うと、kintoneって、計算過程で桁丸めが発生するわけですよ。

なので、パーセントで割ったりするときに、たまに0になって「あれ?」っていうことがあると思うんですけど、こういったことを逆に使うと、このようにできます。

同じように、年齢計算もです。何歳何ヶ月か、計算ができるといいですよね。そういえば、DATE_FORMAT関数があるじゃないか。関数があるから、できるんじゃないか。よし、やってみよう。こうなります。

(会場笑)

はい! ここはだーっと飛ばします。ではどうなるか。

(誕生日が2018年の)5月30日だとして、今日が31日だとすると、1年経ちましたよね。これを6月にずらしたらどうなるのか。(画面を6月に切り替えて)26日だったらこうですよね。30日だったら……お、変わらない。データがまだ変わっていません。これ、1年1ヶ月に変わるはずでした。データがちょっと変わっていないかも知れないです(笑)……というふうになってます(動画では修正済み)。

JavaScriptでカスタマイズすれば、10倍速く処理できる

:それで、元号ですよね。どうすんのと。みなさん、ご存知ですか? プロセス管理は、値の比較ができるんです。

あれをうまく使うと、ステータス名が元号に変わります。

:4月の30日、平成最後ですね。その次に申請すると、平成になります。なるほどね。じゃあ5月の1日ですね、令和になりました。令和はどうなるのかというと、これを押してみて申請すると、令和に変わるわけです。このようにステータスを使うことで、元号を切り替えることができる。何に使うかは聞かないでくださいね。

(会場笑)

:こういうふうにですね、各種設定でいろいろとできますよね。でも、すぐに「できますね」とはなりません。今日の本題は、ここからです。

実はですね、JavaScriptでカスタマイズしたほうが10倍に……個人差はありますけど、10倍速いです。絶対、圧倒的に速いです。

四捨五入なんか、ばんばんばんと終わります。各1行です。

年齢計算、こうやればばーっと終わります。あっという間です。あんな長い計算式、いりません。

日付の元号表示も、本当は1行で済むんですが、残念ながら、ブラウザ非対応なんです。今だと平成になっちゃうんですけど、こういうことをすればすぐ出ちゃう。こっちのほうが早いじゃないか、と。 (※ブラウザのバージョンアップにより令和表示に対応済)

目的に合わせたリソース配分が最上のハックになる

:でも、みなさん、JavaScriptを今から覚えます? 勉強どうします? すごく時間がかかるじゃないですか。気軽に(やりますと)言えないじゃないですか?

 ……と、なりがちなので、ちょっとおすすめなのが、実はCustomineというものがございまして。

これ、私の100倍速いです。どういうことかと言うと、やることをマウスで選ぶから、今やったことが全部できます。どういうこと? こういうことです。

フィールドの切り捨てだとか、四捨五入だとかって、やることがもう用意されています。選ぶだけです。曜日とか年齢とか、全部用意されています。選ぶだけです。何も悩まない。しかも全部日本語で書いてます。JavaScriptを覚える必要がございません。

つまりですね、仕組みで改善です。みなさん、自転車で移動するときに、「遅いよね、じゃあみんな、筋トレやれよ。足を鍛えてスピード上げればいいじゃないか」って思わないですよね。でも、「kintoneじゃできないんすよ」「じゃあJavaScriptでやれよ」ってなぜか言うんです。おかしい、違うと。

自転車じゃなくて、バイクとか車とか、もろもろの違ったツールを使って、もう根本的に仕組みから解決しましょうと。つまり、目的に合わせて、ヒト・モノ・カネの適切なリソース配分をするのが、実はハックです。

私、昔は自営業やっていまして。けっこうヒト・モノ・カネの配分とかですね、それにサービス残業もすごくやらせていましたので、よくわかるんですけど、そこを配分することが、実は業務改善の核。それで変わるんです。

そして、kintoneを使ったすべてが標準機能です。何を使ってもOKです。kintoneというプラットフォームを使えば、JavaScriptをやろうと、関数使おうと、なにやろうといいんです。なので、柔軟に機能を選択していきましょう。はい。以上です、ありがとうございました。

(会場拍手)