Forum Discussion
Power BI – Card “Opening” Count Works but Table Rows Do Not Show (Backlog Logic)
- 7 months ago
Excellent question, this is a classic DAX context mismatch problem, and your instincts are actually correct. The issue is not your business logic; it’s how row context vs filter context behaves when you try to reuse a backlog-style measure at row level.
Let’s break it cleanly and then I’ll give you the correct, reliable pattern.
Why the Card Works but the Table Shows No Rows?
The core reason (this is the key)Your Opening Count measure works because:
- It is evaluated once in a pure filter context
- ALL ( Created Date ) removes the slicer
- MIN ( Created Date ) comes from the slicer context
- CALCULATE builds a virtual filtered set of rows
Perfect for aggregation (card)
But the table filter fails because:
SELECTEDVALUE() is the wrong tool here
In a table:
- Each row already has a row context
- But SELECTEDVALUE does NOT read row context
- It only works when exactly one value exists in filter context
Result:
- RowCreatedDate = BLANK
- RowAgreementDate = BLANK
- Your IF condition → always FALSE
- T able returns zero rows
👉 This is expected DAX behavior, not a bug.
Important Rule to Remember:
Row-level filtering must reproduce the same filter logic as the measure — not reinterpret it row by row using SELECTEDVALUE.
Solution:
>> Step1: Create a Boolean-style filter measure (NO SELECTEDVALUE)
---DAX---
Is Opening =
VAR UserStartDate =
CALCULATE (
MIN ( 'Consolidated Grants'[Created Date] ),
ALLSELECTED ( 'Consolidated Grants' )
)VAR SelectedYear =
YEAR ( UserStartDate )VAR ForcedEndDate =
DATE ( SelectedYear, 12, 31 )RETURN
IF (
CALCULATE (
COUNTROWS ( 'Consolidated Grants' ),
ALL ( 'Consolidated Grants'[Created Date] ),
'Consolidated Grants'[Created Date] < UserStartDate,
'Consolidated Grants'[Agreement Signed Date.] >= UserStartDate,
'Consolidated Grants'[Agreement Signed Date.] <= ForcedEndDate
) > 0,
1,
0
)---DAX---
Why this works
The row is filtered naturally
No need to read row values manually
DAX engine evaluates the row inside the same logic as the card
>> Step 2: Use it as a Visual-level filter
---DAX---
Is Opening = 1
---DAX---
Now:
Card count
Table rows
Cross-filtering
Slicers
=================================================================
Did I answer your question? Mark my post as a solution! This will help others on the forum!Appreciate your Kudos!!
Jaywant Thorat | MCT | Data Analytics Coach
Linkedin: https://www.linkedin.com/in/jaywantthorat/
Join #MissionPowerBIBharat = https://shorturl.at/5ViW9
#MissionPowerBIBharat
LIVE with Jaywant Thorat from 10 Jan 2026
8 Days | 8 Sessions | 1 hr daily | 100% Free
Hi Taher28,
Thank you for reaching out to Microsoft Fabric Community.
Thank you FBergamaschi, FreemanZ, Olufemi7 and Jaywant-Thorat for the prompt response.
As we haven’t heard back from you, we wanted to kindly follow up to check if the solution provided by the user's for the issue worked? or let us know if you need any further assistance.
Thanks and regards,
Anjan Kumar Chippa