複数項目から最初の値を表示したい_Coalesce関数
更新日:2023年9月26日
複数の列項目があり、その中からNULLを除いて最初に入っている値を返す方法です。Qlik SenseではCoalesce関数を利用します。
【悩み】
プロ野球選手の出身を一覧したいと思ったのですが、高卒・大卒・社会人と選手ごとに経歴が異るため最終出身属性がデータでは存在していませんでした。(下図参照:ちなみに201年のドラフト1位リストです)
【対策】
Coalesce関数というピッタリのが見つかりました。
順番に引数として指定した列項目から最初に値の入っているものを返してくれます。
上記のデータの例でいくと、[出身3]→[出身2]→[出身1]と順番にチェックしてくれます。[出身3]に値が入っていれば結果を返し、NULLだったら[出身2]をチェックするというように順番にチェックしてくれます。
⁼Coalesce(出身3,出身2,出身1,'不明')
■解説
[出身3][出身2][出身1]の順番で引数を指定するだけです。最後の「'不明'」は指定したすべての列がNULLだった場合に返す任意の文字列を設定できます。
■結果
一番の右の列が「⁼Coalesce(出身3,出身2,出身1,'不明')」の数式列です。
便利でシンプルな関数があってよかったです。
会社の業務でもお客様の住所などで[最終納品先]、[請求先]、[契約先]といったように複数でNULLも混在するような場合に使えそうです。
【参考】
Comments