Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Hello Community,
I would like to know if possible to convert this sql query to dax query.
here is the query:
SELECT * ,
Lag(User, 1,'') OVER( PARTITION BY id
ORDER BY Date ASC) AS UserTarget
FROM table
my table is:
| id | date | activity | target act | user | targetuser |
| 1 | 10-Oct | eat | drink | a | b |
| 1 | 10-Nov | drink | sleep | b | c |
| 1 | 12-Dec | sleep | xxxx | c | xxxx |
| 2 | 10-Oct | eat | dink | a | b |
| 2 | 10-Nov | drink | sleep | b | c |
| 2 | 12-Dec | sleep | xxxxx | c | xxxxx |
Solved! Go to Solution.
UserTarget =
MAXX(
TOPN(
1,
FILTER(
TBL,
TBL[id] = EARLIER( TBL[id] )
&& TBL[date] > EARLIER( TBL[date] )
),
TBL[date], ASC
),
TBL[user]
)
| Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension! |
DAX is simple, but NOT EASY! |
UserTarget =
MAXX(
TOPN(
1,
FILTER(
TBL,
TBL[id] = EARLIER( TBL[id] )
&& TBL[date] > EARLIER( TBL[date] )
),
TBL[date], ASC
),
TBL[user]
)
| Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension! |
DAX is simple, but NOT EASY! |
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 61 | |
| 54 | |
| 41 | |
| 17 | |
| 13 |
| User | Count |
|---|---|
| 106 | |
| 99 | |
| 38 | |
| 29 | |
| 28 |