2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Tableau prep】prepを用いた差分更新の方法

Last updated at Posted at 2024-05-11

Tableau serverやTableau prepで標準機能としてある増分更新は有名ですが、
昨日入力したデータが誤りで修正したい場合など、既に入力してあるデータが更新されている場合にパブリッシュ先でも更新する差分更新 の手法を紹介いたします!

想定する差分更新とは (増分ももちろん反映されます。)

すでに入力されているデータが更新された場合と新規にデータが入力された場合に反映。
image.png

用意したデータ

●2020/1/31 時点のデータ
image.png

●2020/2/1 時点のデータ
image.png

●2020/2/1 【データ更新後の想定される結果】
過去に入力された伝票に変更があった場合は更新する。
新しく入力された伝票も反映する。
image.png

prep作成

それでは実際にprepを作成していきます。
2020/1/31が青、2020/2/1がオレンジのデータです。
image.png

①結合

一意であるコードを結合句として完全外部結合(FULL JOIN)をします。
今回の場合は、会社コード、商品コード、得意先コードが結合句となる。
image.png

②マージ

先ほど結合句として使用した会社コード、商品コード、得意先コードをマージする
※-1がついている方が新しいデータです。(今回の場合2020/2/1)
image.png

マージ後
image.png

③更新

●今回値を更新したい、仕入金額、仕入商品個数、売上金額について
データが更新されている場合、もしくは新規に行が追加されている場合更新していきたいと思います。
※-1がついている方が新しいデータです。(今回の場合2020/2/1)
image.png

IF [更新日付-1]>[更新日付]
THEN [仕入金額-1]
ELSE IFNULL([仕入金額],[仕入金額-1])
END

同じように、仕入商品個数、売上金額についても計算式を作成する。

●更新日付についても計算式を作成する。
image.png

IF [更新日付-1]>[更新日付]
THEN [更新日付-1]
ELSE IFNULL([更新日付],[更新日付-1])
END

更新後
image.png

④整える

今回はわかりやすくするために計算式で作成した項目名の末尾に「_更新済み」と付けました。
元となるデータについては不要なのでここで削除します。
image.png

⑤出力

実際に出力したExcelファイルを見てみましょう。
image.png

想定される更新結果と同じになっていることが確認できます。
image.png

解説は以上になります!
最後まで読んでいただきありがとうございました!
もしよろしければ「いいね👍」お願いいたします!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?