Forum Discussion

gatapia's avatar
gatapia
Frequent Visitor
10 years ago

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

  • 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.

    • zdralic's avatar
      zdralic
      Frequent Visitor

      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

  • Brian_M's avatar
    Brian_M
    Continued Contributor

    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

      • gatapia's avatar
        gatapia
        Frequent Visitor

        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).