You might also notice that the MDX filters only the leaf-level members of the Customers dimension. Although filtering all members in the dimension would seem appropriate, I couldn't get that kind of expression to work properly. The Microsoft representative I spoke to suggested that I filter only the leaf-level members because the end result would be the same: Only the intermediate members that lead to the remaining leaf-level members would be available.
After you type your MDX expression into the Custom Dimension Security window, click OK to save the security role. You might receive an error message from Analysis Manager that says it doesn't recognize the measure. Click OK and continuethe role will be saved correctly. In the Database Role Manager, click the ellipses button that's below the heading Cubes & Mining Models. You can then select which cube in the database to apply this security role to.
You can also enter security roles by right-clicking a cube and selecting Manage Roles, but sometimes the role isn't correctly updated at the database level if you do this. When you're working with custom security roles, I recommend that you change the roles in the Database Role Manager, then apply them to the appropriate cubes.
Implementing a security system such as the one I describe here can be frustrating because making small mistakes in a formula or in the configuration can cause non-intuitive or misleading error messages. Worse, you might get no error messagethe security just doesn't work as you expect. I highly recommend that you verify your MDX expressions by using the MDX sample program or another OLAP front-end tool before you apply them to a security role in Analysis Manager. You'll get more informative error messages, and you'll have the added benefit of being able to easily experiment with parts of the formula until you get it to work correctly.
In my eyes, security is a necessary evil. Security always adds administration complexity and frequently makes your application harder for end users to work with. The member-property and virtual-cube solutions I've offered can help you reduce that complexity without degrading ease of use. These schemes aren't without headaches, but they do let you work around the maintainability and scalability limitations of Analysis Services 2000.
End of Article
Prev. page
1
[2]
next page -->