Forum Discussion
Pass a list as filter argument in Power Query
- 9 years ago
This would be the way:
= Table.SelectRows(factSales, each List.Contains(requiredProductNumbers, [Product]))
This would be the way:
= Table.SelectRows(factSales, each List.Contains(requiredProductNumbers, [Product]))
Not sure how this is the correct answer. Executing this results in:
Expression.Error: We cannot convert a value of type List to type Table.
Details:
Value=List
Type=Type
I tried doing the same thing and it produces as I have a list I am using to try and filter a table in the same way. Other examples mention trying to using a query parameter instead--seems like it is much more laborious than it should be.
- Anonymous8 years agoNot applicable
Having the same issue here, have been trying to figure this out all morning.
No luck! If someone could elaborate futher it would be appreciated greatly.
- dslForPBI8 years agoHelper I
Hello--sorry I missed this somehow--happy to oblige though!! Here is a code snippett below which should give you what you want:
////Use the parameter list to feed code values...//tblIncludeStates = Table.SelectRows(tblFromDownload, each List.ContainsAny({MyCodeList} ,{[Outstate_Code]})),..the "MyCodeList" is my list of codes..the "ContainsAny" is the m function/method that did the trick for me..you might also look at the type you used for the list and make sure it coincides with the type you are looking to iterate over.- LuisPaimBR4 years agoNew Member
Hi! Can I do that with query folding on Oracle DB?
- wsilva7 years agoNew Member
For those that have trouble with List.Contains, you might need Table.Contains instead.
Had the same requirement for a project using Power Query for Excel. The table containing the values to be passed to the filter was in a table on an Excel sheet, so end users could update the values as needed. I created a query to reference that table, "tblAgents" with a header value of "AgentID." To help understand the syntax, let's assume the table that I want to filter has a column of "AgentIdentifier."
Here's the code that works for me:
#"Filtered Rows" = Table.SelectRows(Source, each Table.Contains(tblAgents, [AgentID = [AgentIdentifier]]))
- Drew2487 years agoFrequent Visitor
i have tried this method and keep getting zero results, could you send a sample workbook containing this filtering method so i can take a look?