Forum Discussion

mdgene's avatar
mdgene
Helper I
4 years ago
Solved

Using Column name as a variable

Hi Please I am trying to pass column name as a variable to create a table.

 

This query is fine (Ii am using the column name explicitly)

TestTable =
var b =
CALCULATETABLE(
SELECTCOLUMNS('Hours Table',
"test",'Hours Table'[Hours]),
FILTER('Hours Table','Hours Table'[Team] = "a")
)
return
b
 
This query returns no row and no error
TestTable2 =
var t = "'Hours Table'[Team]"
var b =
CALCULATETABLE(
SELECTCOLUMNS('Hours Table',
"test",'Hours Table'[Hours]),
FILTER('Hours Table',t = "b")
)
return
b
 
Please any idea why the variable is not recognised in the filter context
  • Hi, mdgene 

    Because in the following formula, the variable T is not recognized as a column in the table, but as a text. You cannot label a column in the variable way above.
    Therefore, in the filter function, the filtering condition is that text 1 is equal to text 2, not that the column value is equal to "b", so the result of the filter function is empty, and the returned table is empty.

     

     

    Best Regards,
    Community Support Team _ Zeon Zheng


    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

3 Replies

    • v-angzheng-msft's avatar
      v-angzheng-msft
      Community Support

      Hi, mdgene 

      Is the above post helpful to you?

      If  it does, could you please mark the post which help as Answered? It will help the others in the community find the solution easily if they face the same problem with you. Thank you.😀


      Best Regards,
      Community Support Team _ Zeon Zheng


      If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

  • Hi, mdgene 

    Because in the following formula, the variable T is not recognized as a column in the table, but as a text. You cannot label a column in the variable way above.
    Therefore, in the filter function, the filtering condition is that text 1 is equal to text 2, not that the column value is equal to "b", so the result of the filter function is empty, and the returned table is empty.

     

     

    Best Regards,
    Community Support Team _ Zeon Zheng


    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.