Tableauナレッジ - INSIGHT LAB

【Tableau Desktop】SIGN()の可能性

作成者: Koh|2022年7月21日

はじめに

どうも。Kohです。

夏がきましたね。急な気温の上昇で夏バテしそうですが、冷えピタ貼って頑張りましょう!

さて、今回はあまり知られていないであろう関数「SIGN()とは?とその活用例」をご紹介します!

早速いってみましょう!

こんな要望ありませんか?

売上や利益など数値を表示するチャートで、

・赤字・黒字で色分けをしたい

・正の値・0(ゼロ)・負の値で色分けしたい

という要望があることってあるあるじゃないかなあと思っています。

イメージはこんな感じ。


そんな時に皆さんはどのようにして実現をしていますか?

下記のようにやっている方も多いのではないでしょうか!?

例として、先ほどのキャプチャのグラフを再現してみましょう!

➀色分けをするための計算式を作成

②作成した計算式をマークの「色」に追加

③その他必要なフィールドを追加し、完成!

(見た目の都合上、オーダー日でフィルターしています)

もちろんこの方法でも問題なく実現できると思います!私もこの方法でやっていた1人です!

ただこの方法には欠点があるため挙げてみました。

・タイピングする量が多い(ただめんどうなだけw)

・タイプミスの可能性がある

・IF文、かつ文字列フィールドのためパフォーマンスに影響する可能性がある

 

「じゃあ他に方法あるのかよ!」となりますよね。

タイトルからお気づきかと思いますが、SIGN関数による実現方法をご紹介します!

 

使ってみた

まずはTableau公式ヘルプを確認してみましょう。

SIGN(number)

数値の符合を返します。数値が負の場合は-1、数値がゼロの場合は0、数値が正の場合は1が返されます。

なるほど。IF文で作成したロジックとの違いは、「数値で返す」だけで他は同じですね。


では、先ほどの例をSIGN関数で実現してみましょう!

➀IF文バージョンで作成したシートを複製

②SIGN関数を使用した判定式を作成

③ ②で作成したフィールドをマーク「色」に追加

④色の設定をすれば完成!

※今回はSIGN関数を使用しているため色の凡例は数値で返ってきます。

 ・-1:負の値

 ・ 1:正の値

このようにSIGN()を使えば、判定するメジャーフィールドをSIGNで囲ってあげれば完了です。

(カンタン!)

実は、上記で挙げたIF文での実装における欠点もカバーできているんですよ!


ただ数値で結果が返すことだけ、ネックに感じる方もいるかもしれませんね。(番外編へ↓)

 

【番外編】

もし色の凡例を「黒字、赤字」のように表示する必要があれば、一工夫で表示できます!

一例を記載しておきます。

➀SIGN関数のフィールド>既定のプロパティ>数値形式の順にクリック

②「カスタム」をクリックし、キャプチャの通り入力

③凡例の表示が変わります!

 

最後に

いかがでしたか?

今回は活用例を1つしかご紹介できていないですが、ぜひ他の使い方も検討してみてください!

また、Tableauには他にも多くの関数が用意されています。

お時間がある際に、ぜひ他の関数を試していただければと思います!

それでは!