Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Getting different data based on a Range column.

Hi All, I have some issue regarding getting different set of data by using date measure. 

 

This is the PBI file that i'm working on. 

Based on above figure, this is the range, and the data produced by that range but that's not aligned with what i should get. What i should get is  an output something like this

 

for example, on the "selectedDate" range slicer, i'm choosing 24 February 2018, the result for year 2017 should be in the selected date of 24 February 2017 and for year 2016, it should be in the selected of 24 February 2016. I'm not sure what measure should i change and how to proceed. The data for "no of orders by selected month" should be just the total count of those in Jan and Feb in every year only based on below table.

 


List of Measures used-

No of Orders by Selected Month =
VAR _selectedmonthselecteddate = [test]
RETURN CALCULATE([Order Count]'Calendar'[MonthNum] <= _selectedmonthselecteddate)
 
test = CALCULATE(MAX('Calendar'[MonthNum]), Filter('Calendar',[MonthNum] = Month(_Formulas[SelectedDate])))

 

SelectedDate =
Var _SelectedDate = Max('Calendar'[Date])
Return _SelectedDate

This is the PBI file that i'm working on. Hope you all have a nice day ahead, thank you!!

  • Hi, Anonymous ;

    You could create a measure such as:

    SelectedDate = 
    Var _SelectedDate = CALCULATE( Max('Calendar'[Date]),ALLSELECTED('Calendar'))
    Return CALCULATE(MAX('Calendar'[Date]),FILTER('Calendar',MONTH([Date])=MONTH(_SelectedDate)&&DAY([Date])=DAY(_SelectedDate)))
    No of Orders by Selected Month = 
    Var _SelectedDate = CALCULATE( Max('Calendar'[Date]),ALLSELECTED('Calendar'))
    var _piryear= CALCULATE(  [Order Count],FILTER(ALL('Calendar'),YEAR([Date])=MAX('Calendar'[Year])&& MONTH([Date])<=MONTH(_SelectedDate)))
    return IF(YEAR(MAX('Calendar'[Date]))=YEAR(_SelectedDate), CALCULATE(  [Order Count],FILTER(ALL('Calendar'),YEAR([Date])=MAX('Calendar'[Year])&& [Date]<=_SelectedDate)),_piryear)

    the final show:


    Best Regards,
    Community Support Team _ Yalan Wu
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

3 Replies

  • Anonymous , For of if you take a joined date table data will merge in one single date

    So use an independent date in the slicer

     

    //Date1 is independent Date table, Date is joined with Table
    new measure =
    var _max = format(maxx(allselected(Date1),Date1[Date]), "mmdd")
    return
    calculate( sum(Table[Value]), filter('Date',format( 'Date'[Date] "mmdd") =_max))

     

    Need of an Independent Date Table:https://www.youtube.com/watch?v=44fGGmg9fHI

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi amitchandak , thank you for replying, i really do appreaciate it.
      Just had a simple question, what does it mean by independent date table by your definition? From my POV, i did used an independent date table which is "Calendar" table. Do correct me if i'm wrong, thank you!

  • v-yalanwu-msft's avatar
    v-yalanwu-msft
    Community Support

    Hi, Anonymous ;

    You could create a measure such as:

    SelectedDate = 
    Var _SelectedDate = CALCULATE( Max('Calendar'[Date]),ALLSELECTED('Calendar'))
    Return CALCULATE(MAX('Calendar'[Date]),FILTER('Calendar',MONTH([Date])=MONTH(_SelectedDate)&&DAY([Date])=DAY(_SelectedDate)))
    No of Orders by Selected Month = 
    Var _SelectedDate = CALCULATE( Max('Calendar'[Date]),ALLSELECTED('Calendar'))
    var _piryear= CALCULATE(  [Order Count],FILTER(ALL('Calendar'),YEAR([Date])=MAX('Calendar'[Year])&& MONTH([Date])<=MONTH(_SelectedDate)))
    return IF(YEAR(MAX('Calendar'[Date]))=YEAR(_SelectedDate), CALCULATE(  [Order Count],FILTER(ALL('Calendar'),YEAR([Date])=MAX('Calendar'[Year])&& [Date]<=_SelectedDate)),_piryear)

    the final show:


    Best Regards,
    Community Support Team _ Yalan Wu
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.