Oracle Analytics Cloud and Server

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

Hiding information at the individual level

Received Response
11
Views
11
Comments
2804071
2804071 Rank 3 - Community Apprentice

We have a model that shows HR and payroll data. Low authorized users are allowed to view salary information only in summary level  and they should not expect  to  view salary information  at  level of employ ID

What we have done so far is to address the problem in a report by conditional formatting so that when there is  filter/dimension specific that cause only one record to be shown (The user can assume the specific employee salary), I present asterisk  instead of the sum of salary.

It works great but requires me to treat every report individually, which can cause to information accidentally  be display

I'm looking for a way to implement this model in RPD.

anyone have an idea ?

Thanks in advance

Yochai

«1

Answers

  • cesar.advincula.o
    cesar.advincula.o Rank 6 - Analytics Lead

    Yochai,

    Please as a workaround, and as a good practice, you could have the employee hierarchy dimension , so your dimension could have at lest 2 levels:

    -One level wich have the total level(summary informatio that you mentioned).

    -Second level employee detail level

    After it in the presentation layer you could setting the permissions, that you want.

    1. To do it, go to presentation layer, do double click presentation column "Total" give the permissions ("read" or "read/write" privilege) to your application role.

    2. Second the "employee column" set up with "no acess" privilege for the application role.

    Kind Regards,

    César Advincula

  • Thomas Dodds
    Thomas Dodds Rank 8 - Analytics Strategist
  • 2804071
    2804071 Rank 3 - Community Apprentice

    Thanks for your response

    Apparently I was not clear enough.

    I'll give an example:

    the basic data:

        

    Emp_IDDepJobsalery
    123HomeManger5000
    654Homecashier3100
    234Homecashier3000
    345ElctricManger5500
    456ElctricManger5400
    678Elctriccashier3500
    321Elctriccashier4000

    the report

    sum salery

    Dep

    Job

    5000HomeManger
    6100Homecashier
    10900ElctricManger
    7500Elctriccashier

    Everyone knows that the there is only one Manager in Home Department.

    So this cell () information indicates a single employee, so I want to hide the data of that cell with asterisk.

    i want to implement that in the RPD.

    Thanks

    Yochai

  • cesar.advincula.o
    cesar.advincula.o Rank 6 - Analytics Lead

    Hello yochai, your implementation is in a data level so you have to create a "session initizalition block" and create a query to get if that user is manager or not, second in your "logical table source" which implement your dimensión of employee, there is a section to "where filter" you have to set up this, to restrict the data access. Check it out a sample.

    Essbase2.pngck

  • 2804071
    2804071 Rank 3 - Community Apprentice

    Thanks for your response

    In your answer you describe setting permissions on different levels on the employee dimension.

    As you can see in the example I gave, the dimension of employee does not share in the query.

    Only Job and Department dimensions are active in the query

    Thanks

    Yochai

  • cesar.advincula.o
    cesar.advincula.o Rank 6 - Analytics Lead

    Hello, let me think in your model? Do you have three dimension? Job, departament and employee dimensions??? And One fact table, and in your report only do you use job and department dimensión and obviously with the métric of salary of your facts table and in this report you dont want to show the CELL of the salary?? Only the CELL?? If this your case initizialition block is not necesary, because maybe you have to implement something like a CASE WHEN job != 'Manager' THEN salary ELSE 0 END,  if your requirement its about a CELL and if to show a row you have to make a initialization block to dont show this ROW.

    Kind Regards,

  • 2804071
    2804071 Rank 3 - Community Apprentice

    Thank you for the effort !

    I will try to explain in detail

    It does not matter what the JOB or the DEP of the employee.

    It is critical that the combination of the dimensions, return only one record, then I know who earns that salary.

    For example I have a organization that has one doctor and 10 secretaries.

    If I run a report that summarizes the salary by job, In row of the "doctor" would be the only doctor's salary.

    At the row of secretary will be a sum of all the 10  secretary's salary.

    From the report I can not know what the salary of a secretary is. the amount is for everyone

    But I do know exactly what the doctor's salary is as the amount of a doctor row represents only one doctor.

    I do not want to disclose information from which an individual can know an employee's salary.

    In other words, my report is the show total salary by job, except in the case where only one employee has that job. I do not  anyone to be able to know that employees salary.

  • cesar.advincula.o
    cesar.advincula.o Rank 6 - Analytics Lead

    Ok right now it more clear you should to hide the CELL if there is a only One, you have to use a conditional format for your salary metric, CASE WHEN and the code is something like this, case WHEN count(1 by employee, department, job) > 1 THEN salary ELSE 0 END.

  • 2804071
    2804071 Rank 3 - Community Apprentice

    Exactly!

    The proposed solution has been implemented and worked correct in the report.

    The question is, is there a way to implement it in RPD

  • cesar.advincula.o
    cesar.advincula.o Rank 6 - Analytics Lead

    Hello,

    I replicate your model, check it out.

    You said that you dont have to show the information of a cell (salary), if there is a only one person by the combination of employee_id, department_id and job_id.

    StarSchema.png

    fct_Salary.png

    criteria.png

    LTS.png

    ReportStructure.png

    Kind Regards,