Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
PSB piece of PQ code
let
MyList = { 5, 10, 15, 20 },
Index = -1,
Found = (Index = List.PositionOf(MyList, 15)) <> -1
in
[Found in Array = Found, Array Location = Index]
This results in the following output
[TRUE, -1]
I am trying to wrap my head around how Found can be TRUE and still Index is -1.
Hi @Anonymous
This might be useful as well.
https://docs.microsoft.com/en-us/powerquery-m/evaluation-model
Actually I want the ability to be able to get the index of an element in a list (say list A) in 1 condition and use the returned index to access a diferent list (list B) all within an each statement. Without repeating the List.PositionOf in the second condition again, it does not seem possible.
Just use List.Transform e.g.
= each List.Transform([MyListColumn], (elm) => [MyOtherListColumn]{elm})
The thing to note is that "each" is just shorthand for "(_) =>" and "_" is the default variable, so that where "[Column]" is, it just is shorthand for "_[Column]"
Hi @Anonymous
The original index was not overridden because it's been changed only within Found, so technically you referred to the original state within your output.
The below will make more sense
let
MyList = { 5, 10, 15, 20 },
Index = List.PositionOf( MyList, 15 ),
Found = Index <> -1
in
[Found in Array = Found, Array Location = Index]
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
102 | |
53 | |
21 | |
12 | |
12 |