Building an advanced security model

Sometimes we can get very sophisticated requirements about security and it will be impossible to create security using the default MicroStrategy security functionality. In this case, we can use MicroStrategy Object [User Login] - System Prompt. It returns a user login during the SQL generation of report. It gives us capabilities to hardcode security and build additional filters for the report. For example, this definition will filter country for the specific users:

ApplySimple("Case when #0 IN ('lsmith','bcassidy','nzhou','mdiploma') Then 'Canada' Else '%' End",? [User Login]) 
OR  
ApplySimple("Case when #0 IN ('lsmith','bcassidy','nzhou','mdiploma') Then 'Australia' Else '%' End",? [User Login]) 

Another way ...

Get Mastering Business Intelligence with MicroStrategy now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.