USER GUIDE
You can create a menu wherever there is an URL-action-property in SSRS.
Each menu can have 1 to 7 menu items (t.i. up to seven rows) each menu item can be a link to an url/report, a note or a submenu. We distinguish between a number of different menu items type:
Menu item type | Result |
---|---|
URL | Clicking this menu item will replace the current page with the url you provide. |
Report | This menu item will open a SSRS report on the current page |
PopURL & PopReport | In this case the URL/report will be opened in a new browser window |
PopURLModal & PopReportModal | Another variation, the URL/report is opened in a new browser window with minimal adornment |
Note | A note is just a html part that is displayed. It can be used for f.e. the display of additional information like definitions. As it is html, the note can contains links and images. |
SubNote | A subnote is a note that will appear when the menu item is clicked, this is useful when you want to combine f.e. the definition of a metric with drill through options. |
Submenu | A submenu allows you to display a new menu, when the menu item is clicked |
You can use HTML tags for the labels, and, off course, also for the notes.
For each menu item you have to provide three parameters: label, item type and the action:
Menu item type | Label | Item type | Action |
---|---|---|---|
URL, PopURL, PopURLModal | Label (html) that will appear in the menu | URL, PopURL or PopURLModal | the URL (without the http:// part) |
Report, PopReport, PopReportModeal | Label (html) that will appear in the menu | Report, PopReport or PopReportModeal | Report name and parameters (without the server part, cfr installation) |
Note | The text (html) of the note | Note | empty |
SubNote | Label (html) that will appear in the menu | SubNote | The text (html) of the note |
Submenu | Label (html) that will appear in the menu | Submenu | The definition of the submenu |
Example 1
="javascript:menuPopper('Go to google','URL','www.google.com','Go to Yahoo,'PopURL','www.yahoo.com)"
This will show en menu with two items: Go to Google and Go to Yahoo. When you click the first the current browser window will redirect to google, the second will open a new browser window with yahoo.
Example 2
="javascript:menuPopper('Go back to management dashboard', 'Report','\ManagementReports\ManagementDashboard','Show top 10 stores','PopReport''\ManagementReports\TopStores&topcount=10','Show this months inventory','PopReport','\Inventory\Inventory&OnDate=" & DataSet1!Month.Value & "');"
This menu has three items. All three go to reports. The first uses the current window, the other two use a popup window. The third item uses the context to add the date to the report.
Example 3
="javascript:menuPopper('<u>More Info</u></br>The calculation of this metric...', 'Note','');"
This "menu" has just one item: a note. It will display the note in a yellow message, when the report item with the corresponding action is clicked.
Example 4
This menu creates the menu that is displayed on the home page (the URL’s/reports are dummies).
We have a menu with 3 items:
The first will open a new window (to google), the second is a submenu, and the third is a subnote.
The submenu has also 3 menu items:
The action for the submenu item is the definition of a menu:
'menuPopper(
\'Top 10 stores\',\'PopURL\',\'www.google.com\',
\'Bottom 10 stores\',\'PopURL\',\'www.google.com\',
\'Top 10 growth vs prev year\',\'PopURL\',\'www.google.com\');'
Notice that we have to take care of the string markers. Because we have strings within strings we now have to escape them therefore the label 'Top 10 stores' becomes \'Top 10 stores\'
Named Menus
When your menu’s become more complex you are faced with two problems:
The solution is to separately define the menu, give it a name, and then invoke it with the right context.
You create a menu definition by adding a textbox to your report with the definition in it. For our last example this would become:
Every menu definition has to start with the marker #MENUDEF followed by #<menu name> .
Then you add the definition as you would before (starting with another #). In every place you want to use a dynamic element (typically a context item, f.e. the current date, products, region,…) you add #P1# , #P2#, …, #P7#.
To invoke the menu, you use the following expressing in the action item:
The more general syntax is: namedMenuPopper(menuName, P1, P2, P3, P4, P5, P6, P7);
where P1 .. P7 are optional.
#P1# will then be replaced by P1, #P2# by P2 and so on.
This way P1 will only be passed once in the action-URL even if you use it several times in the menu.
Notes: