Skip to main content

例えば、以下のように時系列(矢印の方向)にある値が累計されていくようなデータがあるとします。

NULLの一つ前の値を適用する方法

 

NULLが全く入っていなければ問題ないのですが、もしデータの間にNULLが入っているとき(上の例でもEntity B,E,FにNULL値が見られます。)

Tableauで可視化すると、以下の のようにデータがある部分のみ点で表示されるか、NULLを規定の位置で表示すると、NULLの日付は0の位置で表示されるので、ギザギザのグラフになってしまいます。

 

この記事では、以下の ✔ のようにNULLのデータがある場合には、その一つ前の日付のデータを適用する方法をお伝えしたいと思います。

 

sample+image.png

 

最終的には可視化するのがゴールですが、可視化をする前にデータを理解するステップが必要です。

データを理解するためにはクロス集計表形式でデータの整合性を確かめるのがオススメです。

 

クロス集計上での完成イメージは、

Bの赤枠部分にはすべて3月8日の値である87,863をあてはめて、Fの緑枠部分には3月10日の値である15,018をあてはめる感じです。

 

after.png

 

それを実現するためには、計算式を書きます。以下の計算式です。

 

pastedImage_10.png

 

この意味が分かる方はそのままご自分のワークブックにも計算式を書いていただければOKですが、

一応、計算式の意味も以下に記載しておきます。

 

calc+with+explanation.png

 

最初は、うわーなんじゃこりゃー、と感じてしまうかもしれませんが、実は日本語で考えるロジックと似ているのではないでしょうか。

頭で考えているロジックを、Tableauも分かるように関数を使用してかいてあげればOKです。

 

私は計算式の名前を「★NULLには上の値を適用」としましたので、その項目をビューに持ってきます。

メジャーバリューに入れてみますと、赤枠の中には87,863が、緑枠の中には15,018が適用されていることがわかります。

 

after.png

 

もし作った計算式をビューに配置しても、うまいこといかないよという場合は

表計算の方向が正しく設定されているか確認してください。確認方法は、まずビューに配置した項目を右クリック > [表計算の編集]を選択します。

 

tableau+calc.png

 

それから、表計算のポップアップで、「表(横)」など選択します。これは表計算の方向を指定する項目です。

あまり難しく考えずに、どの方向に計算してほしいか選べばOKです。

 

私の例ですと、日付が縦方向に並んでいるため、表(下)に設定することで正しい値が得られました。

 

calc+direction.png

 

これで下準備は完了です。

最後に、折れ線グラフに可視化するところをやっていきます。

 

可視化したい各項目をビューに配置します。

今回のシートでは日付が横方向に並んでいるため、表計算は表(横)を選択します。念のため、表計算の方向が表(横)になっているか確認しましょう。

 

final+ver.png

 

以上です。

 

今回のケースでは簡単な計算式を一つ書けば、元のデータにNULLが入っていたとしてもグラフにした際にきれいに表現することができる、ということをお伝えしました。

 

どなたかのお役に立てれば幸いです。

1 réponse
  1. 3 janv., 07:45

    コメント失礼いたします。 

    欠損値の扱いは非常に重要だと感じました。大変参考になりました! 

    自分が調べたところ、TableauではIFNULL関数もあり、以下のように簡潔に書くこともできました。 

    IFNULL(SUM([Value]),PREVIOUS_VALUE(SUM([Value])))

0/9000