
いつもお世話になっております。データブレンドにおける欠損データが出たときの対処法について教えていただけますでしょうか。
<事象>
データブレンドをしたときに細かい粒度のフィールドでリンクをさせるとセカンダリデータが欠損して表示されてしまいます。
データを確認してみると、プライマリーデータで実績データのない月は、セカンダリデータのデータも表示されないようになっています。
<対処法について>
現状考えている対処法について下記教えていただけませんでしょうか。
1.プライマリーデータの実績データがない月にダミーデータを追加できる方法はありますでしょうか?(Tableau DesktopもしくはTableau Prepを使って)
2.もしくは、プライマリーデータの月を使用した時にプライマリデータの月ごとの実績データの有無に関わらずターゲットデータを表示させる方法があるのでしょうか?

基本的にTableauは「データとして存在しないものを表示する」ことが苦手です。データブレンドはプライマリに対してセカンダリを左外部結合する動きになりますので、プライマリに存在しない場合はセカンダリのデータを表示できません。正当な対処法としては「プライマリデータソースに月等の必要な粒度のデータを欠損させない」となります。
このデータソースを使ってどのような集計を行いたいのかによって細かな処理のやり方は変わってきますが、今回は簡単にPrepを使って「Targetのなかからブレンドの結合キーのユニークリストを作って、実績にユニオンする」という方法をとります。
全体像はこんな感じですが、メインの部分はユニーク化と最後のユニオンです。
ユニーク化はブレンドに使うキーになるフィールドだけで集計を行います。今回の例だとAddress Number, Date, Product, SP CD, State CDでグループ化し、集計フィールドには何も入れません。
こうしてリストが作れたら、実績データにユニオンして出力します。このデータソースに接続してTargetとブレンドすればTargetの全データを引っ張ることができます。例えば、Address Number = 1341917のTarget.Forecastは19.00のはずです。
欠損ありデータとブレンドするとこれが10.31になってしまいますが、
今回作成した欠損なしデータとブレンドすると正しく19.00が表示されます。
Prepフローファイルを添付しているので、前処理の内容はそちらを見てみてください。