Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
FJ83
Helper II
Helper II

Need help on writing DAX queries based date and time

On the 8th business day of a month onwards I would like to show the data till last month (Dec)and before the 8th business day I would like to show the data for the month before the last month(Nov). 

1 ACCEPTED SOLUTION
v-yalanwu-msft
Community Support
Community Support

Hi, @FJ83 ;

You could add another measure as rank Business day measure. then modify your meaure.

1. rank measure.

rank = RANKX(FILTER(ALL(Table1),EOMONTH([Date],0)=EOMONTH(MAX([Date]),0)&&WEEKDAY([Date],2)<6),CALCULATE(MIN([Date])),,ASC)

2.modify your measure.

YTD = 
VAR EightBusinessday =
     MINX(FILTER(ALL(Table1),EOMONTH([Date],0)=EOMONTH(MAX('Table1'[Date]),0)&&[rank]=8),[Date])
VAR EndDate =
    IF (
        TODAY () < EightBusinessday,
        EOMONTH ( TODAY (), -2 ),
        EOMONTH ( TODAY (), -1 )
    )
RETURN
    CALCULATE (
        FactLaborBudgetHourBV[M_BudgetLaborHour],
        KEEPFILTERS ( DimDate[Date] <= EndDate )
    )

 The final output is shown below:

vyalanwumsft_0-1643093191386.png


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.

View solution in original post

5 REPLIES 5
v-yalanwu-msft
Community Support
Community Support

Hi, @FJ83 ;

You could add another measure as rank Business day measure. then modify your meaure.

1. rank measure.

rank = RANKX(FILTER(ALL(Table1),EOMONTH([Date],0)=EOMONTH(MAX([Date]),0)&&WEEKDAY([Date],2)<6),CALCULATE(MIN([Date])),,ASC)

2.modify your measure.

YTD = 
VAR EightBusinessday =
     MINX(FILTER(ALL(Table1),EOMONTH([Date],0)=EOMONTH(MAX('Table1'[Date]),0)&&[rank]=8),[Date])
VAR EndDate =
    IF (
        TODAY () < EightBusinessday,
        EOMONTH ( TODAY (), -2 ),
        EOMONTH ( TODAY (), -1 )
    )
RETURN
    CALCULATE (
        FactLaborBudgetHourBV[M_BudgetLaborHour],
        KEEPFILTERS ( DimDate[Date] <= EndDate )
    )

 The final output is shown below:

vyalanwumsft_0-1643093191386.png


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.

Thank you

PREVIEW
 
 
 
ValtteriN
Super User
Super User

Hi,

You can create a measure with this kind of logic:

var _date = calculate(max(calendar[business day]),all(calendar),calendar[date]=today()) return
IF(_date<8,[measure with data until Novermeber],[measure with data until december])

I hope this post helps to solve your issue and if it does consider accepting it as a solution and giving the post a thumbs up!






Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




The below was the query written, Kindly let me know ho we can change as per the logic

 

YTD =

VAR EightBusinessday =

CALCULATE (

MIN ( DimDate[Date] ),

DimDate[CurrentMonthBusinessDay] = 15

)

VAR EndDate =

IF (

TODAY () < EightBusinessday,

EOMONTH( TODAY (), -2 ),

EOMONTH ( TODAY (), -1 )

)

RETURN

CALCULATE (

FactLaborBudgetHourBV[M_BudgetLaborHour],

KEEPFILTERS( DimDate[Date] <= EndDate )

)

amitchandak
Super User
Super User

@FJ83 , Assume you have two measure like

MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD('Date'[Date]))
last MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))

 

Then you can have a measure 

if(day(Today()) < 8 , [MTD Sales],[last MTD Sales])

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors