Friday, February 24, 2012

cube content security - help request

Hi, I set up security for the cube, flagging the "Enable Read permissions" and writing the following text in the "Allow reading of cube content" textspace, in BIDS:

[measures].currentmember is [Measures].[Mea1]
OR
(
not [measures].currentmember is [Measures].[Mea1]
AND
(

[DIM Mesi].[DIM Mesi].CURRENTmember is [DIM Mesi].[DIM Mesi].&[01]

or
[DIM Mesi].[DIM Mesi].CURRENTmember is [DIM Mesi].[DIM Mesi].&[02]
)
)

So that a special role is enabled to see only the members 01 and 02 (of the [DIM Mesi]) for all the measures different from Mea1. It works.

But I'd like that also the aggregated cells of the dim [Dim Mesi] would be accessible to the users, in the same way as it happens if you enable security directly on a dimension from the Dimension Data Tab.

I tried in several ways, even directly inserting the [DIM Mesi].[DIM Mesi].[all] member in the script above, but nevertheless I see "N/A" on that member.

Does anyone has some suggestions?

Thank you very much.

You could try allowing access to cells whose co-ordinates "exist" with [DIM Mesi].[DIM Mesi].&[01] or [DIM Mesi].[DIM Mesi].&[02] (not sure what happened when you specified [DIM Mesi].[DIM Mesi].[all], since you didn't post the MDX expression):

[measures].currentmember is [Measures].[Mea1]
OR
Count(Existing {[DIM Mesi].[DIM Mesi].&[01], [DIM Mesi].[DIM Mesi].&[02]}) > 0

|||

Thank you very much for the suggestion. In fact your suggestion works for the Measure "Costi2" which has not any calculations applied through the cube script. But this doesn't work for the Measure "costi1" to whom I applied some calculations in the cube script. In this case, I keep on having the access only to the 01 and 02 members and not to the aggregated cells of their ancestors.

The calculations on the cube which involve "Costi1" measure are similar to these ones (they have a bit different logic but I paste these ones for semplicity, since the problem arises all the same). do you have any suggestions on why the aggregated cells cannot be viewed and how to solve this problem? The administrator sees all the right results (since he has access to all the cells). Thank you very much.

CALCULATE;

CREATE SET CURRENTCUBE.[GoodMembers]

AS {

iif(IsError(StrToMember("[DIM Mesi].[DIM Mesi].&[01]")), {}, [DIM Mesi].[DIM Mesi].&[01]),

iif(IsError(StrToMember("[DIM Mesi].[DIM Mesi].&[02]")), {}, [DIM Mesi].[DIM Mesi].&[02]),

iif(IsError(StrToMember("[DIM Mesi].[DIM Mesi].&[03]")), {}, [DIM Mesi].[DIM Mesi].&[03])

};

scope

(

{[Measures].[Costi1]}

,

{

[GoodMembers]

}

);

this= [DIM Mesi].[DIM Mesi].&[00]/3

;

freeze(this);

end scope;

scope

([Measures].[Costi1],

{

[DIM Mesi].[DIM Mesi].&[00]

}

);

this= 0;

end scope

|||

Well, no obvious explanation comes to mind - is [DIM Mesi] parent-child, and what is the position of [DIM Mesi].[DIM Mesi].&[00] in the hierarchy? Also, are you using SP2?

If you can find a way to reproduce this issue in Adventure Works, that would be helpful.

|||

I have a dimension [DIM Mesi] with four key members [00], [01], [02], [03], and a one-level attribute hierarchy [Dim Mesi]. So the only aggregated cell in this case is the [All] member. But I have the same problem even if there are more attributes and deeper hierarchies.

It is not a parent-child hierarchy.

I have Developer Edition with SP2.

Thank you very much.

Vania

No comments:

Post a Comment