Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Clint
Helper V
Helper V

Question about error in Measure: Expression refers to multiple columns

Hello,

 

Not sure why this measure returns the error "The expression refers to multiple columns.  multiple colulmns cannot be converted to a scalar value. 

 

Task Percent Completed for Customer Program =
CALCULATE(
    FILTER('Tasks','Tasks'[Task Percent Completed]),
    'Tasks'[Task Name] IN { "Customer Program" }
)
2 ACCEPTED SOLUTIONS
v-frfei-msft
Community Support
Community Support

Hi @Clint ,

 

As we know, we cannot create dynamic calculated table/ column. Here we can use table visual and a measure to work around.

Measure = var a = MAX('Table'[Task Name])
return
IF(a  in  { "Customer Program" },"yes",BLANK())

Capture.PNG

 

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

View solution in original post

Thank you.  What ended up work is:

M_Program Progress =

DIVIDE(
Value(
MAXX(
CALCULATETABLE('Tasks',
'Tasks'[Task Name]="Customer Program"),
'Tasks'[Task Percent Completed])),100)

View solution in original post

7 REPLIES 7
v-frfei-msft
Community Support
Community Support

Hi @Clint ,

 

As we know, we cannot create dynamic calculated table/ column. Here we can use table visual and a measure to work around.

Measure = var a = MAX('Table'[Task Name])
return
IF(a  in  { "Customer Program" },"yes",BLANK())

Capture.PNG

 

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

Thank you.  What ended up work is:

M_Program Progress =

DIVIDE(
Value(
MAXX(
CALCULATETABLE('Tasks',
'Tasks'[Task Name]="Customer Program"),
'Tasks'[Task Percent Completed])),100)
v-frfei-msft
Community Support
Community Support

Hi @Clint ,

 

Please update your formula as below.

Task Percent Completed for Customer Program =
CALCULATE (
    COUNTROWS ( 'Tasks' ),
    FILTER ( 'Tasks', 'Tasks'[Task Name] IN { "Customer Program" } )
)
Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

Hello,

 

This 

CALCULATE (
    COUNTROWS ( 'Tasks' ),
    FILTER ( 'Tasks', 'Tasks'[Task Name] IN { "Customer Program" } )
)

just returns the count of 1 telling me there is only one task with that name.  What I need to return is the value of the "Task percent Complete" for that task 

Anonymous
Not applicable

Please check the Filter function. What is the second parameter doing in Filter function? It is not Filtering anything, it is supposed to filter the Task table.
lc_finance
Solution Sage
Solution Sage

Hi @Clint ,

 

the reason is that the FILTER formula returns a table as a result, while the CALCULATE formula should be used with a single number (single numbers are called 'scalar values' in Power BI).

 

What exactly do you want to obtain with the formula?

 

Regards,

 

LC

www.finance-bi.com

Shouldn't the filters there return a one cell table?  I was hoping to return the value for percent complete for that one task in that one project

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.