Skip to main content

"System Prompt" and its uses in MicroStrategy

System Prompt and its uses in MicroStrategy


WHAT IS A "SYSTEM PROMPT"?
"System Prompt" is a system object that was introduced back in version 8.0.0. The object is named as "User Login" and is implemented as a prompt object. The object can be found under Public Objects > Prompts > System prompts, as shown below:

Unlike ordinary prompt objects, system prompts don't require any answers from the user. When a report containing a system prompt runs, the prompt is answered automatically with the login of the user who runs the report. On the other hand, like other prompt objects, answers to system prompts are used to match caches. Therefore, users don't share caches for reports that contain system prompts. For details on how caches are matched, refer to the following MicroStrategy Knowledge Base document:
  • KB5300-7X0-0147 - How are caches matched in MicroStrategy Intelligence Server 7.x?
WHEN ARE SYSTEM PROMPTS USED? 
 
System prompts provide users more flexibility in implementing the security mechanisms of MicroStrategy applications. The following three examples demonstrate how system prompts can be used:

  • The security filter definition process is more simple with system prompts

    A report displays employee information and each manager can only view the information of those employees which the manager supervises. In MicroStrategy 7.x.x, security filters are static; multiple security filters must be defined and assigned to each manager user accordingly. The security filters is defined as follows:

    Manager = "Jane Doe"
    ….
    Manager = "Tom White"

    In MicroStrategy 8.0.0, security filters can be defined in a more dynamic way. For the example described above, only one security filter is necessary and it is defined as:

    Manager = ?

    This security filter can be assigned to a Manager user group. When a user with login "Jane Doe" executes the report, the security filter will generate SQL for condition:

    Manager = 'Jane Doe'
     
  • Report level "security filter" can be implemented

    In MicroStrategy 10.x, security filter functionalities can be implemented at report level by defining report filters with a system prompt. For instance, the Manager = ? condition can be used to define a report filter and users can include that report filter in certain reports but not others. In this way, security is enforced at the report level, not the project level.
 
  • Database tables containing security information can be used

    To synchronize security constraints for all enterprise applications, some organizations maintain security information in database tables and build all enterprise applications based on security tables. With system prompts, it is possible to use database security tables to build MicroStrategy security mechanisms.
     
    Example:

    In the database warehouse, there is a table called SecurityRegion, with two columns, Region_ID and User_ID. SecurityRegion table defines from which region a user is allowed to view data. Using system prompts, users can use SecurityRegion table to create a report with a restriction on regions. MicroStrategy Tutorial project is used in the following example to illustrate this:
    1. Define an attribute qualification filter, Security_Filter_APPLY, as shown below:

      ApplyComparison ("#0 in (select Region_ID from SecurityRegion where User = #1)", Region@ID, ?)
      1. Create a report with the Region attribute on the template and Security_Filter_APPLY as the report filter.
      2. Login as 'Administrator' user. View SQL and notice that only the regions the administrator are allowed to view are returned:
        select a11.Region_ID Region_ID, a11.REGION_NAME REGION_NAME
        from LU_REGION a11
        where a11.Region_ID in
            (select Region_ID from SecurityRegion where User = 'Administrator')
        1. Login as 'Brian Kelt.' SQL for the same report changes to:
          select a11.Region_ID Region_ID, a11.REGION_NAME REGION_NAME
          from LU_REGION a11
          where a11.Region_ID in
              (select Region_ID from SecurityRegion where User = 'Brian Kelt')

      Comments

      Popular posts from this blog

      Microstrategy Custom number formatting symbols

      Custom number formatting symbols If none of the built-in number formats meet your needs, you can create your own custom format in the Number tab of the Format Cells dialog box. Select  Custom  as the Category and create the format using the number format symbols listed in the table below. Each custom format can have up to four optional sections, one each for: Positive numbers Negative numbers Zeros Text Each section is optional. Separate the sections by semicolons, as shown in the example below: #,###;(#,###);0;"Error: Entry must be numeric" For more examples, see  Custom number formatting examples . To jump to a section of the formatting symbol table, click one of the following: Numeric symbols Character/text symbols Date and time symbols Text color symbols Currency symbols Conditional symbols Numeric symbols For details on how numeric symbols apply to the Big Decimal data type, refer to the  Project Design Guide . ...

      Microstrategy Dossiers explained

      Microstrategy  Dossiers With the release of MicroStrategy 10.9, we’ve taken a leap forward in our dashboarding capabilities by simplifying the user experience, adding storytelling, and collaboration.MSTR has  evolved dashboards to the point that they are more than dashboards - they are  interactive, collaborative analytic stories . Ultimately, it was time to go beyond dashboards, both in concept and in name, and so  the've  renamed VI dashboards to  ‘ dossiers ’.  Dossiers can be created by using the new Desktop product or Workstation or simply from the Web interface which replaces Visual Insights. All the existing visual Insights dashboards will be converted to Dossiers   With MicroStrategy 10.9, there was an active focus on making it easier to build dashboards for the widest audience of end users. To achieve this, some key new capabilities were added that make it easier to author, read, interact and collaborate on dashboards ...

      mstrio – Python and R wrappers for the MicroStrategy

      mstrio – Python and R wrappers for the MicroStrategy REST APIs Connecting to MicroStrategy  Create a connection to the Intelligence Server using   Connection()   and    connect()  in Python and R, respectively. Required arguments for the   Connection()  function are the URL for the MicroStrategy REST API server, MicroStrategy Intelligence Server username and password, as well as the MicroStrategy project name. By default, the   connect()  function anticipates your MicroStrategy Intelligence Server username and password. LDAP authentication is also supported. Use the optional argument    login_mode=16    in the    connect()  function for LDAP authentication.  Extract data from cubes and reports  To extract data from MicroStrategy cubes and reports, use the   get_cube()  and   get_report()  functions. Use...

      MicroStrategy URL API Parameters

      MicroStrategy URL Structure The following table summarizes the root URL structure used for every request to MicroStrategy Web. Environment Main Application URL Administration URL J2EE http://webserver/MicroStrategy/servlet/mstrWeb http://webserver/MicroStrategy/servlet/mstrWebAdmin .NET http://webserver/MicroStrategy/asp/Main.aspx http://webserver/MicroStrategy/asp/Admin.aspx Every request sent to MicroStrategy Web calls a central controller. Parameters are appended to  Main.aspx  or  mstrWeb  (in a .NET and J2EE environment, respectively) to indicate to the controller how the request should be internally forwarded and handled. The following examples show a URL for accessing a MicroStrategy folder when the user does not have an existing session. The URL contains not only the parameters needed to connect to MicroStrategy Web, but also the parameters needed to log on and create a session. J2EE environment: <a href="http:...

      Using Scan MD Microstrategy

      ScanMD  WHAT IS SCAN MD? ScanMD is a troubleshooting application whose aim is to provide a  quick resolution  to  known  metadata logical inconsistencies.  Logical inconsistencies are errors within an object's definition structure. The word 'known" means that those erroneous structures have already been investigated and processed by MicroStrategy Technical Support and, as a result, a Test has been implemented in ScanMD.  It is  not  the intention that ScanMD be used as a proactive method for addressing metadata inconsistencies.  If you find yourself proactively running ScanMD and/or finding inconsistencies through ScanMD then please contact MicroStrategy Technical Support as this means that there is, most likely, a deeper problem to be investigated. Refer to the following technical note if ScanMD is going to be executed against a 10.3 and higher metadata: CONSIDERATIONS/GUIDELINES ScanMD is to be us...

      Email Subscription in Microstrategy

      Create Email Subscription in Microstrategy Creates an email subscription. Do not include any leading or trailing spaces in the ANSWER parameters. This causes a SQL error and prevents the command from executing. Ex: CREATE EMAILSUBSCRIPTION "New Multi Users" FOR OWNER "administrator" SCHEDULE "Books Closed" CONTACTGROUP "TEST"  CONTENT "Electronics Revenue by Region" IN FOLDER "\Public Objects\REPORTS\SUBJECT Areas\Sales and Profitability Analysis" IN PROJECT "MicroStrategy Tutorial" DELIVERYFORMAT HTML  EXPIRATIONDATE NEVER EXPRIED FILENAME "file_name"   SUBJECT  "Test REPORT" MESSAGE "Please Test"; CREATE EMAILSUBSCRIPTION [ subscription_name ] [FOR OWNER login_name ] SCHEDULE schedule_name  (ADDRESS address_name | USER user_name  | CONTACT contact_name [ADDRESS contact_ address_name ] | CONTACTGROUP contact_group_name ) CONTENT ( report_or_document_name IN FOLDER   loc...

      Export a Report Services document to Excel with formatting using URL API

      Export a Report Services document to Excel with formatting using URL API in MSTR Web In order to export a document in excel format using the URL API, the executionMode must be set to 4.  If excutionMode is not provided in the URL, by default PDF will be used as executionMode.   Below are the list of parameters that the URL must contain in order to execute correctly.   evt= 3069 src= Main.aspx.3069 executionMode= 4 documentID= 7E1644CA424F482DA811569FCE8127FF( Replace the document Id with your document ID)   Sample URL for .NET environment: http://WebServerName/MicroStrategy/asp/Main.aspx?evt=3069&src=Main.aspx. 3069 &executionMode= 4 &documentID= 7E1644CA424F482DA811569FCE8127FF    

      Microstrategy Document Autotext macros:

      Autotext  code/macros in  Microstrategy Document/dashboard This is a list of the available auto text macros that the Report Services Document engine recognizes. The following auto text codes allow you to add  document variable information to your document. These auto text codes are automatically replaced by information about the document. Auto text codes for MSTR document/dashboard:  AUTOTEXT DESCRIPTION   {&PAGE}  Display the current page.  {&NPAGES}  Display the total number of pages.  {&DATETIME}  Display the current date and time.  {&USER}  Display the user name that is executing the Report Services Document.  {&DOCUMENT}  Display the document name.  {&DOCUMENTID}  Display the document ID.  {&DESCRIPTION}  Display the document description.  {&PROJECT}  Display the project name.  {&EXECUTIONTIME}  Dis...

      Microstrategy Alerts setup

      Alerts Editor Alerts can be sent to an email address or to an iPhone, iPad, or Android device with MicroStrategy Mobile. This allows users to be notified of data that is likely to be important for making business decisions. You can also have formatting automatically applied to metric values in the report, to draw immediate attention to the data that meets the alert's threshold conditions. For example, when the Inventory Count data in a report falls below 1,000 units, you can have the report sent to you, with the values below 1,000 displayed in red text. You can specify a subject and message to display for the alert, as well as a report or document to be displayed when viewing the alert, as described below. You can receive and view alerts on a mobile device even if the MicroStrategy Mobile application is not running. Prerequisites    You must have the MicroStrategy Distribution Services product installed and MicroStrategy Web must be configured to use Distribu...

      Fact tables levels tables in Microstrategy explained

      Fact tables levels in Microstrategy: Fact tables are used to store fact data. Fact tables should contain attribute Id's and fact values which are measurable. All the descriptive information about the fact tables should stored in Dimension tables either in Star Schema fashion or Snow Flake Schema fashion which is best suited to your reporting solution. Since attributes provide context for fact values, both fact columns and attribute ID columns are included in fact tables. Facts help to link indirectly related attributes using these attribute ID columns. The attribute ID columns included in a fact table represent the level at which the facts in that table are stored. So the level of a fact table in the Fact_Item_Day_Customer can be the attribute Id's which is at Day, Item & Customer Id level. For example, fact tables containing sales and inventory data look like the tables shown in the following diagram: Base fact columns ver...