Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hello,
I want to calcuate what's the cost down % every time the sales person make to a customer & product.
i need 3 measures, what's the previous price, what's the cost down %, and if this is the latest offer to this customer.
summary as such table 1, attached you can find the database.
thanks in advance for your great help!
Cheers
Nate
https://1drv.ms/u/s!Am-wyNUhKsP7gyHtdwhQyea3j9jF
Solved! Go to Solution.
Hi @xuexi1890 ,
You can try to use following measures if it suitable for your requirement:
Previous price = VAR currDate = MAX ( 'DATASET'[Date] ) VAR prevD = CALCULATE ( MAX ( 'DATASET'[Date] ), FILTER ( ALLSELECTED ( 'DATASET' ), [Date] < currDate ), VALUES ( 'DATASET'[Customer] ), VALUES ( 'DATASET'[Product] ) ) RETURN CALCULATE ( MAX ( 'DATASET'[Price] ), FILTER ( ALLSELECTED ( 'DATASET' ), [Date] = prevD ), VALUES ( 'DATASET'[Customer] ), VALUES ( 'DATASET'[Product] ) ) Changes = VAR currDate = MAX ( 'DATASET'[Date] ) VAR prevD = CALCULATE ( MAX ( 'DATASET'[Date] ), FILTER ( ALLSELECTED ( 'DATASET' ), [Date] < currDate ), VALUES ( 'DATASET'[Customer] ), VALUES ( 'DATASET'[Product] ) ) VAR prevPrice = CALCULATE ( MAX ( 'DATASET'[Price] ), FILTER ( ALLSELECTED ( 'DATASET' ), [Date] = prevD ), VALUES ( 'DATASET'[Customer] ), VALUES ( 'DATASET'[Product] ) ) RETURN IF ( prevD <> BLANK (), DIVIDE ( prevPrice - MAX ( 'DATASET'[Price] ), prevPrice ), 0 ) Last Order= VAR _lastDate = CALCULATE ( MAX ( 'DATASET'[Date] ), ALLSELECTED ( 'DATASET' ), VALUES ( 'DATASET'[Customer] ), VALUES ( 'DATASET'[Product] ) ) RETURN CALCULATE ( MAX ( 'DATASET'[Reference] ), FILTER ( ALLSELECTED ( 'DATASET' ), [Date] = _lastDate ), VALUES ( 'DATASET'[Customer] ), VALUES ( 'DATASET'[Product] ) )
Regards,
Xiaoxin Sheng
Hi @xuexi1890 ,
You can try to use following measures if it suitable for your requirement:
Previous price = VAR currDate = MAX ( 'DATASET'[Date] ) VAR prevD = CALCULATE ( MAX ( 'DATASET'[Date] ), FILTER ( ALLSELECTED ( 'DATASET' ), [Date] < currDate ), VALUES ( 'DATASET'[Customer] ), VALUES ( 'DATASET'[Product] ) ) RETURN CALCULATE ( MAX ( 'DATASET'[Price] ), FILTER ( ALLSELECTED ( 'DATASET' ), [Date] = prevD ), VALUES ( 'DATASET'[Customer] ), VALUES ( 'DATASET'[Product] ) ) Changes = VAR currDate = MAX ( 'DATASET'[Date] ) VAR prevD = CALCULATE ( MAX ( 'DATASET'[Date] ), FILTER ( ALLSELECTED ( 'DATASET' ), [Date] < currDate ), VALUES ( 'DATASET'[Customer] ), VALUES ( 'DATASET'[Product] ) ) VAR prevPrice = CALCULATE ( MAX ( 'DATASET'[Price] ), FILTER ( ALLSELECTED ( 'DATASET' ), [Date] = prevD ), VALUES ( 'DATASET'[Customer] ), VALUES ( 'DATASET'[Product] ) ) RETURN IF ( prevD <> BLANK (), DIVIDE ( prevPrice - MAX ( 'DATASET'[Price] ), prevPrice ), 0 ) Last Order= VAR _lastDate = CALCULATE ( MAX ( 'DATASET'[Date] ), ALLSELECTED ( 'DATASET' ), VALUES ( 'DATASET'[Customer] ), VALUES ( 'DATASET'[Product] ) ) RETURN CALCULATE ( MAX ( 'DATASET'[Reference] ), FILTER ( ALLSELECTED ( 'DATASET' ), [Date] = _lastDate ), VALUES ( 'DATASET'[Customer] ), VALUES ( 'DATASET'[Product] ) )
Regards,
Xiaoxin Sheng
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
112 | |
97 | |
84 | |
67 | |
60 |
User | Count |
---|---|
150 | |
120 | |
99 | |
87 | |
68 |