Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now
Hi,
I have a table of completed orders and I want to calculate orders to date (OTD) for each visitor.
I have written this formula:
OTD =
VAR VID = 'powerbi CompletedOrders'[VisitorId]
VAR OID = 'powerbi CompletedOrders'[OrderId]
RETURN
CALCULATE (
COUNT('powerbi CompletedOrders'[OrderId]),
FILTER (
'powerbi CompletedOrders',
'powerbi CompletedOrders'[VisitorId]=VID),
FILTER (
'powerbi CompletedOrders',
'powerbi CompletedOrders'[OrderId]<OID))
I get this error: "The operation has been cancelled because there is not enough memory available for the application."
I understand that my table is too big (200k+ rows) for double Filter. I was looking how to write something similar to LOOP function in DAX but with no success.
I would love to hear your suggestions for a workaround.
Thanks!
Instead of nesting FILTER calls, Putting a direct filters on CALCULATE can significantly improve the performance of your measure.
Thanks & Regards,
Bhavesh
Thank you for your answer BhaveshPatel. But could I am not sure I understand how to do it.
Could you edit my function to illustrate your suggestion?
Can you please share the screenshots of your data model and sample data if possible. This will help me to provide you an exact solution.
This is sample data. Only one table is used for this particular calculation.
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
| User | Count |
|---|---|
| 101 | |
| 76 | |
| 56 | |
| 51 | |
| 46 |