Cognos Analytics

 View Only
  • 1.  Dynamic data level security in FM

    Posted Fri March 15, 2019 12:59 PM
    Hi All,

    I want implement data level security on independent 31 query subjects. I have two group like names Group1, Group2 , each and every group contains some users.

    Currently we have two clients as ABC(client key is 101) , XYZ(Client key is 201). So i have implemented data level security in FM based on client key(each and every subject contains client key) like Group1(QS.client_key='101') Group2(QS.client_key='201').

    1st Approach :

    But I have implemented data level security on each and Query Subject but currently I have 31 qs. but in future it will be more than 100 so its very difficult to apply data level security on each and every QS.

    2nd Approach :

    I have created parameter maps like Security Parameter Maps :

    Value                                       Key
    --------                                    ------
    User1(from Group1)            101
    User2(from Group2)            201

    So now i have created filters on QS instead of applying data level security as below

    Client_key in parameters_maps(account_personalinfo.username).

    Its working fine but each and every time i have to add each and every user in parameter_maps. I am facing maintenance issue(Current i have 2 users but in future clients will increase).


    How can i use groups concepts in parameter maps instead of users or How i can use CAMID concepts in parameter maps.

    Can any one helps me...

    Thanks in advance.


    Regards,
    Siva Bonu
    +919560388664


    ------------------------------
    Siva Bonu
    +919560388664
    ------------------------------

    #CognosAnalyticswithWatson


  • 2.  RE: Dynamic data level security in FM

    Posted Fri March 15, 2019 03:21 PM
    Hello Siva,

    For your business requirements, would it suffice to only secure the fact tables? or do you need to secure the dimension tables as well? Because if you only secured the facts and created a report for Revenue and Product Line, it would only bring back those records for Products that the user has access to. If you also secured the dimension table you would have a redundant filter, but again, I'm not sure on the business requirements.

    ------------------------------
    DENNY NAREZNY
    ------------------------------



  • 3.  RE: Dynamic data level security in FM

    Posted Fri March 15, 2019 03:30 PM
    Edited by System Fri January 20, 2023 04:40 PM

    Not sure if this will meet your business requirements, but you could create a stand-alone filter like below and apply the filter to each query subject. It will be less maintenance for you down the line if you use a stand-alone filter.

    Filter expression:

    (#sq(CSVIdentityNameList())# contains 'Group1' and [ClientID] = '102')
    or
    (#sq(CSVIdentityNameList())# contains 'Group2' and [ClientID] = '202')



    ------------------------------
    DENNY NAREZNY
    ------------------------------



  • 4.  RE: Dynamic data level security in FM

    Posted Sun March 17, 2019 10:59 AM
    Hi Denny,

    Thank you so much for your response. I have achieved it. Its working fine now.

    I have created new table(Client_Key,Client_Name,Group_Name) in DB then imported into FM. I have joined this newly imported table with View(QS) based on client_key. Then I have created embed filter on QS as below

    #sq(CSVIdentityNameList())# contains [Database Layer].[GROUP_NAMES].[GROUP_NAME]






  • 5.  RE: Dynamic data level security in FM

    Posted Mon March 18, 2019 12:11 PM
    Thank you for sharing your details. Good idea to create the table in the DB!

    ------------------------------
    DENNY NAREZNY
    ------------------------------