Forum Discussion
Replicating Power Query Formula in DAX
- 1 year ago
Hi villa1980,
To replicate the previous and next row functionality in DAX, you can use DAX functions like EARLIER, and FILTER to create calculated columns for both the previous and next rows.
Here’s how you can do it in DAX:
Step 1: Create a Calculated Column for the Previous Row
This column will get the name of the previous row based on the Index column.
PreviousRow = VAR CurrentIndex = YourTable[Index] RETURN IF ( CurrentIndex = 1, BLANK(), CALCULATE( MAX(YourTable[Name]), FILTER( YourTable, YourTable[Index] = CurrentIndex - 1 ) ) )
Step 2: Create a Calculated Column for the Next Row
Similarly, you can create a calculated column to get the name of the next row.
NextRow = VAR CurrentIndex = YourTable[Index] RETURN CALCULATE( MAX(YourTable[Name]), FILTER( YourTable, YourTable[Index] = CurrentIndex + 1 ) )
Example Output
With this setup, your table might look like this:
Name Index PreviousRow NextRow
Jeff 1 BLANK() Bob Bob 2 Jeff Ian Ian 3 Bob BLANK()
Hello villa1980
You can use the following formula to create a new calculated column in the table to get the previous row value:
Previous Name =
VAR _idx = NamesTbl[Index]
RETURN
CALCULATE (
SELECTEDVALUE ( NamesTbl[Names] ),
FILTER (
ALL ( NamesTbl ),
NamesTbl[Index] = _idx - 1
)
)Here is the screenshot of the same:
Best Regards,
Udit
If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudo 👍
🚀 Let's Connect: LinkedIn || YouTube || Medium || GitHub
✨ Visit My Linktree: LinkTree