Forum Discussion
Table.View - Handling NestedJoin + Expand
- 4 years ago
This maps to:
- Table RenameColumns (if join columns have the same name)
- Table.Join
- Table.SelectColumns (if join columns have the same name)
Note: A nested join using left outer will not result in any calls to the connector. It simply adds a virtual table column waiting to be expanded. Other join types will break folding, performing an expand column afterwards will unbreak folding.
Here is a list of handlers:
OnAddColumns = (constructors as {[Name = text, Function = (row as record) => any, Type = type]}) as table => ...
OnCombine = (tables as {table}, index as Int64.Type) as table => ...,
OnDistinct = (columns as {text}) as table => ...,
OnGroup = (keys as {text}, aggregates as {[Name = text, Function = (subtable as table) => any, Type = type]}) => ...,
OnInvoke = (function as function, arguments as list, index as Int64.Type) as any => ...,
OnJoin = (joinSide as Int64.Type, leftTable as table, rightTable as table, joinKeys as {text}, joinKind as JoinKind.Type) as table => ...,
OnPivot = (pivotValues as list, attributeColumn as {text}, valueColumn as text, aggregateFunction as (items as list) as any) as table => ...,
OnRenameColumns = (renames as {text}) as table => ...,
OnSelectColumns = (columns as {text}) => ...,
OnSelectRows = (condition as (row as record) as logical) as table => ...,
OnSkip = (count as Int64.Type) as table => ...,
OnSort = (order as {[Name = as text, Order as Order.Type]}) as table => ...,
OnTake = (count as Int64.Type) as table => ...,
OnUnpivot = (pivotColumns as {text}, attributeColumn as text, valueColumn as text) as table => ...,
OnNativeQuery = (query as text, optional parameters as any, optional options as any) as any => ...,
Some operations are not foldable, others still are expressed in terms of other operations like Table.NestedInnerJoin.
- Ben-Dev4 years ago
Helper II
Hi artemus,
Thank you for this list of handlers.Could you tell me which handler (or sequence of handlers) a Table.NestedJoin call followed by a Table.ExpandTableColumn maps to?
Thank you!- artemus4 years ago
Microsoft Employee
This maps to:
- Table RenameColumns (if join columns have the same name)
- Table.Join
- Table.SelectColumns (if join columns have the same name)
Note: A nested join using left outer will not result in any calls to the connector. It simply adds a virtual table column waiting to be expanded. Other join types will break folding, performing an expand column afterwards will unbreak folding.