Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
Hi all,
I was hoping to understand why using a variable which uses calculate table and has only 1 column can't be used within a TREATAS function? Its easy to overcome by using SELECTEDCOLUMN over a CALCULATETABLE but was just hoping to understand why this is required. See example code below:
Solved! Go to Solution.
When doing it without just CALCULATETABLE like this:
VAR RewnewedPolicies =
CALCULATETABLE(VALUES(Fact_VT[PN]), ...)
you will get a single-column table, but the column retains its original metadata and name (Fact_VT[PN]). TREATAS cannot reliably bind a source column with metadata tied to another table into a new context without ambiguity.
SELECTCOLUMNS flattens this ambiguity, you get a column with a defined name ("__PN")
So, effectively, SELECTCOLUMNS is your insurance policy that the shape of the table matches TREATAS' expectations.
Please mark this post as a solution if it helps you. Appreciate Kudos.
When doing it without just CALCULATETABLE like this:
VAR RewnewedPolicies =
CALCULATETABLE(VALUES(Fact_VT[PN]), ...)
you will get a single-column table, but the column retains its original metadata and name (Fact_VT[PN]). TREATAS cannot reliably bind a source column with metadata tied to another table into a new context without ambiguity.
SELECTCOLUMNS flattens this ambiguity, you get a column with a defined name ("__PN")
So, effectively, SELECTCOLUMNS is your insurance policy that the shape of the table matches TREATAS' expectations.
Please mark this post as a solution if it helps you. Appreciate Kudos.
Amazing explanation, much appriciated and good to understand.
Thanks,
Will