Answered Dynamic Masking Of Values

  • Wednesday, January 09, 2013 12:52 PM
     
     

    I have a requirement to provide a drillthrough action. Two dimensional attributes included in the action need to be masked if the user logged in does not have permission to view that rows information.

    Am really struggling to find a method to do this.

    Has anyone else out there had this requirement and can offer some advice

    Thanks for any and all help

    Paul

All Replies

  • Thursday, January 10, 2013 12:45 AM
    Moderator
     
     

    I have a requirement to provide a drillthrough action. Two dimensional attributes included in the action need to be masked if the user logged in does not have permission to view that rows information.

    Users can only drill through on information which they have permission to see in the cube. If they can see the values in the cube, those rows will not be available in the drillthrough. So if a user is restricted to only seeing the Bikes product category, when they drillthrough they will only see rows relating to Bikes.

    http://darren.gosbell.com - please mark correct answers

  • Thursday, January 10, 2013 9:34 AM
     
     

    Thanks for the feedback Darren. This is how I believed it worked. However, not quite how my client wants it to work from a drill through perspective

    The scenario is similar to below

    Sales Cube

    Drill through containing Regions, Companys and Company Primary Contact (Primary contact is a drillthrough field only and is not a analytical dimensional field)

    Salesperson A can see all sales and analyse all sales data for all companys. He has a personal client list

    Having completed some analysis on sales he wishes to drill down to see all salespeoples sales and company listings. As the primary contact detail is confidential to all but the assigned salesperson this field is masked for companys which he is not associated with. Clients associated with him will be in clear text

    Salesperson B has a similar scenario but with an alternative set of Primary Contacts

    Its therefore a masking/Anonymisation process rather than a pure security issue

  • Friday, January 11, 2013 2:36 AM
    Moderator
     
     Answered

    Hmm, so what we need is some way of running an expression that will mask the data based on the current user and some attribute in the customer dimension. Unfortunately the drillthrough statement really only allows you to return the raw data that was loaded into the cube, there is no capability to use expressions or calculate measures.

    The only workaround I can think of would be to create a .Net stored proceduce similar to the ExecuteDrillthroughAndFixColumns procedure in the AS Stored Procedure sample project at http://asstoredprocedures.codeplex.com. This procedure wraps the result from a drillthrough command and alters the column names in the resulting DataTable before returning it to the user, but in your case you might be able to create a similar function that adds some logic to update the contact name field to mask the data.


    http://darren.gosbell.com - please mark correct answers