Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Problem Statement
I am trying to get a ROLLING 12 month count of new customers in a line graph, but currently sometime it appears, and sometimes it fails with the below error or it takes a long time to appear.
Figure 1 – Memory Error
The page has a Financial Year and Financial Month Selected by the user. There are 4 measures that are used to do the following:
Measure1_Revenue – Current Selected Monthly Revenue figure for calculation.
Measure2_Revenue_Prev_23 – Getting the Monthly Revenue Total for the prior 23 months.
Measure3_New Cust by Month – Get a count of customers where they have revenue for the current month selected and no revenue for the previous 23 months. They are a new customer.
Customer_Count_Ignore_Date_filters – The measure that is used in the graph to override the DATE filters on the top of the page and display the customer count for each month in the last 12 months.
The ask for this please is there a way to rewrite the Customer_Count_Ignore_Date_filters so this works please ?
Customer_Count_Ignore_Date_filters =
var selectedDate = MAX('Time'[Date])
var PreviousDates = DATESINPERIOD('Previous Date'[Date], selectedDate, -13, MONTH)
var result = CALCULATE(
[Measure3_New Cust by Month]
,REMOVEFILTERS('Time'),
KEEPFILTERS(PreviousDates),
USERELATIONSHIP('Time'[Date],'Previous Date'[Date]) )
RETURN
result
PBIX attached . Power BI
No wonder this is slow/expensive. You have measures inside measures inside measures inside measures etc. Flatten this out. Use DAX Studio to examine the query plan and to refactor your code.
(BTW it renders on a PC with 32 GB of RAM)
User | Count |
---|---|
47 | |
28 | |
23 | |
18 | |
15 |
User | Count |
---|---|
55 | |
34 | |
18 | |
17 | |
15 |