QlikSenseでテーブルチャートを作り、データエクスポートしたら数字が文字列扱いになってしまいました。
ちょっと困ったので今回の事象と回避方法をご紹介します。
今回の現象
今回QlikSenseで以下のようなテーブルチャートを作りました。
それぞれの値は以下のようになっています。
初回体重 | 軸 | ロードスクリプトで取得 |
現在体重 | 軸 | ロードスクリプトで取得 |
現在までの体重増減 | 軸(計算式) | 現在体重ー初回体重 |
現在までの体重増減率 | 軸(計算式) | (現在体重ー初回体重)/初回体重 |
現在までの体重増減と増減率はプラスになった時のみ背景色を変更するよう以下の式をセットしています。
IF(現在体重>初回体重, yellow, white)
画面上は正しく表示されていましたが、このチャートをエクセルにエクスポート(チャートを右クリックしてエクスポート)すると、エクセル上で計算式の値が文字列扱いになってしまうという現象になりました。
数字なのに文字列扱いになると、数値をフィルターで条件指定できない点が一番のデメリットです。左寄せに表示されるのも見づらいです。
このような状態だと一旦数値に変換し、保存し直す手間が発生します。
QlikSenseの仕様と回避方法
結論から言うと、計算式をメジャーとして登録すると数値として出力することが分かりました。
今回、集計などが不要だったため、テーブルチャートで実装し、全項目を「軸」として設定していました。
私の認識では、軸とメジャーの関係を以下のように解釈していました。
軸 :データ分析を行う単位や切り口
メジャー:集計値(SumやAvgなどの集計関数によって取得)
今回は集計する訳ではないので全部軸で良いと思ったのです。
画面上、軸だろうとメジャーだろうと正しく表示はできていたのですが、エクスポートデータに影響があるならメジャーで登録し直します。
初回体重 | 軸 | ロードスクリプトで取得 |
現在体重 | 軸 | ロードスクリプトで取得 |
現在までの体重増減 | メジャー(計算式) | 現在体重ー初回体重 |
現在までの体重増減率 | メジャー(計算式) | (現在体重ー初回体重)/初回体重 |
この変更の結果、エクスポートすると、全項目を数値で出力するようになりました。
ちょっとしたことですが、今後は気をつけたいと思った次第です。
Qlik Senseからテーブルをエクスポートすると、結果の.xlsxファイルには、
Qlik Senseテーブルのビジュアライゼーションでの順序に関係なく、
メジャーの前に軸が取り込まれます