[kintone]一覧画面に曜日を表示したい
ひさしぶりにkintoneのお話。
家族用にkintoneを契約して使っています。
もらったプリントを保管して+αの情報を付け足して管理してたのですが、学校のモノって結構「この前の○曜日にもらったやつ・・・」と曜日で考える場面が多いことに気がづきました。
そうすると、一覧画面に日付だけじゃなくて曜日も表示されていてほしい。
しかし、kintoneには曜日フィールドというものは存在しません。
・・・存在しませんが。
日付があれば曜日がわかるはずだよね!?ってことで、計算フィールドで計算しちゃえばいいじゃない、と考えた方々がいらっしゃいます。
計算フィールドで曜日を計算する方法
kintoneエバンジェリスト、イシイケンタロウさんの記事(同じくエバンジェリスト松田さんのおすすめ)↓
いまは公式ページにもヘルプがありました。(事務所の紳士さんより)↓
X(Twitter)で呟いたところ教えていただきました。教えていただいた方々、ありがとうございます!
これらのページでも解説されておりますが、kintoneの日付は実はある基準日からの秒で情報を持っておりまして、それを覚えておくと、計算フィールドでいろいろ計算しやすくなります。単純な時間や日数計算くらいならささっとできちゃいますので、覚えておいて損はないですよ。
さっそく実践!
日付フィールドは既にあったので、計算フィールドと、曜日表示用の文字列1行フィールドを新設しました。曜日表示用の文字列フィールドでも、自動計算を使ってます。(なので計算が2カ所あることになります)
式は、イシイケンタロウさんのものを流用させていただきました。せっかくなので自分で頑張って作ろうかとも思ったのですが、先人様のお知恵を有難く拝借させていただくことにしました。ありがたや。
よくわからず使わずに、ある程度理解した上でなら、そのままコピペ利用も全然構わないよねっていうのが私の持論です。
フィールド追加した後のこと
フィールド追加後に、過去のレコードを開いてみると、まだ空欄のままです。
編集画面を開いて保存する
自動計算させるには、一度編集画面を開いて保存しなおす必要があります。特にどこも変えなくても開いて保存するだけでOKです。
さて、これが数レコードなら、ぽちぽち開いて保存…を繰り返すだけでいいのですが、小学校入学してからの2年分のレコードなので、さすがに手動でやるのは厳しい。(500レコードくらいありました)
そういうときは、CSVを使った一括更新でパパっと再計算させちゃいます。
公式ヘルプにも記事がありますので、こちらも見ると良いです。いろいろ注意事項が書かれておりますよ。
CSVを使った一括更新
まず、先にファイル書き出しをします。
ここで、キーになるレコード番号と、適当な1フィールド(計算フィールドと曜日計算してる文字列1行フィールド以外)を選びます。
ダウンロードした値をそのまま更新するので、実際のところデータ的には何も変わらないんですが、ここでうっかりミスっちゃうと、変な値で全部のレコードを更新しちゃいかねません。
びびりー((((;゚Д゚))))な私は、一括更新用の文字列を新しく1つ用意することにしました。ここなら何が入っても大丈夫!
レコード番号(キー)と、一括更新用の文字列だけ選びます。ここで余計なフィールドを選ばないことでも、うっかりミスを防げます。
書き出ししたCSVはここからダウンロードできます。
ただただ、自動計算をしなおしたいだけなので、ダウンロードしたCSVには一切触らずに(中身も見てない)そのまま読み込みします。
ここでうっかりExcelで開いちゃってゼロが落ちたとかなったら悲惨ですからね。(といっても、今回はレコード番号くらいしか値は出てないですけど)
念のために中身のデータを見たいんだったら、テキストエディタで見ることをオススメします。
読み込みも右上の「・・・」から始めます。
キーはレコード番号、一括更新用文字列だけを指定して、そのほかは(指定しない)にておきます。
準備が整ったところで実行!たくさんのレコードの一括更新だとしばらく時間がかかります。
(業務用の大事なアプリの時は、先に全レコードのバックアップ取って、まずは1~2レコードで様子見したり、テストデータ用意して試してみてから実施しましょうね!)
さてさて、結果は如何に。
無事成功したようです~!
まとめ
kintoneの計算フィールドと、文字列1行フィールドの自動計算を使うことで日付から曜日を取得できました。
あとから追加した計算フィールドを再計算させる方法も、よかったら参考にしてくださいね。
では、楽しいkintoneライフを♪