March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
I have a fact table which lists widgets, years, and an attribute of the widget in that year. For example:
Widget_ID Year Attribute
1001 2005 1
1001 2006 15
1001 2007 12
1001 2008 1
What I'd like to do is create another column that has the value of the widget's previous year attribute, which should look like this:
Widget_ID Year Attribute PY Attribute
1001 2005 1 N/A
1001 2006 15 1
1001 2007 12 15
1001 2008 1 12
I've been playing around with CALCULATE and FILTER commands, but I feel very clumsy with DAX at this point. Here is the gist of what I've been trying:
PY Attribute = CALCULATE(MAX('Table'[Attribue]),'Table'[Year] = ('Table'[Year] - 1),'Table[Widget_ID] ='Table'[Widget_ID])
Any advice or tips would be appreciated.
Solved! Go to Solution.
Yes, this worked; I used the MAXX option because my table did have more columns. The column formula turned out to be:
=MAXX(FILTER('Table',('Table'[Widget_ID] = EARLIEST('Table'[Widget_ID]) && 'Table'[Year] = EARLIER('Table'[Year])-1)),[Attribute])
Is it what you were looking for?
CALCULATE( MAX('Table'[Attribute]) ,'Table'[Year] = EARLIER('Table'[Year])- 1 ,'Table[Widget_ID] = EARLIER('Table'[Widget_ID]) )
Note that, due to the way CALCULATE works, you may get unexpected results if your table has more columns than in your description.
You may prefer something like the following instead:
MAXX( FILTER('Table' ,'Table'[Year] = EARLIER('Table'[Year])- 1 && 'Table[Widget_ID] = EARLIER('Table'[Widget_ID] ) , [Attribute] )
Yes, this worked; I used the MAXX option because my table did have more columns. The column formula turned out to be:
=MAXX(FILTER('Table',('Table'[Widget_ID] = EARLIEST('Table'[Widget_ID]) && 'Table'[Year] = EARLIER('Table'[Year])-1)),[Attribute])
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
User | Count |
---|---|
27 | |
17 | |
16 | |
12 | |
11 |
User | Count |
---|---|
35 | |
26 | |
26 | |
20 | |
15 |