Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
9 years ago
Solved

Condition to return text value

Hello!

 

I have the following tables:

 

Tab 1: Dayparts

Daypart               Slot Start    Slot End

Early morning       07:00          09:59

Morning               10:00          12:59

......

 

Tab 2: Programmes

Programme          Slot mid point              Daypart

News                          11:35                    {DAX formula}

 

What I want to is to get a new column in the Programmes table that returns the value in Daypart if the Slot Mid Point falls between Slot Start and Slot End.

 

I would use Calculate if Daypart contained numbers, but what formula do I need to use so that I can get the right value from Dayparts/Daypart using the time conditions?

 

Any help much appreciated!

 

Many thanks,

 

George.

  • Hi GeorgeAnonymous

     

    Just making sure - you should use the VALUES function (not the VALUE function) in that pattern.

     

    VALUES ( Dayparts[Daypart] ) is used to return a single value from the Dayparts[Daypart] column corresponding to each row of Programmes.

     

    (The VALUE function is used to convert text to numbers).

     

    The Dayparts table should not be related to Programmes for Static Segmentation.

     

    Here is a dummy pbix file illustrating how you could create a Static Segmentation calculated column using the tables in your example.

    https://www.dropbox.com/s/ike0q13pxhr3oca/Static%20segmentation%20time.pbix?dl=1

     

     

6 Replies

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi Owen,

       

      Thank you for your response.

       

      I had tried this but the problem I'm facing is that DAX will not allow me to draw the Daypart value from the Dayparts table (when I type in the Programmes Tab 

      Daypart =  Calculate (Value(

       

      it doesn't give me the option to pick 'Dayparts'[Daypart], nor does Related work after Value(. 

      NB I have linked the two tables on Slot Start -> Slot Mid Point.

       

      Any suggestions on how DAX can pick up the column from Dayparts?

       

      Many thanks,

       

      George. 

      • OwenAuger's avatar
        OwenAuger
        Super User

        Hi GeorgeAnonymous

         

        Just making sure - you should use the VALUES function (not the VALUE function) in that pattern.

         

        VALUES ( Dayparts[Daypart] ) is used to return a single value from the Dayparts[Daypart] column corresponding to each row of Programmes.

         

        (The VALUE function is used to convert text to numbers).

         

        The Dayparts table should not be related to Programmes for Static Segmentation.

         

        Here is a dummy pbix file illustrating how you could create a Static Segmentation calculated column using the tables in your example.

        https://www.dropbox.com/s/ike0q13pxhr3oca/Static%20segmentation%20time.pbix?dl=1

         

         

  • Hi There,

     

    You need to create a index column at the query stage in both the tables starting from 1.

     

    Create a relationships between the tables based on this column.

     

    and then

    1. Create a Calculated column in Table 2

    Slot Ending = IF(Table2[Slot Mid Point]<RELATED(Table1[Slot End]),"True","False")

    2. Create another calculated column in Table 2

    DayPart = IF(Table2[Slot Ending]="False","NA",RELATED(Table1[Daypart])).

     

    This will give you the results expected.

     

    Please refer to the screenshots for more information.

     

     

    Thanks & Regards,

    Bhavesh