Here is the Sample PBIX File - Here
Sample Data -
StockQuoteTable | StartDate | EndDate | QuotePull.Column1.CH_SYMBOL | QuotePull.Column1.CH_TRADE_HIGH_PRICE | QuotePull.Column1.CH_TRADE_LOW_PRICE | QuotePull.Column1.CH_OPENING_PRICE | QuotePull.Column1.CH_CLOSING_PRICE | QuotePull.Column1.CH_LAST_TRADED_PRICE | QuotePull.Column1.CH_PREVIOUS_CLS_PRICE | QuotePull.Column1.CH_TOT_TRADED_QTY | QuotePull.Column1.CH_TOT_TRADED_VAL | QuotePull.Column1.CH_52WEEK_HIGH_PRICE | QuotePull.Column1.CH_52WEEK_LOW_PRICE | QuotePull.Column1.CH_TOTAL_TRADES | QuotePull.Column1.CH_TIMESTAMP | QuotePull.Column1.VWAP |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HDFCBANK | 01-Jan-23 | 31-Dec-23 | HDFCBANK | 1714.9 | 1696 | 1697 | 1709.25 | 1708.65 | 1705.25 | 12505713 | 21353650105 | 1757.5 | 1460.25 | 264143 | 29-Dec-23 | 1707.51 |
HDFCBANK | 01-Jan-23 | 31-Dec-23 | HDFCBANK | 1721.4 | 1702 | 1709.3 | 1705.25 | 1708.85 | 1703.3 | 22038235 | 37713047859 | 1757.5 | 1460.25 | 423062 | 28-Dec-23 | 1711.26 |
HDFCBANK | 01-Jan-23 | 31-Dec-23 | HDFCBANK | 1706.5 | 1678.6 | 1681.5 | 1703.3 | 1702.1 | 1682.45 | 13504539 | 22901880537 | 1757.5 | 1460.25 | 321373 | 27-Dec-23 | 1695.87 |
HDFCBANK | 01-Jan-23 | 31-Dec-23 | HDFCBANK | 1685.95 | 1668.55 | 1673.25 | 1682.45 | 1684.1 | 1670.85 | 9022928 | 15144582177 | 1757.5 | 1460.25 | 243596 | 26-Dec-23 | 1678.46 |
HDFCBANK | 01-Jan-23 | 31-Dec-23 | HDFCBANK | 1685.9 | 1667.1 | 1683.6 | 1670.85 | 1668.7 | 1686.7 | 24289425 | 40702711528 | 1757.5 | 1460.25 | 450284 | 22-Dec-23 | 1675.74 |
HDFCBANK | 01-Jan-23 | 31-Dec-23 | HDFCBANK | 1689.75 | 1650.25 | 1657 | 1686.7 | 1685 | 1657 | 18294620 | 30604491502 | 1757.5 | 1460.25 | 385913 | 21-Dec-23 | 1672.87 |
HDFCBANK | 01-Jan-23 | 31-Dec-23 | HDFCBANK | 1668.95 | 1644.45 | 1658 | 1657 | 1644.75 | 1652.9 | 17116260 | 28451245154 | 1757.5 | 1460.25 | 415287 | 20-Dec-23 | 1662.23 |
IREDA | 01-Dec-23 | 31-Dec-23 | IREDA | 114.2 | 98.3 | 102 | 110.75 | 111.15 | 108.3 | 167648627 | 18085063262 | 123.2 | 50 | 527506 | 18-Dec-23 | 107.87 |
IREDA | 01-Dec-23 | 31-Dec-23 | IREDA | 121 | 108.3 | 120.4 | 108.3 | 108.3 | 120.3 | 107529568 | 12023317404 | 123.2 | 50 | 513417 | 15-Dec-23 | 111.81 |
SBIN | 01-Jan-23 | 31-Dec-23 | SBIN | 619.9 | 613.1 | 615 | 614.25 | 614.2 | 614.15 | 11706255 | 7210878841 | 629.55 | 499.35 | 285158 | 11-Dec-23 | 615.99 |
SBIN | 01-Jan-23 | 31-Dec-23 | SBIN | 616.8 | 605.35 | 610 | 614.15 | 614.5 | 611.7 | 17722136 | 10822316306 | 629.55 | 499.35 | 294891 | 08-Dec-23 | 610.67 |
SBIN | 01-Jan-23 | 31-Dec-23 | SBIN | 612.55 | 605 | 610 | 611.7 | 611.5 | 608.45 | 10725706 | 6539746290 | 629.55 | 499.35 | 248309 | 07-Dec-23 | 609.73 |
SBIN | 01-Jan-23 | 31-Dec-23 | SBIN | 614 | 604.55 | 614 | 608.45 | 607.7 | 608.25 | 21439069 | 13076949822 | 629.55 | 499.35 | 273409 | 06-Dec-23 | 609.96 |
SBIN | 01-Jan-23 | 31-Dec-23 | SBIN | 611.3 | 595.05 | 595.05 | 608.25 | 608.25 | 594.7 | 36430152 | 22090196336 | 629.55 | 499.35 | 432396 | 05-Dec-23 | 606.37 |
SBIN | 01-Jan-23 | 31-Dec-23 | SBIN | 596 | 584.55 | 588 | 594.7 | 595.9 | 571.75 | 26077882 | 15393175008 | 629.55 | 499.35 | 386859 | 04-Dec-23 | 590.28 |
SBIN | 01-Jan-23 | 31-Dec-23 | SBIN | 574.2 | 566.55 | 567 | 571.75 | 571.85 | 564.75 | 10614230 | 6069542121 | 629.55 | 499.35 | 189868 | 01-Dec-23 | 571.83 |
SBIN | 01-Jan-23 | 31-Dec-23 | SBIN | 570.2 | 563.65 | 569.75 | 564.75 | 565.15 | 568.6 | 19758998 | 11187929537 | 629.55 | 499.35 | 314822 | 30-Nov-23 | 566.22 |
SBIN | 01-Jan-23 | 31-Dec-23 | SBIN | 569 | 565.1 | 568 | 568.6 | 568.35 | 564.45 | 10299034 | 5845506569 | 629.55 | 499.35 | 206929 | 29-Nov-23 | 567.58 |
SBIN | 01-Jan-23 | 31-Dec-23 | SBIN | 565.2 | 561.1 | 563.6 | 564.45 | 564.8 | 560.35 | 8153314 | 4593727820 | 629.55 | 499.35 | 186090 | 28-Nov-23 | 563.42 |
SBIN | 01-Jan-23 | 31-Dec-23 | SBIN | 562.45 | 559.25 | 561.95 | 560.35 | 560.7 | 559.95 | 6529851 | 3660804949 | 629.55 | 499.35 | 155259 | 24-Nov-23 | 560.63 |
We can see there is a huge difference in the price of these 3 stocks, I want to compare them using the Growth % on a Day-on-Day basis.
Here is the measure I created but it isn't working -
'StocksList'[Growth] = VAR currDate = SELECTEDVALUE('StocksList'[QuotePull.Column1.CH_TIMESTAMP])
VAR preDate = CALCULATE(
MAX('StocksList'[QuotePull.Column1.CH_TIMESTAMP]),
FILTER(
'StocksList',
'StocksList'[QuotePull.Column1.CH_TIMESTAMP] < currDate
)
)
VAR DoDchange = DIVIDE(
CALCULATE(
MAX('StocksList'[QuotePull.Column1.CH_LAST_TRADED_PRICE]),
'StocksList'[QuotePull.Column1.CH_TIMESTAMP] = currDate
) - CALCULATE(
MAX('StocksList'[QuotePull.Column1.CH_LAST_TRADED_PRICE]),
'StocksList'[QuotePull.Column1.CH_TIMESTAMP] = preDate
),
CALCULATE(
MAX('StocksList'[QuotePull.Column1.CH_LAST_TRADED_PRICE]),
'StocksList'[QuotePull.Column1.CH_TIMESTAMP] = preDate
),
0
)
RETURN
DoDchange
Not sure what I'm doing wrong probably because all the stock data are in the same table. and I'm creating the line chart using the QuotePull.Column1.CH_SYMBOL
column as a legend to differentiate the three.
Can anyone help me with the same?
EDIT -
What I'm looking for is a view like this as you can see we are comparing the growth/loss with the earliest value of that particular stock. -
EDIT
Growth =
VAR date1 = CALCULATE( MIN(StocksList[QuotePull.Column1.CH_TIMESTAMP]), REMOVEFILTERS(), VALUES(StocksList[StockQuoteTable]) )
VAR date1Price = CALCULATE( SUM( StocksList[QuotePull.Column1.CH_LAST_TRADED_PRICE] ), REMOVEFILTERS(), VALUES(StocksList[StockQuoteTable]), StocksList[QuotePull.Column1.CH_TIMESTAMP] = date1 )
VAR change =
DIVIDE(
SUM(StocksList[QuotePull.Column1.CH_LAST_TRADED_PRICE]) - date1Price,
date1Price,
0
)
RETURN change
EDIT
EDIT
Growth =
VAR currDate = MAX(StocksList[QuotePull.Column1.CH_TIMESTAMP])
VAR preDate = CALCULATE( MIN(StocksList[QuotePull.Column1.CH_TIMESTAMP]), REMOVEFILTERS(), VALUES(StocksList[StockQuoteTable]) )
VAR DoDchange = DIVIDE(CALCULATE( SUM(StocksList[QuotePull.Column1.CH_LAST_TRADED_PRICE]), StocksList[QuotePull.Column1.CH_TIMESTAMP] = currDate ) - CALCULATE( MAX( StocksList[QuotePull.Column1.CH_LAST_TRADED_PRICE] ), FILTER(ALLSELECTED(StocksList), StocksList[QuotePull.Column1.CH_TIMESTAMP] = preDate )), CALCULATE( MAX( StocksList[QuotePull.Column1.CH_LAST_TRADED_PRICE] ), FILTER(ALLSELECTED(StocksList), StocksList[QuotePull.Column1.CH_TIMESTAMP] = preDate )), 0)
RETURN DoDchange
EDIT
Does this work?
Growth =
VAR currDate = MAX(StocksList[QuotePull.Column1.CH_TIMESTAMP])
VAR preDate = CALCULATE( MAX(StocksList[QuotePull.Column1.CH_TIMESTAMP]), FILTER(ALLSELECTED(StocksList), StocksList[QuotePull.Column1.CH_TIMESTAMP] < currDate ) )
VAR DoDchange = DIVIDE(CALCULATE( SUM(StocksList[QuotePull.Column1.CH_LAST_TRADED_PRICE]), StocksList[QuotePull.Column1.CH_TIMESTAMP] = currDate ) - CALCULATE( MAX( StocksList[QuotePull.Column1.CH_LAST_TRADED_PRICE] ), FILTER(ALLSELECTED(StocksList), StocksList[QuotePull.Column1.CH_TIMESTAMP] = preDate )), CALCULATE( MAX( StocksList[QuotePull.Column1.CH_LAST_TRADED_PRICE] ), FILTER(ALLSELECTED(StocksList), StocksList[QuotePull.Column1.CH_TIMESTAMP] = preDate )), 0)
RETURN DoDchange