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

Score big with last-minute savings on the final tickets to FabCon Vienna. Secure your discount

Reply
Richard_Clipsto
Frequent Visitor

Help with a Calculated Column

Hi,


I have a table which looks a bit like this:

 

UnitAmendment TypeFinal RentStart DateEnd Date
AOriginal Lease£10001/01/202031/12/2023
ATermination  31/12/2023
ARenewal£15001/04/202431/03/2028
BOriginal Lease£20001/01/202031/12/2029

 

I'm trying to get a calculated column that for each Unit it provides me with the previous final rent. I only want it to look at rows which have Original Lease or Renewal as these will be the relevant records. I've tried using topn but I can't get the filters to work to allow me to look at only the relevant unit, and then only the relevant Amendment Types.

 

Thank you!

1 ACCEPTED SOLUTION
Bibiano_Geraldo
Super User
Super User

Hi @Richard_Clipsto , Please try the following Dax code to create the calculated column:

PreviousFinalRent = 
VAR CurrentUnit = Table[Unit]
VAR CurrentStartDate = Table[Start Date]
RETURN 
    CALCULATE(
        MAX(Table[Final Rent]),
        FILTER(
            Table,
            Table[Unit] = CurrentUnit &&
            Table[Amendment Type] IN {"Original Lease", "Renewal"} &&
            Table[Start Date] < CurrentStartDate
        )
    )

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

Hi @Richard_Clipsto ,

 

You can try formula like below to create calculated column:

Previous1 = 
LOOKUPVALUE(
    'Table'[Final Rent],
    'Table'[Unit], 'Table'[Unit],
    'Table'[Amendment Type], "Original Lease",
    'Table'[Start Date], 
    CALCULATE(
        MAX('Table'[Start Date]),
        FILTER(
            'Table',
            'Table'[Unit] = EARLIER('Table'[Unit]) &&
            'Table'[Amendment Type] IN {"Original Lease", "Renewal"} &&
            'Table'[Start Date] < EARLIER('Table'[Start Date])
        )
    )
)

or below formula, but you need to manipulate the columns in the power query to change their data type to number:

Previous2 = 
SUMX(
    TOPN(
        1,
        FILTER(
            'Table',
            'Table'[Unit] = EARLIER('Table'[Unit]) &&
            'Table'[Amendment Type] IN {"Original Lease", "Renewal"} &&
            'Table'[Start Date] < EARLIER('Table'[Start Date])
        ),
        'Table'[Start Date], DESC
    ),
    'Table'[Text After Delimiter]
)

vkongfanfmsft_0-1729650194518.png

 

Best Regards,
Adamk Kong

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

 

 

Bibiano_Geraldo
Super User
Super User

Hi @Richard_Clipsto , Please try the following Dax code to create the calculated column:

PreviousFinalRent = 
VAR CurrentUnit = Table[Unit]
VAR CurrentStartDate = Table[Start Date]
RETURN 
    CALCULATE(
        MAX(Table[Final Rent]),
        FILTER(
            Table,
            Table[Unit] = CurrentUnit &&
            Table[Amendment Type] IN {"Original Lease", "Renewal"} &&
            Table[Start Date] < CurrentStartDate
        )
    )

This is great thank you

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

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