Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Is there any way to achieve a reverse look up that returns the memeber position on the path?
I have this
| rowNum | pathString | individiualValue |
|--------|------------------|------------------|
| 1 | 6000|5000|4000 | 6000 |
| 1 | 6000|5000|4000 | 4000 |
| 2 | 8000|9000|7000 | 1000 |
| 3 | 8000|9000|7000 | 8000 |
I want to end up with this
| rowNum | pathString | individiualValue | position |
|--------|------------------|------------------|----------|
| 1 | 6000|5000|4000 | 6000 | 1 |
| 1 | 6000|5000|4000 | 4000 | 3 |
| 2 | 8000|9000|7000 | 1000 | |
| 3 | 8000|9000|7000 | 8000 | 1 |
I can currently achieve it with this
Table =
VAR baseTbl =
DATATABLE (
"rowNum", INTEGER,
"pathString", STRING,
"individiualValue", STRING,
{
{ 1, "6000|5000|4000", "6000" },
{ 1, "6000|5000|4000", "4000" },
{ 2, "8000|9000|7000", "1000" },
{ 3, "8000|9000|7000", "8000" }
}
)
VAR modTbl =
SUMMARIZE ( baseTbl, [rowNum], [pathString] )
VAR lookupTbl =
GENERATE (
modTbl,
ADDCOLUMNS (
GENERATESERIES ( 1, PATHLENGTH ( [pathString] ) ),
"ind", PATHITEM ( [pathString], [Value], TEXT )
)
)
VAR res =
GENERATEALL (
baseTbl,
VAR ky1 = [rowNum]
VAR ky2 = [pathString]
VAR ky3 = [individiualValue]
RETURN
SELECTCOLUMNS (
FILTER ( lookupTbl, [rowNum] = ky1 && [pathString] = ky2 && [ind] = ky3 ),
"position", [Value]
)
)
RETURN
res
But is there a built-in syntax available to tackle this or any other optimized way?
Solved! Go to Solution.
Try this as a calculated column:
position =
MINX (
FILTER (
GENERATESERIES ( 1, PATHLENGTH ( [pathString] ) ),
PATHITEM ( [pathString], [Value] ) = [individualValue]
),
[Value]
)
Try this as a calculated column:
position =
MINX (
FILTER (
GENERATESERIES ( 1, PATHLENGTH ( [pathString] ) ),
PATHITEM ( [pathString], [Value] ) = [individualValue]
),
[Value]
)
👍
If the length of the string you are looking for is always the same can you do it mathematically?
Position =
VAR _Search = SEARCH('Table'[individiualValue],'Table'[pathString],1,BLANK())
RETURN IF ( NOT ISBLANK ( _Search ), ( _Search - 1 ) / 5 + 1 )
Hi, my friend, List.PositionOf() from PQ asked me to pass a message on to you, this task is totally a light weight for it.
| 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! |
Appreciate !!! but I need a DAX solution.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 57 | |
| 33 | |
| 33 | |
| 19 | |
| 18 |
| User | Count |
|---|---|
| 67 | |
| 67 | |
| 45 | |
| 30 | |
| 26 |