Tracking issue for two review findings on PR #1849 ("[Power BI] Address ARG payload size errors") that were judged valid but out of scope for that PR's minimal-diff fix. Both apply to ftk_QueryARG in src/power-bi/kql/Shared.Dataset/definition/expressions.tmdl and the mirrored src/power-bi/storage/Shared.Dataset/definition/expressions.tmdl copy.
1. Hoist the subscription-list query into one shared, cached expression
Currently every batched table calls ftk_QueryARG, which re-runs the resourcecontainers subscription-list query once per table. For a 1,000-subscription tenant across the twelve adopting tables, that's roughly 12 extra ARG calls that could be eliminated by querying the subscription list once (e.g., via a shared/cached expression or the existing Subscriptions table) and passing the result into ftk_QueryARG instead of re-deriving it per call.
Reference: #1849 (comment) (comment id 3688707701)
2. Normalize combined batch results against each table's authoritative column list
ftk_QueryARG's Table.Combine(Filtered) assumes every batch returns the same column shape. Azure Resource Graph infers columns from the data actually returned, so a batch missing an mv-expanded or dynamic-typed column can come back with a different column set/type than another batch, and Table.Combine unions rather than erroring (nulls fill the gaps). Each calling table's NullHandling block already declares an authoritative column list for the empty-table case; normalizing the combined table against that same list on the success path (e.g., via Table.SelectColumns with MissingField.UseNull plus explicit reordering) would make the shape deterministic regardless of batch order/content.
This needs to be verified against live Azure Resource Graph data in Power BI Desktop before merging, since the type/column drift only manifests with real tenant data variance across batches, and 24 files (12 tables x kql/storage) would need updating.
Reference: #1849 (comment) (comment id 3688707720)
Why deferred
Both are legitimate improvements but would require either changing the ftk_QueryARG shared function signature (used by 12+ tables across 2 datasets) or touching column-list logic in 24 files, and validating either change needs real Power BI Desktop + live Azure Resource Graph access that wasn't available while addressing PR #1849's other review findings. Fixing them together, with real validation, is better done as a dedicated follow-up.
Tracking issue for two review findings on PR #1849 ("[Power BI] Address ARG payload size errors") that were judged valid but out of scope for that PR's minimal-diff fix. Both apply to
ftk_QueryARGinsrc/power-bi/kql/Shared.Dataset/definition/expressions.tmdland the mirroredsrc/power-bi/storage/Shared.Dataset/definition/expressions.tmdlcopy.1. Hoist the subscription-list query into one shared, cached expression
Currently every batched table calls
ftk_QueryARG, which re-runs theresourcecontainerssubscription-list query once per table. For a 1,000-subscription tenant across the twelve adopting tables, that's roughly 12 extra ARG calls that could be eliminated by querying the subscription list once (e.g., via a shared/cached expression or the existingSubscriptionstable) and passing the result intoftk_QueryARGinstead of re-deriving it per call.Reference: #1849 (comment) (comment id 3688707701)
2. Normalize combined batch results against each table's authoritative column list
ftk_QueryARG'sTable.Combine(Filtered)assumes every batch returns the same column shape. Azure Resource Graph infers columns from the data actually returned, so a batch missing anmv-expanded or dynamic-typed column can come back with a different column set/type than another batch, andTable.Combineunions rather than erroring (nulls fill the gaps). Each calling table'sNullHandlingblock already declares an authoritative column list for the empty-table case; normalizing the combined table against that same list on the success path (e.g., viaTable.SelectColumnswithMissingField.UseNullplus explicit reordering) would make the shape deterministic regardless of batch order/content.This needs to be verified against live Azure Resource Graph data in Power BI Desktop before merging, since the type/column drift only manifests with real tenant data variance across batches, and 24 files (12 tables x kql/storage) would need updating.
Reference: #1849 (comment) (comment id 3688707720)
Why deferred
Both are legitimate improvements but would require either changing the
ftk_QueryARGshared function signature (used by 12+ tables across 2 datasets) or touching column-list logic in 24 files, and validating either change needs real Power BI Desktop + live Azure Resource Graph access that wasn't available while addressing PR #1849's other review findings. Fixing them together, with real validation, is better done as a dedicated follow-up.