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
FatBlackCat30
Employee
Employee

previous periods total

Hello all,

 

I am trying to create a DAX formula following this logic:

 

if the current date is less then 28 days then return the previous dates value under the column called # of users

 

For example since today date is 2/11/2020 not 2/28/2020 the result should be 1000 however if today was 2/29/2020 then the result would be 100

 

date# of users
2/11/2020100
1/31/20201000
12/31/20191024
11/30/20191556
10/31/20191257
9/30/20198855
8/31/20195745
7/31/201925255
6/30/2019154
5/31/2019154
4/30/20195455
3/31/20198888
2/28/20192665

 

what would be the best approach to do this?

 

thank you!

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

Hi @FatBlackCat30 ,

 

Here we go.

 

Measure = 
VAR t =
    TODAY ()
VAR day =
    DAY ( t )
VAR pre =
    EDATE ( t, -1 )
VAR inthismonth =
    CALCULATE (
        SUM ( 'Table'[# of users] ),
        FILTER (
            'Table',
            YEAR ( 'Table'[date] ) * 100
                + MONTH ( 'Table'[date] )
                = YEAR ( t ) * 100
                    + MONTH ( t )
        )
    )
VAR premonth =
    CALCULATE (
        SUM ( 'Table'[# of users] ),
        FILTER (
            'Table',
            YEAR ( 'Table'[date] ) * 100
                + MONTH ( 'Table'[date] )
                = YEAR ( pre ) * 100
                    + MONTH ( pre )
        )
    )
RETURN
    IF ( day < 28, premonth, inthismonth )

Capture.PNG

 

Pbix as attached.

 

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

View solution in original post

2 REPLIES 2
v-frfei-msft
Community Support
Community Support

Hi @FatBlackCat30 ,

 

Here we go.

 

Measure = 
VAR t =
    TODAY ()
VAR day =
    DAY ( t )
VAR pre =
    EDATE ( t, -1 )
VAR inthismonth =
    CALCULATE (
        SUM ( 'Table'[# of users] ),
        FILTER (
            'Table',
            YEAR ( 'Table'[date] ) * 100
                + MONTH ( 'Table'[date] )
                = YEAR ( t ) * 100
                    + MONTH ( t )
        )
    )
VAR premonth =
    CALCULATE (
        SUM ( 'Table'[# of users] ),
        FILTER (
            'Table',
            YEAR ( 'Table'[date] ) * 100
                + MONTH ( 'Table'[date] )
                = YEAR ( pre ) * 100
                    + MONTH ( pre )
        )
    )
RETURN
    IF ( day < 28, premonth, inthismonth )

Capture.PNG

 

Pbix as attached.

 

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.
amitchandak
Super User
Super User

The question is not clear. But in case you are looking for MTD and prior month mtd. Then datesmatd and totalmtd will help. But this does means you need to have a selected date of 11th on the calendar. If it selected as month you need add additional code

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

 

If month is selected.

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

To get the best of the time intelligence function. Make sure you have a date calendar and it has been marked as the date in model view. Also, join it with the date column of your fact/s.

Refer
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi

https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

Appreciate your Kudos. In case, this is the solution you are looking for, mark it as the Solution.
In case it does not help, please provide additional information and mark me with @

Thanks. My Recent Blogs -Decoding Direct Query - Time Intelligence, Winner Coloring on MAP, HR Analytics, Power BI Working with Non-Standard TimeAnd Comparing Data Across Date Ranges
Connect on Linkedin

 

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.