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.