Passing information to another dashboard

New here. I hope this is the correct forum.

I have 10 navigation buttons on 10 dashboards. I have a startup dashboard that makes the user select a subset of Accounts to share with all of the other dashboards through a cascading hierarchy parameter.

If the subset of Accounts does not have Annuity information I want to hide the Annuity navigation button on all dashboards. I think I should use OnLoad on the dashboards.

The check for Annuity information is a stored procedure/datacube that returns a scalar yes/no. The input for the datacube is the cascading hierarchy of Accounts. I'm using a one column, one row table visualization for the result.

How do I share the resulting yes/no with the other dashboards?

Hello Matthew,

I suggest you to use below solution if I understand your business case correctly.


On startup dashboard

1. create dataLabel with name annuityDataLabel and put on the rows the result field from your dataCube.

2. On all of your navigation buttons , put this script on the click interaction , be sure to use the correct dashboard ID that represent the destination dashboard in the script.

//*************************************************************************

//supposing the result of the dataCube is on dataLabel with name annuityDataLabel
// Below code have to be used inside the click event on the Button or the object that will be used for navigation
// On destination dashboards create a dataLabel with name annuityDataLabel and connect the annuity field to a parameter with name annuityParameter
// Don't create and connect annuityParameter to the annuityDataLabel on startup dashboard
var annuityValue= annuityDataLabel.metricSetBindings[0].dataResult.cellset.rows[0].members[0].caption;


var viewService = this.parentView.getService("ViewService");

// Fill here the ID of the dashboard that you want to navigate to.
// you can get the ID by right click on the dashboard --> properties

var id = "4537692c-bb03-4cb0-9fa3-27fbaa435458";

// supposing the name of the parameter on he destination dashboard to be annuityParameter
//below code will navigate to that dashboard and passing the value of the annuityDataLabel to the parameter with name annuityParameter on distination dashboard.
viewService.navigateToPage(dundas.Pages.DASHBOARD, {
"id": id,
"queryString": [new dundas.KeyValuePair("e","false"),new dundas.KeyValuePair("vo","viewOnly"),new dundas.KeyValuePair("$annuityParameter",annuityValue)]});

//*****************************************************************************


On every distination dashboard

1. create new dataLabel with name annuityDataLabel, connect this dataLabel to new datacube that has result of two values (No,Yes). Don't use the same dataCube you have.

2. anothe option is to create manual dataCube under this dataLabel and with one string column with two values (Yes,No).

3. create new parameter with name annuityParameter and connect it to field under row for the create dataCube.

4. Hide all navigation buttons.

5. put this script on the ready interaction of the dashboard

//*************************************************

var annuityValue= annuityDataLabel.metricSetBindings[0].dataResult.cellset.rows[0].members[0].caption;

if (annuityValue=="Yes")
{
button1.hidden=false;

button2.hidden=false;

//put all navigation buttons

}

//******************************************************************


Hope this will answer your question.

I can wait untill I have a chance to try this out.

Reading about these situation helps out a lot so I can have extra tools to make my Dashboards even better.