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 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
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 agoHelper 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 ) )