Reputation: 423
Hi I'm trying to create a Bar Chart like this (This chart is an illustration, not created from data yet):
If the data is being fetched from a single table, how can I have dual color scheme for bar is past and future. Also how can I place a moving marker that automatically updates the TODAY placard based on whenever the report is viewed and accordingly bars should follow the past and future color schemes.
Schema is roughly as follows: Table1: Issue ID, Release name, issue priority Table2: Release name, Release date
Upvotes: 2
Views: 3579
Reputation: 35980
In Power BI as well as in Excel, the secret is in the data layout. You can't just have all your past and future data in two columns and magically expect that some of them will turn out red and orange instead of dark and light gray.
You will need to prep your data source to include stacked series for the light gray, dark gray, red and orange series. Stack all series on top of each other and make sure that where the red and orange series have values, there are only zero values for the gray series.
I suggest you use four columns for four stacked series and divide the values accordingly.
In Power BI, you can apply the same principle as in this Excel screenshot.
Let me know if you need help translating that to Power BI.
Edit: The Power BI data does not have to be static. You can build columns with Dax functions that arrange the data in the pattern required. Add four columns to your data model with the formulas
chtPastProdA = if(tblProducts[Date]<TODAY(),tblProducts[Product A],0)
chtPastProdB = if(tblProducts[Date]<today(),tblProducts[Product B],0)
chtFutureProdA = if(tblProducts[Date]>=today(),tblProducts[Product A],0)
chtFutureProdB = if(tblProducts[Date]>=today(),tblProducts[Product B],0)
Then build a stacked column chart and stack all four of these series. Format the colors.
For the "Today" marker you would need a custom label, which Power BI currently does not support. But since the demarcation between gray and red/yellow is today, it's quite obvious where the current date is, anyway.
Upvotes: 1