ブール値の別名を編集する方法
こんにちは。Riekoです。
DATA SaberのOrd7に取り組んでいて、疑問に思い、そこから学んだことを書きます。
ブール値の別名とは
まずIntermediateⅡ Q11を紹介します。
2016年売上をブレットグラフとして2015年売上をリファレンスラインにするというものでした。
それに、前年売上を達成したかを色で分けたいとき、私はこう書きました。
sum([2016売上])>sum([2015売上])
これを色にいれると、こうなります。
前年超えしているかはわかりますが、凡例の「真」「偽」が気になります。
これをわかりやすくする方法として、まず計算フィールドを変える方法があります。
if sum([2016売上])>sum([2015売上]) then "前年達成" else "前年未達" end
これなら凡例に表示されるのですが、これではパフォーマンスがよくないとOrd7で習いました。ブール値のまま、別名を編集したいです。
nullに注意
IntermediateⅡQ11に戻って、[2016売上]の計算式を見てみます。
この場合、2015の売上はNULLです。
なので、単純に
このようにした場合、片方がnullなので式の結果もnullになってしまいます。
ところがこれを色に入れると集計されるのでようやくブール値になれるわけです。
しかし、この段階ではブール値かどうかわからないので、別名の編集ができません。
そこでFixedの登場です。
LOD計算を使う
カテゴリごとの2016年売上で固定してあげます。これを2015も作ります。
そして今度は合計せずにブール値を作ります。Fixed計算(カテゴリ別2016or2015売上)の時に合計してあげてるのでこのときに合計する必要はありません。
するとこのようにドメインが追加されていて、ブール値であることがわかります。
あとは簡単です。右クリック「別名の編集」をクリックすると
このように、別名の編集を行うことができます。すると、凡例はこのようになります。
凡例が「未達」「達成」に代わってますね。これでパフォーマンスを下げることなく、凡例をブール値で編集することに成功しました。
おわりに
今回は、Ord7 Performance Best Practiceを復習していて、わからなかったところを師匠に教えていただいたことです。
Ord7は一応達成したのですが、まだまだ分からないことがあるなと気づかされました。
また、こちらに書き起こすことで私の中でもかなり納得できたように思います。
読んでいただいた方、ありがとうございました。
Rieko