見出し画像

[kintone]一覧画面に曜日を表示したい

ひさしぶりにkintoneのお話。

家族用にkintoneを契約して使っています。
もらったプリントを保管して+αの情報を付け足して管理してたのですが、学校のモノって結構「この前の○曜日にもらったやつ・・・」と曜日で考える場面が多いことに気がづきました。

そうすると、一覧画面に日付だけじゃなくて曜日も表示されていてほしい。
しかし、kintoneには曜日フィールドというものは存在しません。
・・・存在しませんが。
日付があれば曜日がわかるはずだよね!?ってことで、計算フィールドで計算しちゃえばいいじゃない、と考えた方々がいらっしゃいます。

計算フィールドで曜日を計算する方法

kintoneエバンジェリスト、イシイケンタロウさんの記事(同じくエバンジェリスト松田さんのおすすめ)↓

いまは公式ページにもヘルプがありました。(事務所の紳士さんより)↓

X(Twitter)で呟いたところ教えていただきました。教えていただいた方々、ありがとうございます!

これらのページでも解説されておりますが、kintoneの日付は実はある基準日からの秒で情報を持っておりまして、それを覚えておくと、計算フィールドでいろいろ計算しやすくなります。単純な時間や日数計算くらいならささっとできちゃいますので、覚えておいて損はないですよ。

さっそく実践!

日付フィールドは既にあったので、計算フィールドと、曜日表示用の文字列1行フィールドを新設しました。曜日表示用の文字列フィールドでも、自動計算を使ってます。(なので計算が2カ所あることになります)

新設したフィールド2つ

式は、イシイケンタロウさんのものを流用させていただきました。せっかくなので自分で頑張って作ろうかとも思ったのですが、先人様のお知恵を有難く拝借させていただくことにしました。ありがたや。

よくわからず使わずに、ある程度理解した上でなら、そのままコピペ利用も全然構わないよねっていうのが私の持論です。

フィールド追加した後のこと

フィールド追加後に、過去のレコードを開いてみると、まだ空欄のままです。

過去に作ったレコード

編集画面を開いて保存する

自動計算させるには、一度編集画面を開いて保存しなおす必要があります。特にどこも変えなくても開いて保存するだけでOKです。

自動計算がきちんと動きました!

さて、これが数レコードなら、ぽちぽち開いて保存…を繰り返すだけでいいのですが、小学校入学してからの2年分のレコードなので、さすがに手動でやるのは厳しい。(500レコードくらいありました)

そういうときは、CSVを使った一括更新でパパっと再計算させちゃいます。
公式ヘルプにも記事がありますので、こちらも見ると良いです。いろいろ注意事項が書かれておりますよ。

CSVを使った一括更新

まず、先にファイル書き出しをします。

右上の「・・・」から選びます

ここで、キーになるレコード番号と、適当な1フィールド(計算フィールドと曜日計算してる文字列1行フィールド以外)を選びます。
ダウンロードした値をそのまま更新するので、実際のところデータ的には何も変わらないんですが、ここでうっかりミスっちゃうと、変な値で全部のレコードを更新しちゃいかねません。

びびりー((((;゚Д゚))))な私は、一括更新用の文字列を新しく1つ用意することにしました。ここなら何が入っても大丈夫!

これなら怖くない(笑)

レコード番号(キー)と、一括更新用の文字列だけ選びます。ここで余計なフィールドを選ばないことでも、うっかりミスを防げます。

2つだけにする

書き出ししたCSVはここからダウンロードできます。

ファイル名をクリックするとダウンロードできるよ

さっきからレコード番号(キー)って書いてるけど、キーってなんやねん!!と思われた方へ。

キーっていうのは、更新するときに「これだ!」と決めるためのものです。
たとえば、500人の人間が広場にいたとします。ここで一人の人を特定するためには「名前」を呼びますね。これがキーです。誰か来てください!って叫んでも本当に呼びたい人は来ませんね。なので特定する何か=名前=「キー」が必要なのです。
本当は同名の人がいるかもしれないから、特定のためには番号を付けた方がいいんですけどね。お気づきかもしれませんが、マイナンバーはそれです。

ただただ、自動計算をしなおしたいだけなので、ダウンロードしたCSVには一切触らずに(中身も見てない)そのまま読み込みします。
ここでうっかりExcelで開いちゃってゼロが落ちたとかなったら悲惨ですからね。(といっても、今回はレコード番号くらいしか値は出てないですけど)
念のために中身のデータを見たいんだったら、テキストエディタで見ることをオススメします。

読み込みも右上の「・・・」から始めます。

ファイルから読み込むを選ぶ

キーはレコード番号、一括更新用文字列だけを指定して、そのほかは(指定しない)にておきます。

2つだけ指定します

準備が整ったところで実行!たくさんのレコードの一括更新だとしばらく時間がかかります。
(業務用の大事なアプリの時は、先に全レコードのバックアップ取って、まずは1~2レコードで様子見したり、テストデータ用意して試してみてから実施しましょうね!)

ドキドキ・・・
終わったみたい

さてさて、結果は如何に。

曜日、入りました!

無事成功したようです~!

まとめ

kintoneの計算フィールドと、文字列1行フィールドの自動計算を使うことで日付から曜日を取得できました。

あとから追加した計算フィールドを再計算させる方法も、よかったら参考にしてくださいね。

では、楽しいkintoneライフを♪

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