cancel
Showing results for 
Search instead for 
Did you mean: 

Enabling Jump to Dashboard once a user drills down to a certain level

kingsofdeleon
8 - Cloud Apps
8 - Cloud Apps

Summary is in the subject line.

I know that there's Jump to Dashboard configurations that allow users to jump to different dashboards depending on the column set.

However I don't see my particular case, in which I only have a single dashboard to jump to, but I only want to jump there after the user drills down and reaches a specific granularity.

In my case: I have a dashboard that is on a "game theme" level. From here a user can drill down to Players who play on this machine.

kingsofdeleon_0-1706661337682.png

After drilling down to the player level, I would then (and only then) like the option to "Jump" to a Player Market dashboard. This dashboard provides analytics tailored to a single player. It wouldn't make too much sense looking at multiple players.

kingsofdeleon_1-1706661520750.png


Is there a way to hide the option to "jump" to this dashboard until our user drills down to the player grain?

 

1 ACCEPTED SOLUTION

rapidbisupport
11 - Data Pipeline
11 - Data Pipeline

Hi @kingsofdeleon ,

You can use the following dashboard script to intercept the menu items as they're being generated.

 

let JTDEnabledDrillDim = '[DimCountries.Region]'
let widgetOid = '65bacb7b874ecd0042b01e97'

prism.on('beforemenu', (ev, args) => {
	let widget = args.settings.widget
	if (args.settings.widget.oid !== widgetOid) { return }
	if (args.settings.name !== 'datapoint') { return }
	if (widget.metadata.isDrilled() && widget.metadata.getDrilledItem().jaql.dim === JTDEnabledDrillDim) { return } 
	Object.seal(args.settings.items)
})

 

You'll need to specify the widgets oid and the drill dim that you'd like to enable the JTD from.

Unfortunately, as the JTD menu item is added to the items after the beforemenu event, the only way i've managed to solve this is by sealing the items object at this point. What we're doing is stopping the JTD service from adding the additional menu items, unless we're drilled into the desired dim. The side effect of this is that you'll get an error in the console stating that it was unable to add the JTD menu options. This shouldn't affect your user experience.

It's a bit backwards - my preference would be to remove the item afterwards, so I might raise with Sisense if the JTD service can run before we access through this event.

 Let me know how you go?

Thanks,

Daniel

RAPID BI

[email protected]

RAPID BI - Sisense Professional Services | Implementations | Custom Add-ons

View solution in original post

2 REPLIES 2

rapidbisupport
11 - Data Pipeline
11 - Data Pipeline

Hi @kingsofdeleon ,

You can use the following dashboard script to intercept the menu items as they're being generated.

 

let JTDEnabledDrillDim = '[DimCountries.Region]'
let widgetOid = '65bacb7b874ecd0042b01e97'

prism.on('beforemenu', (ev, args) => {
	let widget = args.settings.widget
	if (args.settings.widget.oid !== widgetOid) { return }
	if (args.settings.name !== 'datapoint') { return }
	if (widget.metadata.isDrilled() && widget.metadata.getDrilledItem().jaql.dim === JTDEnabledDrillDim) { return } 
	Object.seal(args.settings.items)
})

 

You'll need to specify the widgets oid and the drill dim that you'd like to enable the JTD from.

Unfortunately, as the JTD menu item is added to the items after the beforemenu event, the only way i've managed to solve this is by sealing the items object at this point. What we're doing is stopping the JTD service from adding the additional menu items, unless we're drilled into the desired dim. The side effect of this is that you'll get an error in the console stating that it was unable to add the JTD menu options. This shouldn't affect your user experience.

It's a bit backwards - my preference would be to remove the item afterwards, so I might raise with Sisense if the JTD service can run before we access through this event.

 Let me know how you go?

Thanks,

Daniel

RAPID BI

[email protected]

RAPID BI - Sisense Professional Services | Implementations | Custom Add-ons

kingsofdeleon
8 - Cloud Apps
8 - Cloud Apps

Thank you very much Daniel for the explanation, this ended up working for me. The error in the console.log shouldn't be an issue, but would be great if there was a less disruptive way with interacting with JTD/Jump items.

Appreciate the help!