Forum Discussion
smpa01
2 years agoCommunity Champion
Multiple Intermediate step
ImkeF came across this awesome link and I was wondering if there is a way to refer to multiple/any intermediate steps.
E.g.
// dims table
let
dimOne = #table({"ky", "valOne"}, {{"ky1", 90.3}, {"ky2", 89.5}}),
dimTwo = #table({"ky", "valTwo"}, {{"ky1", 1}, {"ky2", 2}}),
metaStep1 = dimOne meta[ref1=dimOne],
metaStep2 = dimTwo meta[ref2=dimTwo]
in
metaStep2
//facts table
let
fact = #table({"ky", "amt"}, {{"ky1", 100}, {"ky2", 200}}),
#"Merged Queries" = Table.NestedJoin(fact, {"ky"}, Value.Metadata(dims)[ref2], {"ky"}, "dims", JoinKind.LeftOuter)
in
#"Merged Queries"
Is there a way to join metaStep1 in this? The folllowing errors out
let
fact = #table({"ky", "amt"}, {{"ky1", 100}, {"ky2", 200}}),
#"Merged Queries" = Table.NestedJoin(fact, {"ky"}, Value.Metadata(dims)[ref2], {"ky"}, "dims", JoinKind.LeftOuter),
#"Removed Columns" = Table.RemoveColumns(#"Merged Queries",{"dims"}),
#"Merged Queries1" = Table.NestedJoin(#"Removed Columns", {"ky"}, Value.Metadata(dims)[ref1], {"ky"}, "Removed Columns", JoinKind.LeftOuter)
in
#"Merged Queries1"
Thank you in advance
Try changing your dims table to this:
let dimOne = #table({"ky", "valOne"}, {{"ky1", 90.3}, {"ky2", 89.5}}), dimTwo = #table({"ky", "valTwo"}, {{"ky1", 1}, {"ky2", 2}}), metaStep = dimTwo meta[ref1=dimOne, ref2=dimTwo] in metaStep
4 Replies
- AlexisOlsonSuper User
Try changing your dims table to this:
let dimOne = #table({"ky", "valOne"}, {{"ky1", 90.3}, {"ky2", 89.5}}), dimTwo = #table({"ky", "valTwo"}, {{"ky1", 1}, {"ky2", 2}}), metaStep = dimTwo meta[ref1=dimOne, ref2=dimTwo] in metaStep- smpa01Community Champion
AlexisOlson This is smooth and elegant !!!
- smpa01Community Champion
This does not work in service df
Error: Expression.Error: The field 'ref1' of the record wasn't found//DateTbl let Source = {2023..2025}, #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error), ------------------------------------------------------------ metaStep = #"Replace errors" meta[ref1=Source, ref2= #"Replace errors"] in metaStep //dimTbl let Source = Text.From(Value.Metadata(DateTbl)[ref1]{1}), #"Convert to table" = Table.FromValue(Source) in #"Convert to table"
- ThxAlotSuper User
Inspiring post! Nice to put another jaw-dropping trick under my belt!
When I dig in MS documentation, it turned out MS put away this pearl in a dusted corner.