Book Image

Expert Cube Development with Microsoft SQL Server 2008 Analysis Services

Book Image

Expert Cube Development with Microsoft SQL Server 2008 Analysis Services

Overview of this book

Microsoft's SQL Server Analysis Services 2008 is an OLAP server that allows users to analyze business data quickly and easily. However, designing cubes in Analysis Services can be a complex task: it's all too easy to make mistakes early on in development that lead to serious problems when the cube is in production. Learning the best practices for cube design before you start your project will help you avoid these problems and ensure that your project is a success. This book offers practical advice on how to go about designing and building fast, scalable, and maintainable cubes that will meet your users' requirements and help make your Business Intelligence project a success. This book gives readers insight into the best practices for designing and building Microsoft Analysis Services 2008 cubes. It also provides details about server architecture, performance tuning, security, and administration of an Analysis Services solution. In this book, you will learn how to design and implement Analysis Services cubes. Starting from designing a data mart for Analysis Services, through the creation of dimensions and measure groups, to putting the cube into production, we'll explore the whole of the development lifecycle. This book is an invaluable guide for anyone who is planning to use Microsoft Analysis Services 2008 in a Business Intelligence project.
Table of Contents (17 chapters)
Expert Cube Development with Microsoft SQL Server 2008 Analysis Services
Credits
About the Authors
About the Reviewers
Preface
Index

Dynamic cell security


We can implement dynamic security for cell security in much the same way as we have seen with dimension security. In this section we'll use the same bridge table we used in the previous sections to model the relationship between users and resellers they have access to; our requirements will be as follows:

  • Members of the role will have complete access to all measures, except for Gross Profit

  • For Gross Profit, users will only have access to values for it for resellers they have been granted access to based on the data in our bridge table

  • We also need to hide the All member of the Reseller dimension to ensure that users cannot derive values for cells they don't have access to.

We can use this expression to control Read access in the Cell Data tab:

NOT (
    Measures.CurrentMember IS Measures.[Gross Profit] 
    AND (
        StrToMember ("[Users].[User].[" + UserName() + "]"),
        Measures.[Bridge Reseller Users Count]) = 0
        OR 
        Reseller.Reseller.CurrentMember...