Tableau Publicでテキスト ファイルを読み込むと一部のデータがnullになってしまうときはGoogle Spreadsheetを使う

問題

ローカルにあるCSVファイルをTableau Publicに取り込んだところ、一部の値がnullになってしまった。 対象の列は数値と文字列を含んでおり、データベースにあるときは文字列になっているが、CSVに掃き出した時点でスキーマレスになり、Tableau Public側が適切なデータ型を推測できなかったようだ。

同様の問題はすでに報告されているが、解決方法を補足しておく。

kb.tableau.com

解決方法

上記のtableauの回答では、

  1. CSVではなくExcelを利用する
  2. Schema.iniファイルを利用する

なので、要するにスキーマを指定しろということだと思う。 2はレガシー接続で、最近のtableauではサポートは終了したとのことなので、あまりいい方法ではない。 1はExcelがインストールされていればよいが、私はMacを使っていてMS Office製品が入っていないので、そのまま適用することはできない。

Tableau PublicではローカルからのアップロードとGoogle Driveへの接続のみが可能なので、Google Spreadsheetでなんとかするしかない。 今まで知らなかったのだが、Google Spreadsheetでもデータ型を指定することができるらしい。

www.officeisyours.com

そこで、対象の列を指定して、Format → Numberと見てみると、Automaticとなっていたので、これをPlain Textに変更した。 再度、Tableau Publicから読み込んでみると、nullはなくなり、本来の文字列が読み込まれている。