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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
JEFriedrichs
Regular Visitor

FILTER function with a List as filter condition

Hello everyone!

 

I have a customer who does a lot of different filterings, i.e. for Article groups and subgroups, location groups and subgroups, including changing overlap and changing groups. To have one measure to sum them up, I thought I would work with a variable list in the filters, like this:

msrQuantity =

VAR
    ItemList = "12345, 54321"

RETURN
    CALCULATE(
        SUM(InventoryData[QTY]),
        FILTER(
        InventoryData,
        InventoryData[ItemNumber] IN {ItemList}
        )
    )

 

Ultimately, the ItemList would be a CONCATENATEX-Function, and there will be additional conditions added.

 

The function only returns data if the list is a single value (i.e. were it only "12345", I get the right item. I also tried putting them further into brackets like "{12345}, {54321}", but that doesn't change the table, either.

 

Is this possible, or are there better ways to achieve this?

1 ACCEPTED SOLUTION

@JEFriedrichs 

Simply

 

VAR ItemList = VALUES(dimProduct[ItemNumber)

 

View solution in original post

6 REPLIES 6
JEFriedrichs
Regular Visitor

Just a second after I post this question I see I formatted the list wrong, each value needs to be in quotation marks, and not the whole string, like {"12345", "54321"}. The filter condition works that way, too. But then the question is how can I build such a list string i.e. using CONCATENATEX?

tamerj1
Super User
Super User

Hi @JEFriedrichs 
lease use

msrQuantity =
VAR ItemList = { "12345", "54321" }
RETURN
    CALCULATE (
        SUM ( InventoryData[QTY] ),
        FILTER ( InventoryData, InventoryData[ItemNumber] IN ItemList )
    )

Thank you! I'm feeling really stupid right now, I saw that a minute after I made this post. Do you have any idea how I would automatically generate such a ItemList-String variably, though? I.e. using a CONCATENATEX?

@JEFriedrichs 
Generate it out of what? What is the input? Also CNCATENATEX won't help you, you need a table not a scallar concatenated string value

Thank you so much for your help. Keeping it simple, it would be a dimProduct table that is filtered many different ways in i.a. a table visual with filter visuals next to it, so my initial thought would be replacing the List string with

 

VAR ItemList = CONCATENATEX(dimProduct, dimProduct[ItemNumber], ",")

 

But as you say, I don't get the right thing out of this. CONCATENATEX isn't the right function. How do I get there, though?

@JEFriedrichs 

Simply

 

VAR ItemList = VALUES(dimProduct[ItemNumber)

 

Helpful resources

Announcements
Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors