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,
I'm trying to create a new table that shows the cost of the most recent purchase of 'Product 1', per customer. I've tried a formula using summarize with filter and max date but just not quite getting there. Below is some sample data and the desired result.
Thanks for looking...
Solved! Go to Solution.
New Table =
ADDCOLUMNS (
TREATAS (
GROUPBY (
FILTER ( Data, Data[product] = 1 ),
Customers[customer],
Products[product],
"@datemax", MAXX ( CURRENTGROUP (), Data[date] )
),
Data[customer],
Data[product],
Data[date]
),
"@cost", CALCULATE ( SUM ( Data[cost] ) )
)
New Table =
ADDCOLUMNS (
TREATAS (
GROUPBY (
FILTER ( Data, Data[product] = 1 ),
Customers[customer],
Products[product],
"@datemax", MAXX ( CURRENTGROUP (), Data[date] )
),
Data[customer],
Data[product],
Data[date]
),
"@cost", CALCULATE ( SUM ( Data[cost] ) )
)
Many thanks, worked perfectly!
Another way of calculation:
[Your table] = // calulated table
CALCULATETABLE(
var Filter_ =
ADDCOLUMNS(
DISTINCT( T[Customer] ),
"Date", CALCULATE( MAX( T[Date] ) )
)
var Result =
CALCULATETABLE(
T,
TREATAS(
Filter_,
T[Customer],
T[Date]
)
)
return
Result,
T[Product] = "product 1"
)
Thanks Daxer for taking the time to help, works perfectly.
[Your table] = // calulated table
CALCULATETABLE(
GENERATE(
SUMMARIZE(
T,
T[Customer],
T[Product],
),
SELECTCOLUMNS(
CALCULATETABLE(
TOPN(1,
T,
T[Date],
DESC
)
),
"Date", T[Date],
"Cost", T[Cost]
)
),
T[Product] = "product 1"
)
User | Count |
---|---|
25 | |
10 | |
8 | |
7 | |
6 |
User | Count |
---|---|
32 | |
12 | |
10 | |
10 | |
9 |