Skip to main content
Chifumi Inomata ha preguntado en Japan

いつもお世話になっております。データブレンドにおける欠損データが出たときの対処法について教えていただけますでしょうか。

<事象>​

データブレンドをしたときに細かい粒度のフィールドで​リンクをさせるとセカンダリデータが欠損して表示されてしまいます。

データを確認してみると、プライマリーデータで実績データのない月は、セカンダリデータのデータも表示されないようになっています。

<対処法について>

現状考えている対処法について下記教えていただけませんでしょうか。

1.プライマリーデータの実績データがない月にダミーデータを追加できる方法はありますでしょうか?(Tableau DesktopもしくはTableau Prepを使って)

2.​もしくは、プライマリーデータの月を使用した時にプライマリデータの月ごとの実績データの有無に関わらずターゲットデータを表示させる方法があるのでしょうか?

2 respuestas
  1. 13 nov 2022, 1:36

    基本的にTableauは「データとして存在しないものを表示する」ことが苦手です。データブレンドはプライマリに対してセカンダリを左外部結合する動きになりますので、プライマリに存在しない場合はセカンダリのデータを表示できません。正当な対処法としては「プライマリデータソースに月等の必要な粒度のデータを欠損させない」となります。

    このデータソースを使ってどのような集計を行いたいのかによって細かな処理のやり方は変わってきますが、今回は簡単にPrepを使って「Targetのなかからブレンドの結合キーのユニークリストを作って、実績にユニオンする」という方法をとります。

    全体像はこんな感じですが、メインの​部分はユニーク化と最後のユニオンです。

    基本的にTableauは「データとして存在しないものを表示する」ことが苦手です。データブレンドはプライマリに対してセカンダリを左外部結合する動きになりますので、プライマリに存在しない場合はセカンダリのデータを表示できません。正当な対処法としては「プライマリデータソースに月等の必要な粒度のデータを欠損させない」となります。​このデータソースを使ってどのような集計を行いたいのかによって細かな処理のやり

    ユニーク化は​ブレンドに使うキーになるフィールドだけで集計を行います。今回の例だとAddress Number, Date, Product, SP CD, State CDでグループ化し、集計フィールドには何も入れません。

    image

    こうしてリストが作れたら、実績データにユニオンして出力します。このデータソースに接続してTargetとブレンドすればTargetの全データを引っ張ることができます。例えば、Address Number = 1341917のTarget.Forecastは19.00のはずです。

    image

    欠損ありデータと​ブレンドするとこれが10.31になってしまいますが、

    image

    今回作成した欠損なしデータとブレンドすると正しく19.00が表示されます。

    image

    Prepフローファイルを添付しているので、前処理の内容はそちらを見てみてください。

0/9000