Forum Discussion
Tracking Product wise price change
This is what the data looks like. Now, the problem statement is, I need to find the dates at which each product's price changed. This data keeps on updating on daily basis. I already have a slicer on my dashboard that allows me to select a product by Item ID. So, if i select Item id 112 and from the price change slicer, I select True, it should give me the following output.
SO basically, I want to add a new column with boolean values (True/False), which shows True, if there is a cost change as compared to the previous cost and false if it is the same as the previous cost.
Price Change = IF(FILTER(Sheet1, Sheet1[Item ID]=EARLIER(Sheet1[Item ID]) && Sheet1[Rank]=EARLIER(Sheet1[Rank])+1 && Sheet1[Cost]<>EARLIER(Sheet1[Cost])),TRUE,FALSE)
I used this, but it's giving me an error
Vijay_A_Verma 's solution worked like a charm aswell!
Price Change = IF(Sheet1[Rank]=1,TRUE(),(COUNTROWS(FILTER(Sheet1, Sheet1[Item ID]=EARLIER(Sheet1[Item ID]) && Sheet1[Rank]=EARLIER(Sheet1[Rank])-1 && Sheet1[Cost]<>EARLIER(Sheet1[Cost])))>0))
4 Replies
- amitchandak
Super User
schrodinger , This need to be something like that
Price Change = IF(Sheet1[Cost] = maxx(FILTER(Sheet1, Sheet1[Item ID]=EARLIER(Sheet1[Item ID])
&& Sheet1[Rank]=EARLIER(Sheet1[Rank])+1 ) ,Sheet1[Cost]),TRUE(),FALSE() ) - rohit_singh
Solution Sage
Hi schrodinger ,
You can try something like this :Price Change =var _cost = max(Parts[Cost])var _dt = max(Parts[Date])var _prevdt =CALCULATE(max(Parts[Date]),FILTER(ALLEXCEPT(Parts, Parts[Part Number],Parts[Item ID]),Parts[Date] < _dt))var _prevcost =CALCULATE(max(Parts[Cost]),FILTER(ALLEXCEPT(Parts, Parts[Part Number],Parts[Item ID]),Parts[Date] = _prevdt))Returnif(_cost = _prevcost , "False", "True")Kind regards,
Rohit
Please mark this answer as the solution if it resolves your issue.
Appreciate your kudos! 🙂- schrodingerNew Member
Vijay_A_Verma 's solution worked like a charm aswell!
Price Change = IF(Sheet1[Rank]=1,TRUE(),(COUNTROWS(FILTER(Sheet1, Sheet1[Item ID]=EARLIER(Sheet1[Item ID]) && Sheet1[Rank]=EARLIER(Sheet1[Rank])-1 && Sheet1[Cost]<>EARLIER(Sheet1[Cost])))>0))
- schrodingerNew Member
Thank you everyone!