Forum Discussion

malpani's avatar
malpani
Helper II
2 years ago

Deneb Custom Visual - View X Axis when scrolling on Y axis

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

 

 

4 Replies

  •  

    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) ?

    • malpani's avatar
      malpani
      Helper II

      @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.

      • lbendlin's avatar
        lbendlin
        Super User

        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.

  • 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.

     

    lbendlingiammariam ppm1 dm-p