cancel
Showing results for
Did you mean:
Highlighted
Helper IV

## cumulative total and different year

Hi everyone,

I would like to calculate a ratio (cumulative month by month) : nb customer who have paid/nb customer who have to pay, for each year

I got my list of customers with the paiement date (or empty if not paid) :

customer (Num_Tiers) | year (Année) | amount awaited (Objectif) | YYYY_MM paiement (Période_Télédéclaration) | Paiement date

I would like a graph, month by month (axis X), with the ratio (axis Y) nb customer who have paid/nb customer who have to pay. One line for each year (2019 and 2020).

I tried this :

tx_télédéclaration2019 = DIVIDE(calculate(DISTINCTCOUNT(BI_OBJECTIFS_AP[Num_Tiers]);left(BI_OBJECTIFS_AP[Période_Télédéclaration2019];4)="2019");calculate(DISTINCTCOUNT(BI_OBJECTIFS_AP[Num_Tiers]);BI_OBJECTIFS_AP[Objectif]>0;BI_OBJECTIFS_AP[Année]=2019;all(BI_date)))
First, it's not a cumulate total,
then, I got only 2019.

Thanx for all,

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Community Support

Hi @bapt69

It seems your formula is not correct.

DATESYTD resets every year. If the goal is to sum values over more than one year, then DATESYTD is no longer useful.

Please learn how to create formula for cumulative total from links below:

https://www.daxpatterns.com/cumulative-total/

https://www.sqlbi.com/articles/computing-running-totals-in-dax/

If you have any problems, feel free to let me know.

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

7 REPLIES 7
Highlighted
Super User IV

You can use datesytd and totalytd with date date to get these.

Example

``````YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(('Date'[Date]),"12/31"))
This Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD((ENDOFYEAR('Date'[Date])),"12/31"))

Last YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))
Last YTD complete Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-1,Year)),"12/31"))
Last to last YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-2,Year),"12/31"))
Year behind Sales = CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Year))
``````

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://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

Proud to be a Super User!

Highlighted
Helper IV

Sorry,

There is 2 paiement periods.

customer | year | budget | paiement date 2019 | paiement date 2020

CRM-002| 2019 | 4520€   |   2019_02                 |           2020_01

CRM-002| 2020 | 4000€  |    2019_02                 |           2020_01

CRM-003...

...

First of all, do I need to fill once time the paiement date like this :

customer | year | budget | paiement date 2019 | paiement date 2020

CRM-002| 2019 | 4520€   |   2019_02                 |

CRM-002| 2020 | 4000€  |                                   |           2020_01

CRM-003...

Yes I have a DATE Table and the relation is on YYYY_MM column (cause my Date Table don't hab every calendar date - the unique value is the YYYY_MM and the first day of every month)

Highlighted
Community Support

Hi @bapt69

Would you like the result as below:

Best Regards

Maggie

Highlighted
Super User IV

YTD will give cummaltive. You should create complete calendar.

Now if you have only YYYY_MM in you table convert to date like this

date =date(left(table[date],4),right(table[date],2),1)

using time intelligence will be a better idea.

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://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

Proud to be a Super User!

Highlighted
Helper IV

No way! Am I dumb?! 😄

My measure :

calculate(DISTINCTCOUNT(BI_OBJECTIFS_AP[accountnumber]);DATESYTD(BI_OBJECTIFS_AP[Date_périod]);filter2;filter3...)
with date_period=first day of the month for each paiement (not the actual paiement date)

My Date Table and the other table with a relation Date.date->Date_period

And I still got a number per month, not a cumulative total...
I tried TOTALYTD too, same issue...

Highlighted
Super User IV

Please make sure from the date table you are using the date that is joined with fact or marked as the date while making it the "The date"table.

I had made mistake in past using another date column from date table, which was also a date.

Refer to this file. It has quite a few formulae. Please check the one you need. Keep on removing the pages you don't need

https://www.dropbox.com/s/bu47m5ek7sr9v8t/sales_analytics_v2.pbix?dl=0

For date, calendar step refer: Decoding Direct Query - Time Intelligence.

In import, you have the option in data tab

Proud to be a Super User!

Highlighted
Community Support

Hi @bapt69

It seems your formula is not correct.

DATESYTD resets every year. If the goal is to sum values over more than one year, then DATESYTD is no longer useful.

Please learn how to create formula for cumulative total from links below:

https://www.daxpatterns.com/cumulative-total/

https://www.sqlbi.com/articles/computing-running-totals-in-dax/

If you have any problems, feel free to let me know.

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

Announcements

#### Power Platform Community Conference

Check out the on demand sessions that are available now!

#### Microsoft Power Platform Communities

Check out the Winners!

#### Create an end-to-end data and analytics solution

Learn how Power BI works with the latest Azure data and analytics innovations at the digital event with Microsoft CEO Satya Nadella.

Top Solution Authors
Top Kudoed Authors
Users online (593)