Forum Discussion

sebastianqc's avatar
sebastianqc
Icon for Helper I rankHelper I
6 years ago
Solved

Repeat values from a Thursday to a Wednesday

Hello everyone ,  i have the next question:
how can I repeat this data per week from Thursday to Wednesday? below I put a picture of what I have

the red box data is repeated until Wednesday

 

Thanks for help me

  • Vvelarde's avatar
    Vvelarde
    6 years ago

    sebastianqc 

     

    In DAX you can try with this:

     

    1. a New Column to obtain if the day of week is Wednesday get Value1 Column:

     

     

    Value1onWed =
    IF ( WEEKDAY('Table'[Date];2) = 4; 'Table'[Value1] )

     

    2. New Column for the Corrected Values (Repeat for each column)

     

    Value1RV =
    VAR _Date = 'Table'[Date]
    RETURN
        IF (
            'Table'[Value1onWed] <> BLANK ();
            'Table'[Value1onWed];
            CALCULATE (
                LASTNONBLANK ( 'Table'[Value1]; 'Table'[Value1] );
                FILTER ( 'Table'; 'Table'[Date] < _Date )
            )
        )

     

     

    Regards

     

    Victor

7 Replies

  • Vvelarde's avatar
    Vvelarde
    Icon for Community Champion rankCommunity Champion

    sebastianqc 

     

    Hi, try with this:

     

    --Add a Custom Column for each column (in your case : 3)

    if Date.DayOfWeek([Date])=4 then [Value1] else null
    if Date.DayOfWeek([Date])=4 then [Value2] else null
    if Date.DayOfWeek([Date])=4 then [Value3] else null

     

    -- Fill Down

    ---Removed original Columns

     

    Regards

     

    Victor

     

     

    • sebastianqc's avatar
      sebastianqc
      Icon for Helper I rankHelper I

      Vvelarde  thanks you  ...   but how  I can apply this if my table is calendar table type?🤔

      • Vvelarde's avatar
        Vvelarde
        Icon for Community Champion rankCommunity Champion

        sebastianqc 

         

        In DAX you can try with this:

         

        1. a New Column to obtain if the day of week is Wednesday get Value1 Column:

         

         

        Value1onWed =
        IF ( WEEKDAY('Table'[Date];2) = 4; 'Table'[Value1] )

         

        2. New Column for the Corrected Values (Repeat for each column)

         

        Value1RV =
        VAR _Date = 'Table'[Date]
        RETURN
            IF (
                'Table'[Value1onWed] <> BLANK ();
                'Table'[Value1onWed];
                CALCULATE (
                    LASTNONBLANK ( 'Table'[Value1]; 'Table'[Value1] );
                    FILTER ( 'Table'; 'Table'[Date] < _Date )
                )
            )

         

         

        Regards

         

        Victor

  • camargos88's avatar
    camargos88
    Icon for Community Champion rankCommunity Champion

    Hi sebastianqc ,

     

    Do you need to override the values or you just have the first value for each set (Thurday - Wednesday) ?

     

    Ricardo

    • sebastianqc's avatar
      sebastianqc
      Icon for Helper I rankHelper I

      camargos88  I need override the first value from the next week (thursday to wednesday),  on example the first value is marked on red box 

       

      I hope it's useful

       

      Thanks Sebastian