Forum Discussion

yodha's avatar
yodha
Icon for Helper IV rankHelper IV
7 years ago

DAX for Text box

i have start date field in my data like this,

 

 

i am using a slicer for start date in my report like this, 

 

and i have a text box for duration in my report like this 

 

if i select a start date using "startdate slicer" and enter days in "Duration" text box, the start date in the table should change accordingly.

For example my start date is "1/7/19" and duration is "2 days", the data in the table should change like this, 

How to achieve this functionality in power bi? any help on this is much appreciated, thanks in advance.

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Well, all your measures must be aware of the selection in the slicer(s) and return BLANK for the days that are outside of the defined period. If they do, then the column below such an out-of-period date will store BLANKs only and in effect, the column will not be shown.

     

    Best

    Darek

    • yodha's avatar
      yodha
      Icon for Helper IV rankHelper IV

      Hi,

      but how to do this, can you please provide an example.

       

      thanks in advance.

      • Anonymous's avatar
        Anonymous
        Not applicable
        -- Let A be any measure in the model.
        -- Then let B be the version that you're
        -- after.
        
        B =
        var __dayVisibleInSlicer =
        	SELECTEDVALUE( DaySlicer[Day] )
        var __numOfDaysVisibleInSlicer =
        	SELECTEDVALUE( NumOfDaysSlicer[Number of Days] )
        var __startDate = __dayVisibleInSlicer
        var __endDate =
        	__dayVisibleInSlicer
        	+ __numOfDaysVisibleInSlicer
        	- 1
        var __dayVisibleInCurrentContext =
        	SELECTEDVALUE( 'Calendar'[Date] )
        var __dayVisibleInCurrentContextIsBetweenBounds =
        	__startDate <= __dayVisibleInCurrentContext
        	&& __dayVisibleInCurrentContext <= __endDate
        var __b =
        	if(
        		__dayVisibleInCurrentContextIsBetweenBounds,
        		[A]
        	)
        return
        	__b

        Best

        Darek