Buradaki birisinin dbt'deki anlık görüntülerle uğraşırken kaynağın her zaman benzersiz olmadığı bir durumla karşılaşıp karşılaşmadığını bilmek istiyorum.
Verilerin yalnızca ek olarak geldiği bir veri gölüm var. Kaynak her güncellendiğinde, veri gölündeki ilgili tabloda yeni bir kayıt oluşturulur.
DBT çözümü çalıştırıldığında, veriler son çalıştırmadan bu yana bir kereden fazla değiştiği için kaynağım benzersiz kimliğe sahip 1'den fazla satıra sahip olabilir.
İdeal olarak, anlık görüntü tablosundaki ilgili dbt_valıd_to sütunlarını kaynaktan en erken updated_at kaydıyla güncellemek ve daha sonra en son updated_at kaydını geçerli hale getiren anlık görüntü tablosuna yeni kayıtları eklemek istiyorum.
Bunu pencere işlevlerini kullanarak nasıl başaracağımı biliyorum, ancak dbt ile böyle bir durumun nasıl ele alınacağından emin değilim.
Eğer biri daha önce aynı sorunla karşı karşıya olup olmadığını merak ediyorum.
Snapshot Table
| **id** | **some_attribute** | **valid_from** | **valid_to** |
| 123 | ABCD | 2021-01-01 00:00:00 | 2021-06-30 00:00:00 |
| 123 | ZABC | 2021-06-30 00:00:00 | null |
Source Table
|**id**|**some_attribute**| **updated_at** |
| 123 | ABCD | 2021-01-01 00:00:00 |-> already been loaded to snapshot
| 123 | ZABC | 2021-06-30 00:00:00 |-> already been loaded to snapshot
-------------------------------------------
| 123 | ZZAB | 2021-11-21 00:10:00 |
| 123 | FXAB | 2021-11-21 15:11:00 |
Snapshot Desired Result
| **id** | **some_attribute** | **valid_from** | **valid_to** |
| 123 | ABCD | 2021-01-01 00:00:00 | 2021-06-30 00:00:00 |
| 123 | ZABC | 2021-06-30 00:00:00 | 2021-11-21 00:10:00 |
| 123 | ZZAB | 2021-11-21 00:10:00 | 2021-11-21 15:11:00 |
| 123 | FXAB | 2021-11-21 15:11:00 | null |