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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Anonymous
Not applicable

calculate value (through measure and calculated column) of one period earlier without a date table

Hi,

I would like to calculate the value of a period earlier but without using a seperate date table.

Instead of a date column, I created a seperate column with a lists quarters (called 'datesortnumber') but they are mentioned as 1, 2, 3, 4, 5, 6 etc.

I would like to display the value whereby the datesort period is one earlier.

This I would like to achieve with a measures as well as through a calculated column.

A very simplified version of my input table:

VALUE, DATESORTNUMBER
111, 1
112, 2
113, 3
114, 4
115, 5

The result should look like:
DATESORTNUMBER, RESULTVALUE
1, no result (because no value at datesortnumber 0)
2, 111
3, 112
4, 113
5, 114

How can I achieve to create this result value column whereby the value is one datesort earlier (through a measure and a calculated column?  Thank you for the help!

1 ACCEPTED SOLUTION
Greg_Deckler
Super User
Super User

@Anonymous Try:

Measure =
  VAR __DateSortNum = MAX('Table'[DATESORTNUMBER])
RETURN
  MAXX(FILTER(ALL('Table'),[DATESORTNUMBER] = __DateSortNum - 1),[VALUE])


Column = 
  VAR __DateSortNum = 'Table'[DATESORTNUMBER]
RETURN
  MAXX(FILTER(ALL('Table'),[DATESORTNUMBER] = __DateSortNum - 1),[VALUE])

Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

2 REPLIES 2
Greg_Deckler
Super User
Super User

@Anonymous Try:

Measure =
  VAR __DateSortNum = MAX('Table'[DATESORTNUMBER])
RETURN
  MAXX(FILTER(ALL('Table'),[DATESORTNUMBER] = __DateSortNum - 1),[VALUE])


Column = 
  VAR __DateSortNum = 'Table'[DATESORTNUMBER]
RETURN
  MAXX(FILTER(ALL('Table'),[DATESORTNUMBER] = __DateSortNum - 1),[VALUE])

Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Anonymous
Not applicable

Works perfect, thank you!

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.