Tableau serverやTableau prepで標準機能としてある増分更新は有名ですが、
昨日入力したデータが誤りで修正したい場合など、既に入力してあるデータが更新されている場合にパブリッシュ先でも更新する差分更新 の手法を紹介いたします!
想定する差分更新とは (増分ももちろん反映されます。)
すでに入力されているデータが更新された場合と新規にデータが入力された場合に反映。
用意したデータ
●2020/2/1 【データ更新後の想定される結果】
過去に入力された伝票に変更があった場合は更新する。
新しく入力された伝票も反映する。
prep作成
それでは実際にprepを作成していきます。
2020/1/31が青、2020/2/1がオレンジのデータです。
①結合
一意であるコードを結合句として完全外部結合(FULL JOIN)をします。
今回の場合は、会社コード、商品コード、得意先コードが結合句となる。
②マージ
先ほど結合句として使用した会社コード、商品コード、得意先コードをマージする
※-1がついている方が新しいデータです。(今回の場合2020/2/1)
③更新
●今回値を更新したい、仕入金額、仕入商品個数、売上金額について
データが更新されている場合、もしくは新規に行が追加されている場合更新していきたいと思います。
※-1がついている方が新しいデータです。(今回の場合2020/2/1)
IF [更新日付-1]>[更新日付]
THEN [仕入金額-1]
ELSE IFNULL([仕入金額],[仕入金額-1])
END
同じように、仕入商品個数、売上金額についても計算式を作成する。
IF [更新日付-1]>[更新日付]
THEN [更新日付-1]
ELSE IFNULL([更新日付],[更新日付-1])
END
④整える
今回はわかりやすくするために計算式で作成した項目名の末尾に「_更新済み」と付けました。
元となるデータについては不要なのでここで削除します。
⑤出力
解説は以上になります!
最後まで読んでいただきありがとうございました!
もしよろしければ「いいね👍」お願いいたします!