xViz
ProductPricingCommunity
  • Welcome to xViz Docs!
  • Project Management
    • Project Management - xViz Gantt Chart | Introduction
    • Hierarchy and Additional Columns
    • 🔸Milestones
      • Milestone Formatting
    • Planned Bars
      • Planned Bars Formatting
    • Connectors
      • Primary & Secondary Connectors
      • Multiple Connectors
      • Connectors Formatting
    • Progress
      • Tracking the progress
      • Progress Bar Display
      • Progress Base
      • Bar Formatting
    • Timeline Configurations
      • Timeline Start/End
      • Timeline Range
      • Header Levels
      • Zoom Levels
      • Zoom Options
      • Fiscal Year Support
      • Timeline Format
      • Language Support for Timeline
    • ✨Alerting Techniques
      • Steps to enable Conditional Formatting
      • Conditional Formatting
    • Reference Lines and Reference Range
      • Introduction
      • Static Approach
      • Data Driven Approach
    • Resource Gantt
    • ➡️Other Features
      • Data Colors
        • Row Background Color
        • Bar Border Color
        • Bar Selection Color
        • Bar Fill Color
        • Connectors
      • Duration Data field
      • Display Duration
      • Display Totals
      • Hide Blanks
      • Date Formats
      • DaysOff
        • Weekday
        • Custom Date
      • Setting Up Drill-through
      • Configure External URLs
      • Splitter Position
      • Text Customization
      • Row Numbering
      • Indentation
      • Sorting
    • Parent Level Calculations
      • Aggregation Types
    • Tooltip
    • Release Notes
    • ❓FAQs
  • Performance Management
    • Performance Flow - Introduction
      • Installing from AppSource
      • Get Started
    • Use Cases
      • Organization Performance
      • Microsoft Tenant Data Analytics
        • Organization Chart using Microsoft Graph API
      • Process Flow
      • Sales Performance Analysis
      • Cost Center Analysis
      • KPI Tree
      • Warehouse Management
      • Supply Chain Network
    • Configuring the chart structure
      • Hierarchy structure
      • Grouping / Swim Lanes
        • Data Structure for Columnar Group View
        • Data Structure for Wide Group Views
      • Invisible Group
    • 🪪Display Data in the Cards
      • Title, Subtitle
      • 👨‍💼Images
        • Converting HTTPs link images/icons to Base 64 in Power BI
        • Handling long Base 64 URLs in Power BI
      • 🔢Displaying KPIs
        • Number Formatting
      • 🔻Displaying Variance
      • Sparkline Trends
      • 🔗Hyperlinks
    • Card Formatting
      • Data-Driven Color
      • Templates
      • Customize Template
        • Insert additional data
        • Alignment
        • Wrap Text
        • Styling
        • Margin & Split
        • Modify (Delete / Cope-Paste)
        • Import/Export
    • Links
    • 🗒️Notes & Annotation
    • 🚦Conditional Formatting
    • Layout & Orientation
    • ✨Search
    • ✨Viewing Subtrees
      • Cross Filtering with Subtrees
    • 🔐✨User Context - RLS Experience
    • ✨Filter Context
    • 🎨Formatting Features
      • Formatting Font & Colors
      • Connectors
      • Expand Collapse Button
      • Dimensions
    • Toolbar Ribbon Configuration
    • Simulation
    • ❓FAQs
      • Circular Dependency message
    • Tips & Tricks
      • Bookmark
      • Report Page Tooltip
      • Field Parameters
      • Drill Through
    • Release Notes
Powered by GitBook
On this page

Was this helpful?

  1. Performance Management

✨User Context - RLS Experience

To restrict the nodes visibility as per the user accessing the report

PreviousCross Filtering with SubtreesNext✨Filter Context

Last updated 2 months ago

Was this helpful?

This concept involves communicating to the visual which node you want to automatically set as the top root node (reference: ✨Viewing Subtrees) based on the logged-in user's context. It is like providing the filtering criteria to find that node. It involves:

  1. A column on which you would like to filter - to be mapped in the "Filter Column" (E.g.: Email)

  2. A DAX measure with the value to apply the filter - to be mapped in the "Logged-in User Detail" - this measure must be configured as per the use case. It should return the corresponding value of the logged-in user record. (E.g.: Email ID of the logged-in user)

Example - Showing the subtree of the logged-in user

This means that the logged-in user must see only his/her node and their team (directly/indirectly) reporting to them:

  1. Create a measure, using the USERPRINCIPALNAME to identify the email ID of the logged-in user:

In the visual:

  1. Add the measure (created in step #1) in the Fields section:

  2. Go to “Map Fields” and map the data in the “User Context” section:

    1. Logged-in User Detail – Populate the DAX measure created in step #1

    2. Filter Column – The column in the data, on which the logged-in user detail value must be matched to identify the record of the Lead/Manager who has logged in.

For example – If Alex is a manager who is viewing the report with his email , then the DAX measure will return the value “alex@test.com”. Now, in the Organization data, the visual needs to identify the record of Alex, only then its team can be plotted in the visual. So, we provide the “Email” column in the “Filter Column” field.

  1. Open the “Display” section from the top pane – Click on Navigation – where we get the option of “User Context Behaviour” - Click on “Restricted Access”

With this implementation, the logged-in user will be able to see only their own record and their subtree.

The result will be best visible in the Read view of the report on Power BI online service

Instead of providing the logged-in user email ID and the Email ID column for lookup, any other attribute can also be used to provide context of the node to be set as teh root node. Another Example Use Case: The logged-in user must see their manager's entire team. This means that the logged-in user's Manager's node must be set as the root node by the visual. - Then get the logged-in user's Manager Name/Email in the DAX measure. - And provide the Employee Name/Email column for the "Filter column" to lookup the value. This way the visual will find the node where the Employee Name/Email (column) = DAX value (Logged-in user's Manager Name/Email) i.e. the manager node of the logged-in user and set it as the root node.

🔐
alex@test.com