SCD Type 1 and Type 2 using SQL | Implementation of Slowly Changing Dimensions

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2024

ความคิดเห็น • 54

  • @macx8360
    @macx8360 8 หลายเดือนก่อน +5

    you wont believe ,i was just learning the same concept from your python course today itself in the morning

  • @Nalaka-Wanniarachchi
    @Nalaka-Wanniarachchi 8 หลายเดือนก่อน +1

    Great stuff.Must learn one by every data enthusiast.

  • @RoamingSoming
    @RoamingSoming 8 หลายเดือนก่อน

    Great way of explaining SCD types

  • @Sachin_Sambare
    @Sachin_Sambare 8 วันที่ผ่านมา

    you are too good..very very nice explanation

    • @ankitbansal6
      @ankitbansal6  8 วันที่ผ่านมา

      Thank you for the appreciation

  • @shanthiprabhu2100
    @shanthiprabhu2100 5 หลายเดือนก่อน

    Great Ankit, thanks. I am completely new to this concept and its very useful

  • @subhajitdey6806
    @subhajitdey6806 8 หลายเดือนก่อน

    great video ! need more data modelling and data engineering videos man !

  • @ankitbhangdia3931
    @ankitbhangdia3931 6 หลายเดือนก่อน +2

    @ankit bansal: Great job on explaining the concept. qq: Instead of making the end date as forever, will it make sense to keep it as NULL & include another column such as is_current_value which would be a boolean field. When someone wants to track the history in the report, an analyst can simply put the condition for start_date, end_date IS NULL and is_current_value = 'n' to take a look at the previous record or they could query on the start_date, end_date IS NOT NULL and is_current_value ='y'. You could even use an OR operator in the query with the structure I'm proposing. Using forever as the end_date is frowned upon in the data warehousing world IMHO.

  • @ashanair5909
    @ashanair5909 4 หลายเดือนก่อน

    If there was a way to love your videos and not just like.. Learning a lot Ankit. Thanks

    • @ankitbansal6
      @ankitbansal6  4 หลายเดือนก่อน +1

      Cheers 🥂

  • @JuanHernandez-pf6yg
    @JuanHernandez-pf6yg หลายเดือนก่อน

    Very useful. Thank you!

  • @sravankumar1767
    @sravankumar1767 8 หลายเดือนก่อน

    Superb explanation 👌 👏 👍

  • @gazart8557
    @gazart8557 8 หลายเดือนก่อน

    Yaay just yesterday only I learned this thanks

  • @uditkapadia7104
    @uditkapadia7104 6 หลายเดือนก่อน

    Great Explanation !

  • @meropahad7537
    @meropahad7537 7 หลายเดือนก่อน

    Thanks for the video Ankit

  • @yuvrajyuvas4730
    @yuvrajyuvas4730 5 หลายเดือนก่อน

    Awesome Bro..

  • @pradeepyogesh4481
    @pradeepyogesh4481 8 หลายเดือนก่อน

    Very good information and thanks for the content. How to create staging tables in the first place?

  • @deepakj6717
    @deepakj6717 8 หลายเดือนก่อน

    Best video.. Thanks !! If possible pls make videos on SQL performance tuning or launch course.

  • @anikethdeshpande8336
    @anikethdeshpande8336 6 หลายเดือนก่อน

    Hi Ankit, great explanation,
    how to handle scenario in scd2 type two, when there are insert, update and delete all together in staging for the same record.
    Assuming we are using cdc to keep track of changes and using cdc info to update the dim tables

    • @sandeepguptha6440
      @sandeepguptha6440 6 หลายเดือนก่อน

      then you need to create one more temp_table while running script by keeping where timestamp in stg_table > max(timestamp) in dim_table to get the only changed records to temp_stg table
      now data is in temp_table (which has only latest records)
      dim_table has old records as of now (we did not performed any transformations yet)
      now follow anikt procedure to keep history track

  • @typing07
    @typing07 4 หลายเดือนก่อน +1

    @ankit Bhaiya, Instead of doing manual work by query, We can create insert update trigger also, that will be a good automation work.
    What you say brother.☺

    • @ankitbansal6
      @ankitbansal6  4 หลายเดือนก่อน +1

      That will be too much load because it will trigger for each row.

  • @apexemperor
    @apexemperor 8 หลายเดือนก่อน

    Needed this video but 6months ago... Bt we did it together in office with a friend that time 😀😺 using sql

  • @srinubathina7191
    @srinubathina7191 8 หลายเดือนก่อน

    Thank you Ankit Bro

  • @aadil8409
    @aadil8409 4 หลายเดือนก่อน

    sir, can we implement scd-1 via merge statement. i mean to ask is merge statement is nothing but the scd-1 only?

  • @veereshk6065
    @veereshk6065 8 หลายเดือนก่อน

    Thank you for creating such quality content.
    I have a question,
    is it possible to implement such SCD2 using merge ? (where update and insert are involved to maintain history, same example as described in video).
    Thanks in advance.

    • @ankitbansal6
      @ankitbansal6  8 หลายเดือนก่อน

      It can be done but merge operation can have performance issues.

  • @milindzuge906
    @milindzuge906 8 หลายเดือนก่อน

    Thank you so much Ankit ❤😊

    • @ankitbansal6
      @ankitbansal6  8 หลายเดือนก่อน

      My pleasure 😊

  • @Aditya61515
    @Aditya61515 7 หลายเดือนก่อน

    my question is if we connect the data in power bi desktop so we need to manually do this scd 2 or it will automatically updated

  • @chinmayaMuduli-kf3dd
    @chinmayaMuduli-kf3dd 8 หลายเดือนก่อน

    Hi Ankit sir will you start any data engineering course ?

  • @chaitanyanagare757
    @chaitanyanagare757 2 หลายเดือนก่อน

    In SCD1 when first insert is completed we emptied the stg table.. How can we do changed to update dim without empty the stg after first insert

  • @anudipray4492
    @anudipray4492 4 หลายเดือนก่อน

    1ST TABLE IS UPSERT NOT TRANCATE LOAD RIGHT?

  • @nehashahpatel1741
    @nehashahpatel1741 7 หลายเดือนก่อน

    Million Thanks

  • @007SAMRATROY
    @007SAMRATROY 8 หลายเดือนก่อน +1

    Can't we use merge to perform the SCD2 implementation?

    • @ankitbansal6
      @ankitbansal6  8 หลายเดือนก่อน +4

      Performance is not good with merge.

  • @vamsivamsi2029
    @vamsivamsi2029 8 หลายเดือนก่อน

    Thanks @ankit

  • @techmania979
    @techmania979 8 หลายเดือนก่อน

    Can’t we use merge statement instead of using two separate insert and update statements???

    • @ankitbansal6
      @ankitbansal6  8 หลายเดือนก่อน +1

      Performance not good with merge

  • @sowjanyamasna3313
    @sowjanyamasna3313 8 หลายเดือนก่อน

    Sir which one is first video I learn to this course I start my career plz help me

    • @ankitbansal6
      @ankitbansal6  8 หลายเดือนก่อน

      th-cam.com/video/ejdIgYPfcV4/w-d-xo.html

  • @HumansofChn
    @HumansofChn 8 หลายเดือนก่อน

    Can't we implement it using Merge statemnet

  • @TheSanket148
    @TheSanket148 7 หลายเดือนก่อน

    What if same record comes in staging table,how to handle it?@ankit

    • @ankitbansal6
      @ankitbansal6  7 หลายเดือนก่อน

      That is the case of copy records. We can check if the key and value are the same then ignore them

  • @vilasshrirame6868
    @vilasshrirame6868 หลายเดือนก่อน

    ELT and ETL approaches are different in operations

  • @VaanisToonWorld-rp5xy
    @VaanisToonWorld-rp5xy 5 หลายเดือนก่อน

    you have written ELT as extract tranform and load. It's extract load and tranform

  • @vijiinfo
    @vijiinfo 5 หลายเดือนก่อน

    ❤❤❤

  • @prashantmhatre9225
    @prashantmhatre9225 4 หลายเดือนก่อน

    Not sure what you have not implemented by using merge statement

  • @nupoornawathey100
    @nupoornawathey100 8 หลายเดือนก่อน

    for mysql query is slightly changed:
    set @updated_date='2024-01-20';
    UPDATE product_type1_dim a, product_stg b
    SET a.price = b.price, a.last_update = @updated_date
    WHERE a.product_id = b.product_id ;

  • @wizard5828
    @wizard5828 13 วันที่ผ่านมา

    How we can have data till last three change of id … suppose if id 1 iPhone12 40000
    Changes to id 1 iphone12 30000
    Changes to
    Id 1 iphone12 25000
    Changes to id 1 iphone12 20000
    I want in the final table last 3 changes only that means dont want first change that means when prize was 40000 .. this first record will be ignore give me explanation
    Output data
    20k
    25k
    30k

  • @abdul-l4j
    @abdul-l4j 8 หลายเดือนก่อน

    bro keep the pace slow. You speak too fast

    • @ankitbansal6
      @ankitbansal6  8 หลายเดือนก่อน

      Ok next time. You can reduce speed from settings.

  • @9940114158
    @9940114158 8 หลายเดือนก่อน

    Thank you Ankit