見出し画像

ブール値の別名を編集する方法

こんにちは。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売上]の計算式を見てみます。


2016売上

この場合、2015の売上はNULLです。
なので、単純に


前年達成

このようにした場合、片方がnullなので式の結果もnullになってしまいます。
ところがこれを色に入れると集計されるのでようやくブール値になれるわけです。
しかし、この段階ではブール値かどうかわからないので、別名の編集ができません。

そこでFixedの登場です。

LOD計算を使う


LODを使った2016売上

カテゴリごとの2016年売上で固定してあげます。これを2015も作ります。

そして今度は合計せずにブール値を作ります。Fixed計算(カテゴリ別2016or2015売上)の時に合計してあげてるのでこのときに合計する必要はありません。

LODを使ったブール値


するとこのようにドメインが追加されていて、ブール値であることがわかります。

売上達成の説明

あとは簡単です。右クリック「別名の編集」をクリックすると


別名の編集

このように、別名の編集を行うことができます。すると、凡例はこのようになります。


別名を編集済みのブレットグラフ

凡例が「未達」「達成」に代わってますね。これでパフォーマンスを下げることなく、凡例をブール値で編集することに成功しました。

おわりに

今回は、Ord7 Performance Best Practiceを復習していて、わからなかったところを師匠に教えていただいたことです。
Ord7は一応達成したのですが、まだまだ分からないことがあるなと気づかされました。
また、こちらに書き起こすことで私の中でもかなり納得できたように思います。
読んでいただいた方、ありがとうございました。

Rieko

この記事が気に入ったらサポートをしてみませんか?