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
ContabilidadBI
Helper III
Helper III

Problem with DATESMTD

Hello guys,

 

I am new to power BI and I have been struggling to make a simple month to date sales card for a few hours. Here is the formula:

 

MTD de Total = CALCULATE(SUM(Albaranes[Total]);DATESMTD(Calendario[Fecha]))

 

And here is the fact table of sales and the Calendar table:

 

Captura.PNG

 

 

Now we are in May, so I should be getting the sum of sales amount since 1/5/2017 until today: 4/5/2017 .  Instead I am getting BLANK as the output. What am I doing wrong?

 

Thanks for all the help and learning I am getting from this forum!!

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Your english is great!

 

*if* you calendar stopped at the end of May... this would work fine.

 

Ignoring that, you can add a calc column on your calendar table:

IsCurrentMonth = IF (MONTH(TODAY()) = MONTH(MyCalendar[Date]), TRUE(), FALSE())

 

Then set a filter on the card visual to IsCurrentMonth = TRUE  ?

View solution in original post

14 REPLIES 14

What is in the Fecha column?  It needs to be a date type for it to work



* Matt is an 8 times Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.

Hi Matt, thanks for your answer.

 

Fecha is Date, and it has Date format, is the primary key of the Calendar Table. I have used other time inteligence fuctions such as PREVIOUSMONTH() without any problem.

 

Here you can see the Calendar table:

 

Captura.PNG

 

Thanks.

 

Anonymous
Not applicable

My best guess is that in your fact table, you have dates WITH time -- which won't match up w/ your calendar table, which doesn't have times.   If that is the case, you need to strip off the times in the fact table.

Hi Scottsen, thanks for your reply.

 

In the sales table, the date is just a date without time.

 

I have been thinking that maybe there is something else I need to put in the formula that will indicate that I want the sum of sales for the current month (May), something like today(), month()....

 

Because I keep getting blank as output and I do have sales in May in the sales table, the output should be something like 10k.

 

This is driving me nuts!

 

Thanks for the help.

 

 

Hi,

 

I was trying again and If a put a month slicer in the same page of the report and filter for may, then yes, the card shows the sales amount for may until today. But what I want is a card of the running sales of THIS MONTH, which right now is May but it should change to 0 in the first day of June.

Thats it Scootsen! uff at least I know now what was going on.

So, what would be the measure formula that will always calculate the sum of sales for the month we are in?  that formula you put would be a filter parameter of the CALCULATE fuction I put in my first message? I can do the calculated column for this month, but I prefer if I can do it with only a measure.

 

I have a card that shows the sales of the month in a dashboard, but when next month starts, I have to filter the card again, upload it to Power BI service and delete the other one, so what I am trying to achieve is a card that will automatically update when the month finish and the next one starts

 

How would be the formula for the calculated column THIS MONTH btw?

 

Thank you so much!!!

Anonymous
Not applicable

Actually... In case we are lucky...   I assume your calendar table is going "into the future" -- it doesn't stop at THIS month.   Could that be changed?  In which case... your current MTD would magically work?

Thanks Scottsen, don't really understand your last reply. My Calendar table goes until 12/31/2017 so until the end of the year.

 

English is not my first language.

Anonymous
Not applicable

Your english is great!

 

*if* you calendar stopped at the end of May... this would work fine.

 

Ignoring that, you can add a calc column on your calendar table:

IsCurrentMonth = IF (MONTH(TODAY()) = MONTH(MyCalendar[Date]), TRUE(), FALSE())

 

Then set a filter on the card visual to IsCurrentMonth = TRUE  ?

This worked for me, i just don't know why..
DATESQTD() and DATESTYD(,) worked fine...... why not month?? 

Thanks man, I learned a lot today!

Anonymous
Not applicable

Ooohh!

 

MTD doesn't respect the current date at all.  It's relative to the current filter context.  If you go create a table w/ every day on it... you will see your measure working... growing the value each day, until end of month... when it resets to 1st day of month again.

 

You would need to do some sort of  FILTER(ALL(Calendar), Calendar[Date] > TODAY() - DAY(TODAY()) + 1)

or probably easier to add a calc column to your calendar table IsCurrentMonth and use that to filter.

Oh this makes so much sense now
Cheers! 

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