22 Sept 2020

Power BI : Dynamic Page Navigation

Hello Folks!!

Few day back, I was working with one of Power BI Report on which I have worked on few months back that consists of 60 + pages excluding Overview and Feedback page.

For me, requirement came as Change Request where I need to do few very nominal changes in all the 60 + pages in the report, while working on report, I realised it is very cumbersome and tedious to scroll report pages one by one, and if you have really bad day, sometime it will scroll more number of pages at once then required and sometime even after clicks, it does not scrolled.

After scrolling about 20 odd pages, I literally gave up and found it is very difficult, boring and squeezing all my enthusiasm toward work to scroll than doing actual changes that are required in the report, so I have decided to get rid of this issue and started exploring any other way around with the help of which I would be able to skip this kind of scrolling of pages one by one in sequence.

After exploring a while, I could not found any In-Built feature that Power BI makes available to us however I landed into some kind of workaround which eventually allows me not to scroll the pages instead select required page from the Drop Down.

OR I can say usage of Page Navigation within a Report, i.e. How to easily navigate among the pages of report specially when the number of pages are more in number and hard to scroll page by page in a report.

Let's start the Road Roller with some Illustration.


Requirement


Suppose, the requirement is to make some changes in already existing report of your organization which has about 50 pages in number.

Resolution :


One can see, the simplest of the solution is to go to the respective page and do the required changes and publish report back to the Power BI Service or shared with customer OR whichever process your organization follows, and in fact, resolution wise this is the ideal solution.

To provide solution for such type of huge report that having quite a more number of pages is very problematic to the developers, not in terms of technical implementation but performing monotonous activity such as scrolling of pages again and again toward left and right direction, in other words, it makes life very difficult for developers to implement solution which is technically easy but requires tedious monotonous efforts and no one understood the pain.

To explore more on the concern, let's say changes required on say Page number -1 and Page number - 35, so in order to move from Page number - 1 to Page number - 35 , developer needs to scroll all the pages ranging from Page number - 1 to Page number - 35 one by one in sequence.

Other concern could be when developer needs to analyse the data of different pages, scrolling of pages will make very furious and irritating, i.e. it became very annoying to navigate pages again and again specially when your Day-In and Day-Out work is data analysis that is based on report pages.

While considering aforementioned cumbersome task, I eventually landed into usage of Dynamic Page Navigation approach which up to some extent will provide relief to the developer or at least allows developers to navigate among the pages without scrolling pages one by one in sequence.

So why to wait, Let's start development in step by step fashion as detailed below

Step 1 : Open Power BI Desktop

Step 2 : Open Power BI report and click Enter Data.

Step 3 : Create table columns named Page.

Step 4 : Enter names of all the pages of report one by one under column Page.

Step 5 : Provide name of the table as PageNavigation.

Step 6 : Click on Close And Apply, this will create new table named as PageNavigation manually.

* All the steps that required to create Manual Table is detailed in my another Post named Power BI : Manual Enter and Edit Data

Step 7 : Go to Visualization in Report Canvas, and select SLICER.

Step 8 : Under SLICER, select table PageNavigation as a data source for the slicer.

Step 9 : Change the Type of Slicers to Drop Down.

* Till here, slicer (drop down) with all the name of the Pages of the report are created.

Step 10 : Add any Image to the Report Canvas near to SLICER (Drop Down), I have taken arrow sign image as shown in image below in the page.

Step 11 : Select Image and Go to the ACTION

Step 12 : under Type, select Page Navigation (this is not the name of the page, instead this is functionality of Power BI Report)

Step 13 : Under Destination, Click on fx and provide value as below
                - Format By : Field Value
                - Based on Field : First Page Name
                - SummarizationFirst

Step 14 : On Based on Field, please Go to PageNavigation and then select Page.

               * Overall setting are shown as below

                         Go to the Action.

                          Type  Select Page Navigation. 

                          Destination : Click on fx and provide value as shown below.

                              

                         On Based on Field : Go to PageNavigation -> Page

* Now, implementation of both Slicer (dropdown) and Image are completed, now next step would be  to group both of them

Step 15 : Select slicer (Drop down) and Image together and right click and Group them together and this will create a Dynamic Page Navigator

Step 16 : Paste this grouped object in all the pages of the report (agreed this is time taking task, but good part is that, it is just a one time activity, so we can leverage it).

Step 17 : Eventually, Dynamic Page Navigator will look like below image

                                 

* Now, in order to navigate among the pages, one has to just select name of the page from the drop down and click on Image, that will lead you to the corresponding Page.

Cautions :

On entering name of the Pages in manual table, be very sure that the name you entering into the table must be same as actual name of the Page else navigation won't work for wrong name.

Pros :

This will ease the life of the developer and help them to navigate among the pages without scrolling each and every page of the report.


Cons :

It will increase the development efforts and even a small mistake in writing name of the pages will lead to the failure of the implementation for that very page


Author - Feel free to ask query if you have any.

No comments:

Post a Comment