We are using TM1 as datasource in Cognos BI reports. We have an Operating Expense cube. One dimension in it is Cost Centers - which needs to be secured. Dimension is named as eList (Planning folks know what this means). Our hierarchy is huge, upto 14 levels deep, it is unbalanced, about 1500 CCs.
So if person A has access to CCs 1, 2, 3 and he/she runs the report, we want him/her to see only CC 1, 2 and 3 data. To achieve this we rt clicked on the dimension and defined Element Security assignments. This created a a cube }ElementSecurity_eList cube.
Security rights is defined in a sql server table. So I built a process to read from this table and load the forementioned cube. In architect, when I login as different users, I can verify that the data I see in the Opex cube, is restricted to what the user id is entitled to. So in BI world, when I run the report as user it shows the correct data. So far good.
The problem we are stuck with is that, users want a tree prompt to pick and choose the CCs before runnning the data. The reason they want tree prompt is because, it gives nice hierarchical view of the dimension. So I added a tree prompt. When I run the report as multiple users, I see blank in the tree prompt. Now for any of the user, if I give READ access to all the parent elements leading upto the root and then run the report ... I can see the tree prompt.
For a particular user, what is a good way to assign READ access to all parent nodes in the dimension, if user has leaf level has READ access? For ex see the screenshot, I'd like the user to have read access to RU2147, RU3382 and RU2126
The only way I could think of it is doing through a TI.
* Create a subset with all consolidations
* Loop through each user in the }Groups dimension (Loop #1)
* Loop through each consildation in the subset (Loop #2)
* Find the number of children for the consolidation and again start a loop (Loop #3)
* if any child has READ access, then put READ, quit loop #3. Start with next element in loop #2
1) Is there a better way to do this? I can write this in TI, but looks awfully tedious 3 loops ... somehow doesn't seem right

2) Can this be done through a rule? I am thinkig no, but I'd like to hear your thoughts
Giving READ access to the parent elements means that user can now see numbers that rollup to the parent. If this is the only way to make tree prompt appear in the report, I think users may be ok with this.
The bigger question I'd like to know answer for is ... If you implemented dimension security in TM1 cube, did you consume it as a source in BI? If so, how did you handle the security? What did you use as prompt in the report for selecting the items?
Thank you!