Forum Discussion
Summarise table with condition
- 7 years ago
If you follow the Star Schema approach which LivioLanzo showed, then you can also use the below Calculated column HighestUrgencyID in Data table, and create a relationship between Urgency[UrgencyID] & Data[HighestUrgencyID]. This way your measure will be just SUM(Data[Amount]).
HighestUrgencyID = VAR TransactionYear = RELATED ( 'Calendar'[Year] ) VAR CurrentCustomer = 'Data'[Customer] RETURN CALCULATE ( MAX ( 'Data'[UrgencyID] ), FILTER ( 'Data', 'Data'[Customer] = CurrentCustomer && RELATED ( 'Calendar'[Year] ) = TransactionYear ) )
Hi JarnoVisser,
Add calculated columns:
Rank =
IF ( Table2[Urgency] = "High", 1, IF ( Table2[Urgency] = "medium", 2, 3 ) )
Sum amount =
IF (
Table2[Rank]
= CALCULATE (
MIN ( Table2[Rank] ),
ALLEXCEPT ( Table2, Table2[Transaction date].[Year] )
),
CALCULATE (
SUM ( Table2[Amount] ),
ALLEXCEPT ( Table2, Table2[Transaction date].[Year] )
),
0
)
Use a Matrix to display data.
Best regards,
Yuliana Gu
- JarnoVisser7 years ago
Helper I
Hi Yuliana,
Thank you for your reply!It works fine for only one customer. But in my real data I have multiple customers like:
Transaction date Amount Urgency Customer 1-1-2017 50 high a 30-5-2017 100 medium a 30-9-2017 30 low a 1-1-2018 45 medium a 20-2-2018 55 low a 1-1-2017 50 low b 30-5-2017 100 low b 30-9-2017 30 low b 1-1-2018 45 medium b 20-2-2018 55 high b And with multiple customers it gives no amount for par example customer b in 2017. Do you have a solution for that?
Thanks in advance!
Kind regards,
Jarno
- AkhilAshok7 years ago
Solution Sage
If you follow the Star Schema approach which LivioLanzo showed, then you can also use the below Calculated column HighestUrgencyID in Data table, and create a relationship between Urgency[UrgencyID] & Data[HighestUrgencyID]. This way your measure will be just SUM(Data[Amount]).
HighestUrgencyID = VAR TransactionYear = RELATED ( 'Calendar'[Year] ) VAR CurrentCustomer = 'Data'[Customer] RETURN CALCULATE ( MAX ( 'Data'[UrgencyID] ), FILTER ( 'Data', 'Data'[Customer] = CurrentCustomer && RELATED ( 'Calendar'[Year] ) = TransactionYear ) )- JarnoVisser7 years ago
Helper I
Thank you all! The most easy one even to verify is the solution of Akhil. The syntax of his solution should only be written as follows:
HighestUrgencyID = VAR TransactionYear = RELATED ( 'Calendar'[Year] ) VAR CurrentCustomer = RELATED ('Dim'[Customer] RETURN CALCULATE ( MIN ( 'Data'[UrgencyID] ), FILTER ( 'Data', 'Data'[Customer] = CurrentCustomer && 'Data'[Year] ) = TransactionYear ) )