redashのpythonデータソースでカラム名を指定する時に使える型
BIツールのredashでpythonデータソースを使う際、カラム名を指定するために以下の関数を用いる。
add_result_column(result, column_name, friendly_name, column_type)
ここで4つ目の引数 "column_type" を指定した際に「この型はサポートしていません」というエラーが出た。GitHubのソースコードを追って使える型を確認したので、過程を含め記録しておく。
結論:使える型
- 'integer'
- 'float'
- 'boolean'
- 'string'
- 'datetime'
- 'date'
過程
関数 "add_result_column()" は「redash/redash/query_runner/python.py」内で定義されている。サポートしていない型を指定した場合には、下記でエラーが投げられる。
if column_type not in SUPPORTED_COLUMN_TYPES: raise Exception("'{0}' is not a supported column type".format(column_type))
"SUPPORTED_COLUMN_TYPES" は「redash/redash/query_runner/__init__.py」内で定義されている。文字列の完全一致が条件なので、例えば 'integer' を 'int' と指定するとエラーになる。
# Valid types of columns returned in results: TYPE_INTEGER = 'integer' TYPE_FLOAT = 'float' TYPE_BOOLEAN = 'boolean' TYPE_STRING = 'string' TYPE_DATETIME = 'datetime' TYPE_DATE = 'date' SUPPORTED_COLUMN_TYPES = set([ TYPE_INTEGER, TYPE_FLOAT, TYPE_BOOLEAN, TYPE_STRING, TYPE_DATETIME, TYPE_DATE ])