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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
Anonymous
Not applicable

Create date difference value column ?

Hello, 

 

I want to create a column like created column( current date - last date by country) in power bi. 

I have country/Region, date and death column. 

 

How do I create created column? 

 

Country/RegionDateDeathsCreated column
Brazil24-Apr-21   389,492    3,076
Brazil23-Apr-21   386,416    2,914
Brazil22-Apr-21   383,502    2,027
Brazil21-Apr-21   381,475    3,472
Brazil20-Apr-21   378,003    0
Argentina 24-Apr-21   432,312     90
Argentina 23-Apr-21   432,222     679
Argentina 22-Apr-21   431,543    309
Argentina 21-Apr-21   431,234    1,000
Argentina 20-Apr-21   430,234    0

 

thanks in advance

1 ACCEPTED SOLUTION
VahidDM
Super User
Super User

Hi @Anonymous 

 

Try this code to add a new column : 

Column = 
VAR _CD = 'Table'[Date]
VAR _YD =
    CALCULATE (
        MAX ( 'Table'[Date] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[Date] < _CD
                && 'Table'[Country/Region] = EARLIER ( 'Table'[Country/Region] )
        )
    )
VAR _YDV =
    CALCULATE (
        MAX ( 'Table'[Deaths] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[Date] = _YD
                && 'Table'[Country/Region] = EARLIER ( 'Table'[Country/Region] )
        )
    )
RETURN
    IF ( ISBLANK ( _YD ), 0, 'Table'[Deaths] - _YDV )

 

output:

 

VahidDM_0-1642375533905.png

 

 

If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
LinkedIn: 
www.linkedin.com/in/vahid-dm/

 

 

View solution in original post

7 REPLIES 7
VahidDM
Super User
Super User

Hi @Anonymous 

 

Try this code to add a new column : 

Column = 
VAR _CD = 'Table'[Date]
VAR _YD =
    CALCULATE (
        MAX ( 'Table'[Date] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[Date] < _CD
                && 'Table'[Country/Region] = EARLIER ( 'Table'[Country/Region] )
        )
    )
VAR _YDV =
    CALCULATE (
        MAX ( 'Table'[Deaths] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[Date] = _YD
                && 'Table'[Country/Region] = EARLIER ( 'Table'[Country/Region] )
        )
    )
RETURN
    IF ( ISBLANK ( _YD ), 0, 'Table'[Deaths] - _YDV )

 

output:

 

VahidDM_0-1642375533905.png

 

 

If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
LinkedIn: 
www.linkedin.com/in/vahid-dm/

 

 

AlexisOlson
Super User
Super User

If you want to do this in the query editor, have a look at my previous solution here:
https://community.powerbi.com/t5/Power-Query/Optimize-performance-at-Un-Cumulate-calculation/m-p/219...

 

You may want to review this simpler case explained with more detail first:
https://community.powerbi.com/t5/Desktop/Calculating-Daily-values-from-Cumulative-Total/m-p/2198969

Anonymous
Not applicable

Hello,

 

Your solution might not work as we have to take the country into the account as well. 

 

thanks 

 

The first one I linked to does handle this. The second one is the simpler example that does not.

Anonymous
Not applicable

Sure thanks, will take a look. 

 

ValtteriN
Super User
Super User

Hi,

Here is one way to this:


EarlierDatediff =
var _country = 'Table (5)'[Country/Region]
var _edate = CALCULATE(MAX('Table (5)'[Date]),FILTER('Table (5)','Table (5)'[Date] <EARLIER('Table (5)'[Date])),'Table (5)'[Country/Region]=_country)
var _datediff = DATEDIFF('Table (5)'[Date],_edate,DAY)
return

_datediff
End result (I modified 1 date to demo -2 in Argentina):
ValtteriN_0-1642357490285.png


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!




Anonymous
Not applicable

Hello, 

 

Sorry, let me rephrase the problem. 

 

I have to create a column with current date value - previous date value by country. 

 

your solution is only giving the datediff. 

 

thanks 

 

 

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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