0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

アップグレードされたデータポータルの日付・日時型は、nullが含まれるデータには適用できない

Last updated at Posted at 2020-10-01

問題

データポータルに新しく追加された日付・日時型はnullが含まれるデータには適用できない!
困る!
旧日付・日時型ならnullが含まれててもOKだったから、それを使おう!
…と思ったけど、型選択欄に旧日付・日時型がない!

どうしよう…

解決策

  1. 旧日付・日時型に設定したいフィールドを、テキスト型に設定しておく。
  2. レポート作成かなんかで、そのフィールドがテキスト型でどんなフォーマットになるか確認する。
    (ここでは%Y%m%dとします)
  3. TODATE関数無理くり旧日付型に変換!
TODATE(旧型にしたい日付フィールド,"%Y%m%d","%Y-%m-%d")

経緯

2020/9/17にGoogleデータポータルの日付と時刻の関数が新しく改善されました。
(TODAY関数がやっと追加されました。ヤッター)
加えて、これら新しい関数に対応するために新しい日付・日時型が追加されました。
そして、旧日付・日時型を設定できなくなりました

この新機能が追加される以前から旧日付・日時型を設定しているフィールドは、そのまま旧型で使えます。
しかし、型を新日付・日時型に設定してしまうと旧型に戻せません。1
加えて、新しいフィールドを作成した時も旧型に設定できません。

公式ヘルプだと、新型を使うのをオススメされてますし、大人しく新型にアップグレードするしかなさそう。
と思って、アップグレードしようとしたら…

新日付・日時型を選択できない!!

しかし、新日付・日時型をちゃんと設定できるフィールドもありました。
新日付・日時型を選択できないフィールドとの違いを探った所、
データ内のnullの有無でした。

nullが含まれていると新日付・日時型を選択できないようです。
(*月型とか、日型とか、四半期型とかは選択できました。でも意図したものではない)

旧日付・日時型ならnullが含まれてても適用できました。
でも、もう旧型は新たに設定できません。
新しく追加した日付フィールドをなんとかして日付型に設定したいのに…

でも、とりあえず上記の解決策nullが含まれる日付フィールドもデータポータルで扱えるようになりました。
もっと良い方法あるよ!元のデータのフォーマットがこうだと新型も使えるよ!、なんて知ってる方がいたら教えて下さい。

参考: 新機能 - データポータルのヘルプ

  1. データソースのバージョン履歴から、一応は元に戻せます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?