Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Hi I have the following issue:
I have a table as below
id | source_id | |
100 | ||
101 | 100 | |
102 | ||
103 | 102 | |
104 | 101 | |
105 | 104 |
I want to find the first record of
so the result should look like this
id | source_id | first_id |
100 | 100 | |
101 | 100 | 100 |
102 | 102 | |
103 | 102 | 102 |
104 | 101 | 100 |
105 | 104 | 100 |
Thanx for helping!
Use recursive function in PQ
let
Fx = (id, src) =>
let pos = List.PositionOf(ID, src)
in if pos > -1 then @Fx(ID{pos}, Src{pos}) else id,
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwUNJRUorVATENgUyQAIRnhJAwBksYQXkmYJ4hlGcK5pkoxcYCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [id = _t, source_id = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"id", Int64.Type}, {"source_id", Int64.Type}}),
ID = #"Changed Type"[id], src=#"Changed Type"[source_id],
Traced = Table.AddColumn(#"Changed Type", "Root", each fx([id], [source_id]))
in
Traced
Expertise = List.Accumulate( {Days as from Today}, {Skills and Knowledge}, (Current, Everyday) => Current & Day.LeanAndPractise(Everyday) ) |
Hi Thanx for your reaction,
I can't get it working. I did try to copy your code in power query.
Can you add extra information on how to create the recursive function in Power Query?
Thanx
Hi try it :
first_id = IF(ISBLANK(LOOKUPVALUE('Table'[id], 'Table'[id], 'Table'[source_id])), 'Table'[id], LOOKUPVALUE('Table'[id], 'Table'[id], 'Table'[source_id]))
Hi Thanx for your reaction.
But this is n't going to work.
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
23 | |
21 | |
20 | |
13 | |
12 |
User | Count |
---|---|
43 | |
31 | |
24 | |
23 | |
22 |