Forum Discussion
Comparing open and close on different dates
- 4 years ago
In this case I would create a calculated table as your criteria are fixed and don't need to be affected by slicers.
Comparison Table = GENERATE( VALUES( 'Stock'[symbol]), var symbol = 'Stock'[Symbol] var openPrice = LOOKUPVALUE( 'Stock'[open], 'Stock'[Symbol], symbol, 'Stock'[Date], DATE(2014,1,2)) var closePrice = LOOKUPVALUE( 'Stock'[close], 'Stock'[Symbol], symbol, 'Stock'[Date], DATE(2017,11,29)) return ROW( "Open", openPrice, "Close", closePrice, "Diff", closePrice - openPrice) )You can then use this new table in visuals or in calculations
You could filter out the ones which didn't exist on the start date by replacing the VALUES('Stock'[symbol]) with
CALCULATETABLE( VALUES('Stock'[symbol]), 'Stock'[Date] = DATE(2014,1,2))Thanks, will give this a try now.
On a seperate note, another user has given the following, which provides a different result from the one you've provided;
Difference =
VAR OpenDate =
DATE ( 2014, 2, 1 )
VAR CloseDate =
DATE ( 2017, 12, 29 )
VAR OpenValue =
CALCULATE ( SUM ( Table[open] ), Table[Date] = OpenDate )
VAR CloseValue =
CALCULATE ( SUM ( Table[close] ), Table[Date] = CloseDate )
RETURN
CloseValue - OpenValue
Do you have any idea as to why they would be providing different results?
- Anonymous4 years agoNot applicable
Thanks John.
Though to add to my confusion, I've just manually opened the data set and done the calculation for one of the stocks, and I've received a different value entirely than both of these solutions provide.
Going a bit numbers blind now, ha.