The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
Hi all,
My data model is composed , amongst other tables, by an Orders table (facOrder) and a dimensional customer table (dimCustomer).
These 2 tables are linked by customerID key.
I wrote a DAX metric to retreive the cumulative total of customers that had, at least one order registered in the facOrder table, like this:
CumUsers =
// metric to calculate the cumulative number of customers since theyr first order
VAR CustomerOrders =
SUMMARIZE(
facOrders,
facOrders[CustomerID],
"FirstOrderDate",
MIN(facOrders[CreationDate])
)
VAR SelDate = MAX( dimDates[DateID] )
VAR CountCustomers = COUNTROWS( FILTER( CustomerOrders, [FirstOrderDate] <= SelDate ) )
RETURN
IF( CountCustomers = BLANK(), 0 , CountCustomers )
What's happening, is that this metric is not retreiving an acumulated total, but is, instead, calculating the total for a given selected (by the filter context) month. And, btw, I'm trying to plot a chart that renders monthly figures.
Before you ask for data: i'm working with sensitive data, so if you want something to test, please use AdventureWorks database .
Thanks in advance 🙂
Solved! Go to Solution.
@SergioTorrinha , Not very clear.
Try like
calculate(counrows(facOrders), filter(allselcted(facOrders) , facOrders[CreationDate] <=Max(facOrders[CreationDate])))
or
calculate(counrows(facOrders), filter(allselcted(facOrders) , facOrders[CreationDate] <=Max(facOrders[CreationDate]) && facOrders[CustomerID] <=Max(facOrders[CustomerID])))
@SergioTorrinha , Not very clear.
Try like
calculate(counrows(facOrders), filter(allselcted(facOrders) , facOrders[CreationDate] <=Max(facOrders[CreationDate])))
or
calculate(counrows(facOrders), filter(allselcted(facOrders) , facOrders[CreationDate] <=Max(facOrders[CreationDate]) && facOrders[CustomerID] <=Max(facOrders[CustomerID])))
Hi @amitchandak !
Thank you for your feedback.
I managed to make it work properly, with the following adaptation of your first DAX:
a_test =
CALCULATE(
DISTINCTCOUNT(facOrders[CustomerID]),
FILTER( ALLSELECTED(facOrders) , facOrders[CreationDate] <= Max(dimDates[DateID])) //Max(facOrders[CreationDate]))
)
Thank you for your help! 🙂
User | Count |
---|---|
17 | |
8 | |
7 | |
6 | |
6 |
User | Count |
---|---|
26 | |
13 | |
12 | |
9 | |
8 |