Hi,
I have some DAX measures that are used in a table, they are running out of memory. Is there a better way to do this? I want to display this data in a table. What I want to do is measure the number of days between the latest date in the slicer to the invoice date. I have this measure to do this:
DaysSinceInvoice =
VAR MaxDate =
CALCULATE(
MAX('Data DateDimension'[TheDate]),
ALLSELECTED('Data DateDimension'[Date]))
VAR Result = DATEDIFF(Min([InvoiceDate]), MaxDate, DAY)
RETURN CONVERT(Result, INTEGER)
Then I have three measures that uses the above measure.
0To30Days =
VAR Result = IF(Min('Data InvoiceFact'[Owing]) > 0 && [DaysSinceInvoice] >= 0 && [DaysSinceInvoice] <= 30, Min('Data InvoiceFact'[Owing], 0)
Return Result
30To60Days =
VAR Result = IF(Min('Data InvoiceFact'[Owing]) > 0 && [DaysSinceInvoice] >= 30 && [DaysSinceInvoice] <= 60, Min('Data InvoiceFact'[Owing], 0)
Return Result
60To90Days =
VAR Result = IF(Min('Data InvoiceFact'[Owing]) > 0 && [DaysSinceInvoice] >= 60 && [DaysSinceInvoice] <= 90, Min('Data InvoiceFact'[Owing], 0)
Return Result
This is displayed in a table. Is there a more efficient way to do this? I am using a measure because I want to base the calculation on the date slicer selection.
You can try storing the data in variables so that the calculations only have to be done once, e.g.
0To30Days =
VAR DaysSinceInvoice = [DaysSinceInvoice]
VAR DaysOwing =
MIN ( 'Data InvoiceFact'[Owing] )
VAR Result =
IF (
DaysOwing > 0
&& DaysSinceInvoice >= 0
&& DaysSinceInvoice <= 30,
DaysOwing,
0
)
RETURN
Result
Power BI release plans for 2023 release wave 1 describes all new features releasing from April 2023 through September 2023.
Make sure you register today for the Power BI Summit 2023. Don't miss all of the great sessions and speakers!
Join the biggest FREE Business Applications Event in LATAM this February.
User | Count |
---|---|
96 | |
79 | |
41 | |
32 | |
29 |
User | Count |
---|---|
131 | |
95 | |
85 | |
45 | |
40 |