Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
gatapia
Frequent Visitor

How to access context information inside a custom visual

I am building a custom visual that needs to know information about the report it is hosted in and its state. For instance I need the following:

- Username of the current user running the report

- The current filters selected in the report

- The state of any other interactions that may cause the data in the current report to change

 

For instance, say I want to display the following message in a report (using a custom visual):

"Hi <username>, you have selected <filter 1> org unit and filtered by dates <date filter value>".  

This is ofcourse a dummy example showing the information I need.

 

Is this possible?

 

Thanks Guido

6 REPLIES 6
Brian_M
Responsive Resident
Responsive Resident

I don't know anything specifically about Custom Visuals in this context, however, the way this is normally done with standard visuals is to turn off the standard title and to display a measure whose value is dynamic text within a single item card placed above the report.  You use a series of IF and HASONEVALUE statements in the measure definition to control the text output depending on the slicer filtering or cross-filtering that has been applied by the user.

 

As I understand it, custom visuals deliver cross filtering the same as standard visualisations.

 

If it absolutely has to be integrated from within your custom visualisation, is there anyway to include such a text measure in what is passed to the visualisation?

 

Hope that helps

Brian_M
Responsive Resident
Responsive Resident

Will Thompson shows how at about 28 minutes in this presentation from Data Insights

https://www.youtube.com/watch?v=d2bZpNZ6uIA

@itayrom it appears that the powerbi.session.userInfo may not work: https://github.com/Microsoft/PowerBI-visuals/issues/412  I'll try this out later today.  Thanks for the tip.

 

Thanks @Brian_M for those resources unfortunatelly it appears that custom visuals do not have access to DAX environment so I cannot use the HASONEVALUE solution.  

 

The visual I am writing actually uses this information (user, filters) to save data against an external DB.  We then retreive that information when the user has the same filter values.  So its not as simple as just a text field (sorry I was just using that as an example).

Oh, I see it is yet another feature blocked by the custom visual sanboxing. At the moment, there are two known official(And not very satisfying) ways to overcome this issue:

1. Using the temporary "unsandboxing" flag(adding "?sandboxVisualsEnabled=false" to pbi-service url).

2. Uploading the visual to the custom visuals gallery(because all visuals in the gallery have their code reviewed by Microsoft).

 

As noted by Bashir from the PowerBI Platform Team in the following post:

http://community.powerbi.com/t5/Developer/Custom-Visuals-Sandbox-is-coming-Here-s-what-you-need-to-k...

 

itayrom
Resolver II
Resolver II

Regerding the first matter, the info you are asking for is accesible via the userInfo object in the powerbi.session module(powerbi.session.userInfo). It has properties that provide you with the current user's username, given name, surname, etc...

 

As for the other two, I'm yet to find a way to get that information. I don't think there's an interface for it, though I wouldn't mind being corrected.

Hello @itayrom,

How do I access the powerbi.session.userInfo from my visual.ts? And do you know if it's reliable to use?

 

In my organization, we want different filters applied based on the current user viewing the report, and therefore I also need the email.

 

Thanks, 

Regards

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.