This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreJoin the FabCon + SQLCon recap series. Up next: Power BI, Real-Time Intelligence, IQ and AI, and Data Factory take center stage. All sessions are available on-demand after the live show. Register now
In my SELECT statement, I am having trouble implementing the WHERE clause since it is using the LOWER command. I'm also struggling to get the ('(Invalid)', ('Not Specified')') parts of the statement.
SELECT DISTINCT
T_TESTCASE.ORIGIN_ID AS "Test Case ID",
T_TESTCASE.NAME AS "Test Case Name",
T_TESTCASE.TESTCASEFOLDER_NAME1 AS "Test Case Top folder name",
T_TESTCASE.FULLPATH AS "Test Case Fullpath",
T_TESTEXECSTATUS.NAME AS "Test Execution Status",
T_USER.FULLNAME AS "Test Case Designer",
T_HASREQUIREMENT.NAME AS "Has Requirement",
T_PROJECT.DOMAIN_NAME AS "Domain Name",
T_PROJECT.NAME AS "Project Name"
FROM T_TESTCASE
INNER JOIN T_TESTEXECSTATUS ON T_TESTCASE.T_TESTEXECSTATUS_ID = T_TESTEXECSTATUS.T_TESTEXECSTATUS_ID
INNER JOIN T_USER ON T_TESTCASE.T_DESIGNER_ID = T_USER.T_USER_ID
INNER JOIN T_HASREQUIREMENT ON T_tESTCASE.T_HASREQUIREMENT_ID = T_HASREQUIREMENT.T_HASREQUIREMENT_ID
INNER JOIN T_PROJECT ON T_TESTCASE.T_PROJECT_ID = T_PROJECT.T_PROJECT_ID
WHERE
NOT (T_TESTCASE.TESTCASEFOLDER_NAME1 IN ('(Invalid)', '(Not Specified)')
OR LOWER(T_TESTCASE.TESTCASEFOLDER_NAME1) LIKE '%archive%'
OR LOWER(T_TESTCASE.TESTCASEFOLDER_NAME1) LIKE '%recycle%bin%'
OR LOWER(T_TESTCASE.TESTCASEFOLDER_NAME1) LIKE '%temp%'
OR LOWER(T_TESTCASE.TESTCASEFOLDER_NAME1) LIKE '%delete%')
AND T_TESTCASE.DELETED_DATETIME IS NULL
AND T_PROJECT.DELETED_DATETIME IS NULL
AND T_PROJECT.DOMAIN_NAME NOT IN ('(Invalid)', '(Not Specified)')
Any advice would be amazing. Thanks.
Solved! Go to Solution.
@Jsonify , Tables should be joined
you need to have two filter clauses
filter(T_TESTCASE,
NOT (T_TESTCASE[TESTCASEFOLDER_NAME1] IN ('(Invalid)', '(Not Specified)')
|| SEARCH("archive",T_TESTCASE.TESTCASEFOLDER_NAME1,1,0) >0
|| SEARCH("recycle%bin",T_TESTCASE.TESTCASEFOLDER_NAME1,1,0) >0
|| SEARCH("temp"T_TESTCASE.TESTCASEFOLDER_NAME1,1,0) >0
https://www.sqlbi.com/articles/the-importance-of-star-schemas-in-power-bi/
https://www.sqlshack.com/implementing-star-schemas-in-power-bi-desktop/
|| SEARCH("delete"T_TESTCASE.TESTCASEFOLDER_NAME1,1,0) >0
&& isblank(T_TESTCASE[DELETED_DATETIME]))
, filter(T_PROJECT, isblank(T_PROJECT[DELETED_DATETIME]) && NOT(T_PROJECT.DOMAIN_NAME IN {"(Invalid)", "(Not Specified)"}))
@Jsonify , Tables should be joined
you need to have two filter clauses
filter(T_TESTCASE,
NOT (T_TESTCASE[TESTCASEFOLDER_NAME1] IN ('(Invalid)', '(Not Specified)')
|| SEARCH("archive",T_TESTCASE.TESTCASEFOLDER_NAME1,1,0) >0
|| SEARCH("recycle%bin",T_TESTCASE.TESTCASEFOLDER_NAME1,1,0) >0
|| SEARCH("temp"T_TESTCASE.TESTCASEFOLDER_NAME1,1,0) >0
https://www.sqlbi.com/articles/the-importance-of-star-schemas-in-power-bi/
https://www.sqlshack.com/implementing-star-schemas-in-power-bi-desktop/
|| SEARCH("delete"T_TESTCASE.TESTCASEFOLDER_NAME1,1,0) >0
&& isblank(T_TESTCASE[DELETED_DATETIME]))
, filter(T_PROJECT, isblank(T_PROJECT[DELETED_DATETIME]) && NOT(T_PROJECT.DOMAIN_NAME IN {"(Invalid)", "(Not Specified)"}))
"Lower" is the least of your problems. Power Query does not have the concept of wildcards.
Lower: https://docs.microsoft.com/en-us/powerquery-m/text-lower
search: https://docs.microsoft.com/en-us/powerquery-m/text-contains
NOT IN statement: use lists: {"(Invalid)", "(Not Specified)"}
Fun fact - you can't use the lists for the search. Need to use or and and.
Check out the April 2026 Power BI update to learn about new features.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
| User | Count |
|---|---|
| 38 | |
| 38 | |
| 31 | |
| 22 | |
| 15 |
| User | Count |
|---|---|
| 74 | |
| 61 | |
| 31 | |
| 31 | |
| 23 |