Question

SingleValueのComparisonの値を書式設定に反映したい

  • 11 March 2021
  • 2 replies
  • 92 views

Userlevel 2

SingleValue Visualizationが好きでよく使うのですが、Comparisonで対目標値の達成率を可視化することがあります。

そのComparisonの集計結果を元に、例えば100%を超えていたら青字、超えていなかったら赤字で表示したいのですが、何か良いやり方はあるのでしょうか?

 

条件付き書式の条件に、Comparison結果を利用できたら最高なのですが…


This topic has been closed for comments

2 replies

こんにちは!

 

Single value vis上でのComparisonの結果を元に条件付き書式を直接適用することは今の所できないのですが、いくつかワークアラウンドがあります。

 

この目標値がすでにLookML上にある項目という前提のワークアラウンドにはなりますが、割合の計算をLookML上で行って、その計算結果を元にhtmlパラメータの中で条件付き書式のロジックを書いてあげあることが可能です。

 

例えば、、製品のカウント数をターゲットに対して何%達成できているかを表現してみます。

 

 

 #製品のカウント数
measure: count {
type: count
html: {% if helper_calc._value > 1 %}
<p style="color: red;">{{ value }}</p>
{% else %}
<p style="color: black;">{{ value }}</p>
{% endif %}
;;
}

 #裏で、目標値に対する割合を計算します
measure: helper_calc {
hidden: yes
type: number
sql: ${count}/${target_sales.target_1} ;;
}

 #目標値
dimension: target_1 {
type: number
sql: ${TABLE}.target_1 ;;
}

ポイントとしては、

目標値に対する達成率をLookMLで裏で計算して、その結果を使って、製品のカウント数のメジャーにhtmlで条件付き書式を付けています。htmlの条件付き書式の部分ですが、

helper_calcの結果を参照するときに、liquid変数を使い、if-elseのロジックは、こちらのliquidを使って表現しています。

 

100%を超えると赤文字になります。

 

その他のワークアラウンドとしては、custom visualizationを使って、自作のvisualizationをLookerで使用していただくことも可能です。

 

Userlevel 2

Rieさん、ありがとうございます!

 

なるほど、htmlパラメータで直接制御しちゃうという方法があるんですね。これは思いつかなかったです。試してみます。

 

ちなみに、この投稿の後思いついたのはLookを複製してしまい、
対目標値の達成率を表示したSingleValueを作ってしまうという方法です。

Look数が増えるのでクエリコストも描画コストも上がるのですが、いったんの回避方法としては十分かなと思っていました。

 

もしデフォルトで可能になると個人的にはかなり使い道があると思うので
是非開発チームへの要望としても上げていただけると嬉しいです!

 

よろしくお願いいたします。