How to get Usergroup within TI

Post Reply
appleglaze28
Regular Participant
Posts: 269
Joined: Tue Apr 21, 2009 3:43 am
OLAP Product: Cognos TM1, Planning
Version: 9.1 SP3 9.4 MR1 FP1 9.5
Excel Version: 2003

How to get Usergroup within TI

Post by appleglaze28 »

I was wondering how can you like extract list of user groups within TI to be used with another TI...okay I think that wasy confusing.

For example, I have elements I want to change the security to read, rather than manual doing it...or creating multiple TI for each user group. I'm like looking up at a table in MS SQL and when in a specific table a specific document number has a corresponding payment document number, i want all cubes that has the document number to be locked or read only. So far I can just do it per user group. To make it easier and not to forget to lock the same elements for the user group. I was thinking if it were possible to get the list of user group and apply the same rule. So only the admin can be able to edit or change items for those read only elements.
kpk
MVP
Posts: 214
Joined: Tue Nov 11, 2008 11:57 pm
OLAP Product: TM1, CX
Version: TM1 7x 8x 9x 10x CX 9.5 10.1
Excel Version: XP 2003 2007 2010
Location: Hungary

Re: How to get Usergroup within TI

Post by kpk »

Hi,

The User / Group information is stored in a cube: }ClientGroups
You can export the data from the cube into SQL and you can update it form SQL.

The Group / Cube security information is stored in a cube: }CubeSecurity
You can export the data from the cube into SQL and you can update it form SQL.

You can see the control "}" objects if you turn the View Control Object in the Perspectives View menu.
Note: do not forget to run the SecurityRefresh function at the end of your processes.

Regards,

Peter
Best Regards,
Peter
User avatar
bihints.com
Posts: 52
Joined: Tue May 20, 2008 8:56 am
OLAP Product: TM1
Version: 9.0.3
Excel Version: 2003
Contact:

Re: How to get Usergroup within TI

Post by bihints.com »

Either
. create a view from the cube }ClientGroups and import it in TI
or
.loop through all elements of the }Groups dimension for a given user:

Code: Select all

user = 'john.doe';
i = DIMSIZ('}Groups');
while(i > 1);
  group = DIMNM('}Groups', i);
  if(CellGetS('}ClientGroups',user,group) @= group);
        #insert code here to do something with that user group
  endif;
  i = i - 1;
end;
appleglaze28
Regular Participant
Posts: 269
Joined: Tue Apr 21, 2009 3:43 am
OLAP Product: Cognos TM1, Planning
Version: 9.1 SP3 9.4 MR1 FP1 9.5
Excel Version: 2003

Re: How to get Usergroup within TI

Post by appleglaze28 »

Data

Code: Select all

i = DIMSIZ('}Groups');
while(i > 1);
  group = DIMNM('}Groups', i);
  if(CellGetS('}Groups',group) @= group);
              CellPutS(so_stat,'}ElementSecurity_base_worksheet_so_number',so_number,group);
  endif;
  i = i - 1;
end;

Is this right?, I'm not sure if I wrote it right cause all I need is to make sure that restriction are made for all groups when it comes to their access to dimension elements. Is it necessary to include the {ClientGroup cube? Since if use {ClientGroup, I need to indicate a user, but this a scheduled run that covers the same process for all usergroups.

Thanks in advance for the help
Wim Gielis
MVP
Posts: 3118
Joined: Mon Dec 29, 2008 6:26 pm
OLAP Product: TM1, Jedox
Version: PAL 2.0.9.18
Excel Version: Microsoft 365
Location: Brussels, Belgium
Contact:

Re: How to get Usergroup within TI

Post by Wim Gielis »

Hello

If I understand you correctly, you could just have the All subset on the }Groups subset, as your data source.

In the Metadata & Data tabs, do whatever you need to do. But you do not need to loop in these tabs over another dimension.

Wim
Best regards,

Wim Gielis

IBM Champion 2024
Excel Most Valuable Professional, 2011-2014
https://www.wimgielis.com ==> 121 TM1 articles and a lot of custom code
Newest blog article: Deleting elements quickly
appleglaze28
Regular Participant
Posts: 269
Joined: Tue Apr 21, 2009 3:43 am
OLAP Product: Cognos TM1, Planning
Version: 9.1 SP3 9.4 MR1 FP1 9.5
Excel Version: 2003

Re: How to get Usergroup within TI

Post by appleglaze28 »

Exactly since that specific security setting would be applied to all, I just can't seem to make it work, cause like I have ODBC point to a table to get a specific table a column, and have those elements be matched in a dimension and if that element is found in SQL and is also available in TM1 then he should change the security for the dimension be changed from WRITE to READ. Rather than manually tagging all those available elements as READ or mark all READ and re-tag unavailable elements in SQL against TM1 as WRITE.
Post Reply