Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hello everyone,
I have a table which should only show data from a Direct Query SQL table when a slicer with the column "UserId" contains one selection.
After researching, there was no solution to be found. However, I realized something: I could change the SQL statement which was currently: "SELECT UserId, Name, Age FROM Datatable" to something like (note: It's psuedoCode): "IF( DISTINCTCOUNT(UserId) is 1) THEN SELECT UserId, Name, Age FROM Datatable ELSE SELECT nothing". Normally, this would cause nothing to be shown in the visual. However, this is Direct Query and not Import. Because PowerBI queries efficiently and considers slicer selection and filter in their SQL queries, BI would (hopefully) include something like "WHERE UserId = '0004'" (If the value "0004" is selected).
Can anyone tell me:
- if this could work
- how the pseudo-code has to be formullated in SQL
Thanks in advance!
Hi @Anonymous ,
We can create a measure as below and make the visual filtered by it like that to work around.
Me = var als =CALCULATE(DISTINCTCOUNT('Product'[Category]),ALLSELECTED('Product'))
var al = CALCULATE(DISTINCTCOUNT('Product'[Category]),ALL('Product'))
return
IF(al=als,BLANK(),1)
Hello @v-frfei-msft ,
I have to avoid using measures because with them, my visuals won't load fast anymore. Also, while this causes the visual not to show anything, data will still be loaded in the background, which makes other queries to the database slow.
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
User | Count |
---|---|
70 | |
68 | |
43 | |
34 | |
26 |
User | Count |
---|---|
88 | |
52 | |
45 | |
39 | |
38 |