The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi Experts,
I previously prepared a visual with Charticulator but since it is discontinued, I am trying to create same visual as shown below with Deneb Vega Lite.
1. First and priority problem which I am trying to solve is scrollig on X and Y axis.
I have now scrolling enabled on Y axis but issue is, when I scroll up on Y axis the X-Axis dissapears and I can,'t see the Month-years on X axis. Can this X axis be frozen, so it visible when scrolling up ?
I refered to the post available on link - Solved: Deneb Freeze X Axis in Gantt Diagram - Microsoft Fabric Community. @giammariam I understand there is no way to make X axis visible while scrolling on Y axis.
So, I tried alternate suggested by @ppm1 here - https://www.youtube.com/watch?v=lmC5k12jd_Y .
I managed to get scrollbar but I could not get window of 20 products and also zoom by scrooling on X axis.
2. Second problem I had is that sometime milstones dates are in same month so in visual they overlap. In charticulator, there was a way to vertical or horizontally split for overlapped values. I dont know how this can be done in Deneb.
I really appreciate if there is any other alternates available for user friendly scrolling.
I have uploaded PBIX file with visual and code and datasource excel on the drive -
https://drive.google.com/drive/folders/1PUCYaMXS5bj0-Y7SeLz4PwZekU9Gv2O-?usp=drive_link
@ppm1 , @giammariam , @lbendlin
I partially managed to solve the problem. Now I have added a Scroll Bar brush for Y axis and I have also fixed that with each +1 step scrolled on Y axis it will only show 10 rows on Y axis. This is now working as desired.
"params": [
{
"name": "ScrollBar",
"value": 1,
"bind": {
"input": "range",
"min": 1,
"max": 100,
"step": 1
}
}
],
To make it work I have created a 'Rank' measure which creates dynamic Indexing post filtering of data using slicers on the page.
Rank = RANKX(ALLSELECTED('DPM dump_Jan2023'),
CALCULATE(SUM('DPM dump_Jan2023'[Index_ProductRel])),
, ASC, Dense
)
Sample PBI with dataset is available on same link - https://drive.google.com/drive/folders/1PUCYaMXS5bj0-Y7SeLz4PwZekU9Gv2O-?usp=sharing
But still I am facing one problem in passing dynamic value to max of the scrollbar which is currently set to static value of 100.
I would like to make this value dynamic based on Rank column (Max of Rank Column).
I created one more measure in PBI to calculate Max of Rank Column but not sure why but I am not able to pass that measure to this max of ScrollBar.
MAX_Rank = MAXX(VALUES('DPM dump_Jan2023'),[Rank])
I tried using expr and joinagreegate to trasform, calculate and then pass the value to max but its not working.
Request your expertise to pass either a measure or calculated value to max of scrollbar.
@lbendlin, @giammariam @ppm1 @dm-p
I understand there is no way to make X axis visible while scrolling on Y axis.
have you tried using vconcat with the top container suppressing the x axis and the bottom portion only showing the x axis (with a fake 0 value) ?
@Ibendlin: Thank you so much for looking into this thread. I was eagerly waiting for the response.
This is my first attempt to Vegalite. And I dont much about using vconcat, container concept. I created current looking at the templates of vegalite.
So, do you mind adding few lines to the existing code or point me to any existing template pls.
I'm not an expert either, still learning Deneb. Maybe @dm-p has some advice.
Go through their examples, try with something simpler first. Once you have mastered the "same X axis but hidden on the top container" then you can modify the code for your Gantt chart accordingly.
User | Count |
---|---|
5 | |
3 | |
2 | |
2 | |
2 |
User | Count |
---|---|
11 | |
7 | |
5 | |
4 | |
4 |