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

Level up your Power BI skills this month - build one visual each week and tell better stories with data! Get started

Reply
Anonymous
Not applicable

List In Parameter and ignore when null

I am using Power Query to pull data from SQL.  I have mutliple lists that are being created with the Text.Combine function I found here:  https://community.powerbi.com/t5/Desktop/Using-list-in-parameter-in-M-language/m-p/454178.  This works great but in my situation, i want to be able to ignore the related WHERE  IN if the parameter list is null.  I convert the Text.Combine to look like this in insure a null value parameter.

 

SKUList = if Text.Length(Text.Combine(#"tMultiSKU"[SKU List]))=0 then null else Text.Combine( List.Transform(#"tMultiSKU"[SKU List], each "'"&_&"'"), ",")

 

This appears to be assigning the variable properly for both null and the list filled in.  I tried to write a CASE WHEN within the WHERE clause to not search for this parameter if null.  Now that I added the CASE WHEN to the p.partnumber in(), I am getting an error that states An expression of non-boolean type specified in a context where a condition is expected, near ','.  

 

WHERE
p.itemstatusname in('"& ItemStatus & "')
AND CASE WHEN "&SKUList&" IS NOT NULL THEN p.partnumber in("&SKUList&") END

 

Is there a way around the error or a better way to ignore a null parameter?

3 REPLIES 3
lbendlin
Super User
Super User

This part

 

WHERE
p.itemstatusname in('"& ItemStatus & "')
AND CASE WHEN "&SKUList&" IS NOT NULL THEN p.partnumber in("&SKUList&") END

 

has an incomplete CASE statement (the ELSE part is not optional) and is missing the condition. Your case statement needs to either resolve to True/False, or you need to compare it to _something_

Anonymous
Not applicable

Thanks @lbendlin!  I am very new to this and did not know that the ELSE is required.  Does this comparsion CASE WHEN "&SKUList&" IS NOT NULL resolve the True/False?  Is there a way to do nothing with the ELSE portion of the CASE?  All I want to is a WHERE p.partnumber in (SKUList) when the SKUList variable contains multiple records like '123','456','789' and do nothing when SKUList is null.  p.partnumber in (SKUList) (without the CASE WHEN) works just fine when the variable contains values.  If the variable is left blank, I get 0 results but I want to see all results.

 

Any Thoughts?  Thanks again!

 add a dummy entry to your SKUList to make sure it is never null.

Helpful resources

Announcements
April Power BI Update Carousel

Power BI Monthly Update - April 2026

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

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Top Kudoed Authors