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

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

Reply
jimmyhua
Helper I
Helper I

Conditionally Select A Table give me error message

I created two tables one is for All divisions/ entire organization and one for divisions when one division is selected.  I have a variable called DivisionFilter using HASONEVALUE to detect if a division is selected.  if nothing is selected, I want to use the All division table to do a Top 10, otherwise I will use the division table to show divisional Top 10. 

When I use if statement below, I got a error message saying "The expression refers to multiple columns. Multiple columns cannot be converted to a scalar value".  

 

How do I fix it.  Thanks.

 

IF(
DivisionFilter,
FILTER(RankedDivision, [RankByBL] <= 10), // Top 10 within each division if filtered
TOPN(10, RankedAll, [Backlog], DESC) // Top 10 for the entire organization if not filtered
)

2 ACCEPTED SOLUTIONS
Irwan
Super User
Super User

hello @jimmyhua 

 

that happens because both FILTER() and TOPN() will give table (multiple value) as return value where your result needs to be a scalar (one value).

 

i believe FILTER() and TOPN() need another function to return as scalar.

here is a simple examples in form of measure.

Filter =
IF(
    ISFILTERED('Table'[Column2]),
    CALCULATE(
        MAX('Table'[Column1]),
        FILTER(
            'Table',
            'Table'[Index]>=1&&'Table'[Index]<=10
        )
    ),
    SELECTEDVALUE('Table'[Column1])
)

- unselect (return all value)

Irwan_0-1731201449689.png

- selected (return value with index 1 to 10)

Irwan_1-1731201474788.png

 

Hope this will help.
Thank you.

View solution in original post

Sahir_Maharaj
Super User
Super User

Hello @jimmyhua,

 

Can you please try this approach:

Top10Table = 
IF(
    HASONEVALUE(DivisionTable[Division]), 
    FILTER(RankedDivision, [RankByBL] <= 10), // Top 10 for selected division
    TOPN(10, RankedAll, [Backlog], DESC) // Top 10 for the entire organization
)

Did I answer your question? Mark my post as a solution, this will help others!

If my response(s) assisted you in any way, don't forget to drop me a "Kudos" 🙂

Kind Regards,
Sahir Maharaj
Data Scientist | Data Engineer | Data Analyst | AI Engineer
P.S. Want me to build your Power BI solution? (Yes, its FREE!)
➤ Lets connect on LinkedIn: Join my network of 15K+ professionals
➤ Join my free newsletter: Data Driven: From 0 to 100
➤ Website: https://sahirmaharaj.com
➤ Email: sahir@sahirmaharaj.com
➤ Want me to build your Power BI solution? Lets chat about how I can assist!
➤ Join my Medium community of 30K readers! Sharing my knowledge about data science and artificial intelligence
➤ Explore my latest project (350K+ views): Wordlit.net
➤ 100+ FREE Power BI Themes: Download Now
LinkedIn Top Voice in Artificial Intelligence, Data Science and Machine Learning

View solution in original post

6 REPLIES 6
Sahir_Maharaj
Super User
Super User

Hello @jimmyhua,

 

Can you please try this approach:

Top10Table = 
IF(
    HASONEVALUE(DivisionTable[Division]), 
    FILTER(RankedDivision, [RankByBL] <= 10), // Top 10 for selected division
    TOPN(10, RankedAll, [Backlog], DESC) // Top 10 for the entire organization
)

Did I answer your question? Mark my post as a solution, this will help others!

If my response(s) assisted you in any way, don't forget to drop me a "Kudos" 🙂

Kind Regards,
Sahir Maharaj
Data Scientist | Data Engineer | Data Analyst | AI Engineer
P.S. Want me to build your Power BI solution? (Yes, its FREE!)
➤ Lets connect on LinkedIn: Join my network of 15K+ professionals
➤ Join my free newsletter: Data Driven: From 0 to 100
➤ Website: https://sahirmaharaj.com
➤ Email: sahir@sahirmaharaj.com
➤ Want me to build your Power BI solution? Lets chat about how I can assist!
➤ Join my Medium community of 30K readers! Sharing my knowledge about data science and artificial intelligence
➤ Explore my latest project (350K+ views): Wordlit.net
➤ 100+ FREE Power BI Themes: Download Now
LinkedIn Top Voice in Artificial Intelligence, Data Science and Machine Learning
Anonymous
Not applicable

Hi @jimmyhua 

 

Do the methods solve your problem? If so, could you please mark helpful answers as solutions? This will help more users who are facing the same or similar difficulties. Thank you!

 

If there are still problems, please feel free to let me know.

 

Best Regards,
Yulia Xu

Jihwan_Kim
Super User
Super User

Hi,

I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.

Jihwan_Kim_1-1731216885100.png

 

 

Jihwan_Kim_0-1731216860373.png

 

 

expected result measure: =
VAR _t =
    ADDCOLUMNS (
        SUMMARIZE (
            ALLSELECTED ( billing_fact ),
            division_dimension[division],
            billing_fact[billing]
        ),
        "@amount", CALCULATE ( SUM ( billing_fact[amount] ) )
    )
RETURN
    CALCULATE (
        SUM ( billing_fact[amount] ),
        KEEPFILTERS ( TOPN ( 10, _t, [@amount], DESC ) )
    )

 


If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Click here to visit my LinkedIn page

Click here to schedule a short Teams meeting to discuss your question.

Thank you very mcuh.  it works for me.

Irwan
Super User
Super User

hello @jimmyhua 

 

that happens because both FILTER() and TOPN() will give table (multiple value) as return value where your result needs to be a scalar (one value).

 

i believe FILTER() and TOPN() need another function to return as scalar.

here is a simple examples in form of measure.

Filter =
IF(
    ISFILTERED('Table'[Column2]),
    CALCULATE(
        MAX('Table'[Column1]),
        FILTER(
            'Table',
            'Table'[Index]>=1&&'Table'[Index]<=10
        )
    ),
    SELECTEDVALUE('Table'[Column1])
)

- unselect (return all value)

Irwan_0-1731201449689.png

- selected (return value with index 1 to 10)

Irwan_1-1731201474788.png

 

Hope this will help.
Thank you.

Thank you.  This one works.

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.