AdministrationforEnterpriseAnalytics 11.3.5
AdministrationforEnterpriseAnalytics 11.3.5
AdministrationforEnterpriseAnalytics 11.3.5
1. Introduction to
Administering
MicroStrategy
Administering the Intelligent Enterprise........................................................... 8
MicroStrategy Intelligence platform ................................................................... 9
Connecting to your organization’s data: Data sources ......................10
Mapping reporting objects to data sources: The metadata
database ..............................................................................................................12
Core of the platform: Intelligence Server ................................................13
MicroStrategy products and tools..............................................................14
Responsibilities of a MicroStrategy administrator ...............................15
Exercise 1.1: Access the cloud environment ..................................................17
2. Managing
Environments,
Projects, and Objects
Accessing Intelligence Server and its projects: Workstation
environments ............................................................................................................20
Exercise 2.1: Connect to an environment........................................................21
Managing connected environments.........................................................24
Exercise 2.2: Manage an environment......................................................26
Creating, viewing, and changing projects ......................................................28
Exercise 2.3: Determine projects to load and disable caching ........30
Managing reporting objects ................................................................................33
Sharing administrative data: Dossiers ......................................................33
Data governance: Certifying reporting objects.....................................35
Exercise 2.4: Certify a dossier .......................................................................37
3. Securing User
Privileges and Data
Access
Implementing security in your BI platform.....................................................52
MicroStrategy’s security model...................................................................54
Users and groups in MicroStrategy ...................................................................55
Users......................................................................................................................55
Exercise 3.1: Create a user .............................................................................56
Groups of users .................................................................................................57
Exercise 3.2: Create a group .........................................................................58
Privileges limited to a project: Security roles .........................................62
Exercise 3.3: Create a security role and assign it to a group .............67
Managing access to MicroStrategy objects: Permissions..........................69
An object’s permissions and who has them: Access Control List
(ACL)......................................................................................................................72
Exercise 3.4: Specify a folder’s object permissions for a group .......74
Conflicting permissions .................................................................................75
Permissions and how they can impact report execution ..................75
Permissions and privileges in action together ..............................................76
Implementing row-level data security .............................................................77
Controlling access to data at the database level ..................................77
Controlling access to data with connection mapping .......................79
Controlling access to data with security filters......................................81
Exercise 3.5: Use a project security filter to control data access .....86
Exercise 3.6: Create and assign a security filter for an imported
dataset..................................................................................................................93
Summary of row-level data access security............................................96
Defining Library administration settings.................................................97
Exercise 3.7: Review Library administrative settings ...........................98
4. User Authentication
Security basics and authentication..................................................................100
Authentication modes .........................................................................................102
Exercise 4.1: Configure authentication modes....................................104
Password security and account lockout ................................................105
Exercise 4.2: Configure an account security policy ............................106
5. Connectivity in the
MicroStrategy
Architecture
Analytics architecture...........................................................................................110
Direct connection in a two-tier architecture ........................................111
Server connection in a three-tier architecture.....................................111
Web/Mobile plus server connection in a four-tier architecture ....112
Establishing connectivity ....................................................................................114
Exercise 5.1: Establish a three-tier architecture...........................................120
Exercise 5.2: Establish database connectivity ..............................................122
6. Monitoring and
Governing the
Analytics System
Managing system resources...............................................................................124
Monitoring system and project activity.........................................................125
Monitors in Developer..................................................................................125
Monitoring in Workstation..........................................................................126
Exercise 6.1: Monitor your system’s services ........................................128
Analyzing real-time data: Platform Analytics...............................................132
Analyzing user engagement with projects...........................................132
Exercise 6.2: Check dossier usage statistics ..........................................136
Using telemetry data to optimize platform performance and
utilization ..........................................................................................................137
Exercise 6.3: Viewing and refreshing the Platform Analytics
dossiers ..............................................................................................................140
Exercise 6.4: Investigating the load on your MicroStrategy
environments ..................................................................................................142
The Platform Analytics data flow..............................................................143
Refreshing Platform Analytics data..........................................................145
Exercise 6.5: Create an incremental refresh schedule.......................147
Placing limits on project use: Governors .......................................................148
Exercise 6.6: Set usage limits using governors ............................................152
7. Introduction to
Optimizing
Performance
Managing system performance........................................................................164
Report, document, and dossier caching........................................................165
Report caching ................................................................................................166
Document and dossier caching ................................................................168
Exercise 7.1: Telemetry for caching .................................................................171
In-memory sets of data: Intelligent Cubes ....................................................177
Types of cubes.................................................................................................179
Exercise 7.2: Use Data Import to create an MTDI Cube ....................181
Managing Intelligent Cubes.......................................................................185
When to use Intelligent Cubes ..................................................................186
Database optimizations: VLDB properties ....................................................189
Setting VLDB properties ..............................................................................190
Optimizing report query SQL.....................................................................190
Scheduling subscriptions for performance ..................................................192
Creating a schedule.......................................................................................193
Subscription types .........................................................................................194
Monitoring subscriptions ............................................................................194
Exercise 7.3: Monitoring and managing subscriptions ....................196
Alerting: Deliver reports when a condition is met .............................203
Exercise 7.4: Configure alert-based subscriptions......................................204
Scheduling administration tasks ..............................................................209
Exercise 7.5: Schedule cache deletion ....................................................210
Individual user settings to improve system performance.......................212
Delivering subscriptions to email, file, or printer .......................................213
Bulk exporting .................................................................................................214
Bursting element-based data ....................................................................215
9. Tracking Object
Changes
Track changes to objects: Change journaling..............................................242
Actions that are recorded in change journaling .................................243
Viewing the Change journal for an object ............................................246
Monitoring object changes across a project........................................246
Sending or archiving the change journal contents ...........................248
Purging selected change journal contents...........................................248
Exercise 9.1: Monitor transactions in a change journal ............................250
Exercise solutions ...........................................................................................254
10. Automating
Administrative Tasks
Perform bulk administrator tasks: Command Manager...........................256
Automating routine tasks using Command Manager scripts ................258
Script outlines..................................................................................................258
Creating and executing scripts .................................................................260
Saving and encrypting scripts ...................................................................261
Exercise 10.1: Create a group and users with Command Manager
scripts..................................................................................................................262
Goals:
• Become familiar with common tools and features that require setup and
maintenance, and that can benefit from performance adjustments based on
your organization’s usage patterns.
• Access and configure the MicroStrategy products and tools used in this class.
Getting there requires the right tools and structure to balance traditionally
counteractive forces: agility and governance, convenience and security, ease of
use and enterprise functionality, all critical capabilities that the MicroStrategy
platform is positioned to support with its unique intelligence architecture. A
successful Intelligent Enterprise:
• Maintains sound data governance and a single version of the truth, while
supporting personal, feature-rich data discovery. For administrators, this
means working closely with your Intelligence Director to ensure the right
employees have the right security and permissions to certify data, whether at
the departmental or enterprise level.
• Ensures that the analytics solution is aligned with enterprise strategy. For
administrators, this means meeting regularly with your report and dossier
designer representatives to ensure the system is supporting reports and
dossiers the enterprise needs.
• The clients through which users request and receive reports, from business
analysts to developers and administrators.
The MicroStrategy Intelligence platform can be broken down into the following
areas. You might use these areas as a conceptual way to group your
administrative processes usefully:
• Security
• Projects
• Data
• Schema
• Application services
• Platform services
• Relational databases
• Columnar databases
• MapReduce databases
The breadth of supported source systems ensures no data is left behind. Is your
enterprise financial data in a multidimensional cube, your human resources data
in a relational database, your sales data in the cloud, and contextual data pulled
from public datasets? MicroStrategy can blend data from multiple resources to
greatly expand your analytical possibilities. A single visualization (an interactive
visual representation of calculated values) can show data from all of these sources
at once.
MicroStrategy projects use the metadata to translate user requests into queries
and to translate the results of those queries back into MicroStrategy objects, such
as reports and documents.
The data abstraction objects can be reused across any number of projects,
reports, documents, and dossiers, enabling BI developers to rapidly create new
projects. Each successive layer in the metadata builds on the underlying layers,
creating a trusted, intelligent, and scalable index of your enterprise data assets
that is called the semantic graph.
Intelligence Server also houses the MicroStrategy Engine which consists of three
primary components, each with its own unique functionality:
• Query Engine—Submits SQL to the data warehouse and retrieves result sets
You can install Intelligence Server on any machine that meets the system
hardware and software requirements.
Alternatively, you can also deploy the MicroStrategy platform in the cloud using
either the fully-managed or the self-service MicroStrategy Cloud solution. Refer to
the Administration for MicroStrategy Cloud course for additional details.
• Optimizing performance
• Managing security
In this exercise, you access the Windows machine in your cloud environment. The
login credentials and other information you need for accessing your environment
are included in the MicroStrategy Cloud email.
2 In the User name and Password boxes, type (or copy and paste) the login
credentials provided in the MicroStrategy Cloud email. Click Login. The
landing page displays in the default browser window of your local computer.
You may be prompted to enter the credentials a second time.
3 On the landing page, hover over Remote Desktop Gateway and click
Launch. The Remote Desktop Connection window is displayed.
4 In the Remote Desktop Connection window, in the User name and Password
boxes, type the user name and password listed in the MicroStrategy Cloud
email, then click Login.
Goals:
• Learn about using .mstrc files and determine which projects load on
connection
• Use MicroStrategy dossiers and Library for administration work analysis and
collaboration
© 2022 MicroStrategy, Inc. Accessing Intelligence Server and its projects: Workstation environments 20
2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics
and much more in Workstation. The unified experience enables you to generate
insights offline or connect to multiple environments to leverage data in
distributed systems and perform administrative tasks and data authoring from a
single location.
For example, if another administrator is installing Workstation for the first time,
and they need to connect to multiple environments, accessing an .mstrc file for
each environment is a speedy way to get up and running without typing a lot of
environment URLs. If your organization’s metric designer needs to create metrics
for a specific environment, they can access that environment quickly and
accurately using an .mstrc file. In this exercise, you connect using the environment
URL. In a later exercise, you connect using an .mstrc file.
2 In the Workstation window, click the plus sign + above Add New
Environment Connection.
https://env-XXXXXX.customer.cloud.microstrategy.com/
MicroStrategyLibrary/
Authentication Mode: Select Standard and click Continue.
5 You are prompted to select the projects you want to load in this environment.
In the Select Projects window, select the MicroStrategy Tutorial project and
click OK.
Workstation makes it easy for you to manage these settings across different
environments. You can export settings and other environment information to a
.csv file, and you can also import settings from a .csv file. Exporting environment
settings can, for example, help you ensure a smooth upgrade by exporting
settings from the original environment and then importing them into the
upgraded version. If you want to apply the same environment settings to multiple
environments, you can export the settings that you want to replicate, and then
import the .csv file to other environments.
You decide that the hardware infrastructure where your Intelligence Server is
installed has a limited amount of memory and you want to preserve memory.
To do this, modify the governing settings to limit the number of simultaneous
jobs and simultaneous user sessions.
9 In the Maximum Number of User Sessions box, type 180. Then click OK. You
may need to move the window to see the OK button.
Best Download the current settings to track them over time and compare them to
Practice settings in your other environments. This can also help you, for example,
ensure a smooth upgrade by exporting settings for an environment and then
importing them into the upgraded version.
11 On the left, click All Settings. The Intelligence Server settings are displayed.
c Click Save.
16 At the bottom of the Properties window, click Generate Connection File and
save the file on your computer’s desktop as AdminEA_Workstation.
You can also download an environment’s .mstrc file directly from the
Cloud landing page. To do this, hover over MicroStrategy
Workstation, and click Configure to download the .mstrc file to your
local computer.
When you initially connect to an environment, you can select a list of projects to
load onto that environment. You can save the list to reload the same projects each
time you connect to that environment, and modify the list at any time.
You can also create new projects once you are connected to an environment. New
projects created in Workstation can be accessed via Workstation, Web, Mobile,
In this exercise, first learn how to connect to an environment using an .mstrc file.
Then modify the environment’s project load list to load both the MicroStrategy
Tutorial and Human Resources Analysis Module projects. As an additional
administrative task, disable caching for prompted reports in the MicroStrategy
Tutorial project.
Caching report results is a powerful option to improve query response times. The
system caches a report, document, or dossier when it retains the results in
memory. If the same report, document, or dossier is executed again in the near
future, the system can simply provide the cached results, rather than executing
the report against the data source repeatedly. You dive deeper into caching later
in this course. For now, simply define a caching setting, to become familiar with
another important administrator responsibility.
3 Drag and drop the .mstrc file from your desktop to the Drag and Drop area in
the Add New Environment Connection window.
• If drag and drop is not convenient, you can also navigate to an .mstrc file
by clicking Select a File in the Drag and Drop area and navigating to the
.mstrc file you want to connect to.
4 Click Continue.
5 In the Connect to Environment window, type the login credentials from the
MicroStrategy Cloud email, click Remember Me, and click Connect.
8 In the Select Projects window, click the Human Resources Analysis Module,
click Remember Selected Projects, and click OK. Your environment is now
connected to two projects.
By default, the projects display in Icon view. Change the view to display in List
view and sort projects by Name in Descending order.
9 In Workstation, in the left pane, click Projects. The MicroStrategy Tutorial and
Human Resources Analysis Module projects are displayed in Icon view.
11 In the Sort By drop-down list, select Name and Descending. List view can be
helpful when the number of your projects grows over time.
13 From the View menu, point to Arrange By, then select Project. The dossiers
displayed are grouped according to project.
You can use the arrow next to the project name to expand or collapse a
project’s objects. Use this technique for dossiers, documents, and any other
objects you need to manage in your projects.
You notice that your project contains a lot of heavily prompted reports. Users
tend to select new prompt answers each time they execute. Because the
reports in this project are unlikely to be repeatedly executed with the same
prompt answers, you decide to disable caching for prompted reports.
18 Click the Enable caching for prompted reports and documents switch to
disable it.
19 Click OK.
You can share dossiers with your administrative team by downloading and
distributing a dossier file, by sharing a link to the dossier, or by distributing
dossiers to other users through MicroStrategy Library.
Sharing a Dossier
You can specify individual users or user groups who receive the dossiers, for
example, the group of administrators who helps make decisions about
administrative tasks based on usage data. To alert users, you can send an email
notification when the dossiers are published.
In addition to dossiers, you can also share and publish documents to Library,
where users can establish a collection of dossiers that they regularly analyze,
create and save filters and bookmarks, collaborate in discussions with other users,
and so on. To expand your dossier design skills, take the Dashboarding with
Dossiers and Visualizations class.
• Dossiers
• Documents
• Reports
• Datasets
• Intelligent Cubes
• HyperIntelligence Cards
Certify a dossier
2 In the right pane, right-click the Webcast Activity Overview dossier and
select Certify. You can use the Search box to locate the dossier if needed.
A badge icon shows on the item to indicate that it is certified. You can hover over
these certification badges to see when an object was certified and by whom.
• If your browser returns any warning messages, allow the dossier to display.
IfChrome.
your browser presents you with an error message, use Google
If you must use a different browser, use these steps to
respond to an error:
– If the MicroStrategy Library site does not load, add it to the list of
trusted sites in Internet Explorer. To do this:
a In the upper right corner of Internet Explorer, click Tools and select
Internet Options.
d Click Sites.
f Click Close.
g Click OK.
Instead of placing the onus on your organization's employees to halt their normal
activities to perform tangential analysis, you can set up MicroStrategy
HyperIntelligence to empower them by seamlessly delivering data on the web
pages, web apps, and mobile interfaces that they already use.
For example, a salesperson may receive an email from a customer she has never
met, asking for a product that the salesperson has little knowledge of. Directly in
the email web app, using HyperIntelligence, the salesperson can scroll over the
customer name and see a picture, a phone number, current title, and past
purchases. She can scroll over the customer's company name to identify the
quarterly sales figures generated, current contract date, and VIP status. To help
with her sales pitch, the salesperson can scroll over the product and see the
product price, margin, current discount, and inventory figures.
When a user hovers her cursor over underlined keywords on the web, vital
business information is displayed, as shown in the example below.
• Web browsers as users browse the web and interact with web apps
You create and format cards in Workstation and pull data from cubes, which are
optimized to deliver data with high performance. The HyperIntelligence Card
workflow is displayed in the following diagram.
• Web browser: Displays HyperIntelligence Cards on web pages and web apps
through the HyperIntelligence browser extension.
2 Visit the Google Chrome web store using the following URL: https://
chrome.google.com/webstore/category/extensions
To deliver information to users as they interact with the web, you can create and
format HyperIntelligence Cards to display data. HyperIntelligence Cards can be
based on an existing cube, or you can create a new cube specifically for your card
by importing data. You can create several cards that address a variety of topics
such as people, organizations, and products. To differentiate between your cards,
you can choose a distinct color for each card header, as displayed in the following
image.
You can select the attribute form for each attribute that you display on the card,
and use secondary forms. For example, if your keyword attribute is Football Team,
you can add a secondary attribute form for the team’s nickname. When the team’s
formal name or nickname show on the web, the card is triggered. You can also
specify the desired attribute form to display for each attribute in the body of the
card.
To include information that can be easily consumed, you can customize the visual
design of your cards in a variety of ways. For example, you can select a color for
the header, modify the number of rows and columns, add a link to a dossier or
web page, add a footer, format the displayed information, and so on.
The card can be displayed on any web page or app, including productivity apps
like Microsoft Office, Customer Relationship Management apps like Salesforce,
and anything else that is displayed in the Chrome browser.
The data in the card is displayed as you hover over underlined keywords, without
the need to click. The intuitive layout, simple formatting, and aesthetic visual
design enables analysts to quickly consume vital data and perform their duties
armed with the intelligence that they require.
4 In Chrome, perform a web search for Colleges in Virginia. The search results
are displayed and colleges that are in your dataset are highlighted.
5 Hover your cursor over one of the highlighted colleges. The card displays
information about the college, such as the location, enrollment, and
admission rate.
You can also apply other pre-configurations to simplify the deployment process
or enhance security. For example, you can pre-configure the extension to use the
MicroStrategy environment that contains your cards, reducing the number of
actions required by end users to start using the extension. You can also specify
website restrictions, such as websites where cards should not display.
2 Click the Settings icon in the top right, then click Settings.
3 In the Disabled Websites area, enter www.google.com in the box and click
Add Website.
5 Perform a search for Colleges in Virginia with a different search engine, such
as Bing. Colleges that are in the dataset are highlighted, and you can see the
cards.
7 Return to your Google search results and notice that the colleges are
highlighted.
1 Navigate to http://arch.customer.cloud.microstrategy.com/.
2 Hover over any of the products, services, or tools you have installed or
configured thus far. A HyperIntelligence card shows key details for
administrators, such as the default installation path, location of log files for
that tool or service, and other pertinent data.
Best You can use HyperIntelligence to create a similar diagram for your organization’s
Practice MicroStrategy architecture. This provides documentation of your architecture and
is easy to share with anyone, easy to analyze in meetings or on the go with
Mobile, and easy to locate the critical tool and service information that you decide
your team or department needs in your HyperIntelligence Cards.
Goals:
• Understand how to control access to data and objects for your users and user
groups in the MicroStrategy business intelligence environment.
• User privileges: A privilege applies to users and user groups, and is a set of
specific functionality in the software that each authenticated user is granted
access to.
• Security roles: A security role is applied to users and user groups, and defines
what projects each user can access, as well as what project-specific tasks the
user can perform.
• Security filters: A security filter applies to data, and controls what data users
and user groups can access. Project security filters are based on dimension
values, and are implement using attributes in a project to limit or restrict user
access to data. For external data imported into MicroStrategy that may not be
mapped to a project attribute, you can implement dataset security filters for
each dataset individually.
Project security filters: Security filters applied to attributes, enabling you
to control what warehouse data users can see when that data is accessed
through MicroStrategy. This type of security filter applies to all reports,
documents, dossiers, and attribute element requests submitted by a user.
Datasets security filter: Security filters applied to imported data,
enabling dataset owners to restrict access to their datasets.
• Connection mapping from your database security setup can work with
security filters to enhance control over data access.
The following diagram shows an administrator’s goals along with the various
components of MicroStrategy security:
Components of a Secure Business Analysis System
Another way to understand this is from the point of view of what is being
controlled:
These security controls are set at different levels of the MicroStrategy platform,
depending on what level of the software the controls apply to. To understand
these levels of applying security, learn about MicroStrategy’s security model.
• Project source level security: Control security options for user and group
privileges and security roles
• Project level security: Control data security options for security filters and
connection mappings
• Object level security: Provide reporting object security options for object
permissions (also called Access Control Lists or ACLs)
This chapter covers project source, project, and object security. Authentication is
covered separately in this course.
Users
MicroStrategy users access projects containing reports and dossiers, through
client applications such as Workstation, Mobile, and MicroStrategy Web, with that
access controlled by user accounts. Administrators create a user account for each
user, apply privileges and other security controls to the user account, and provide
login credentials to the user. Once created, a user account is a metadata object
that exists across projects.
In this chapter, use Workstation to learn how to create and manage users and user
groups. You can also create batches of users automatically using Command
Manager scripts in Developer, or import them from a file or a Windows directory.
2 Next to All Users, click the Plus icon, the Create a New User window opens.
• Password and Confirm password: For this exercise, ignore the bad security
practice and type Password for the new user’s password.
4 Click Create User. The user’s account is created in the metadata as a metadata
object, and the user receives an email with their new MicroStrategy account
information.
Groups of users
Users are grouped together, typically based on what they do within an
organization, to provide a convenient means for assigning functionality privileges
and object access permissions to multiple users at one time. Users automatically
inherit the functionality privileges and object access permissions of their groups.
Create a new group and assign your new user to this group
2 Click Groups.
• Administrator: This group should contain only those users who have full
access to everything in the system. This group should necessarily be
exclusive. For this class, no users are in this group since your Cloud
machine is new.
privileges to the group. The image below shows only some of the
pre-created user groups in MicroStrategy.
4 Next to Groups, click the Plus icon, the Create a New User Group window
opens.
a On the General tab, in the User Group Name box, type WS_AdminEA.
b Select the User Groups tab on the left. Search for and add MicroStrategy
Desktop Designer. The new user group inherits all the privileges already
assigned to the Desktop Designer group.
6 Click Create Group. The group is created with the specified privileges.
Add your new user to this group, so the user inherits the group’s privileges
7 Click Groups, expand the Everyone group, then right-click Manta Ray and
select Edit. You may have to scroll down to see Manta Ray.
9 In the Search box, type WS_AdminEA to locate and select your new group.
Your new user, Manta Ray, is now added to the group WS_AdminEA and thus
has inherited the privileges that are assigned to the WS_AdminEA group.
For example, the Web Analyst group belongs to the Web Reporter group.
Groups and Inherited Privileges
Therefore, the Web Analyst group inherits Web Reporter privileges. The Web
Professional group inherits the privileges of both the Web Analyst and Web
Reporter groups. Therefore, the Web Professional group has the fullest set of
MicroStrategy Web privileges.
To see the functionality privileges associated with any group, right-click the group
and select Edit, then click Configuration Privileges on the left. For a complete
list of privileges and what they control in the system, refer to the System
Administration Guide product manual.
Job priority does not affect the amount of resources a job gets once it is
submitted to the data source. Rather, it determines whether certain jobs are
submitted to the data source before other jobs in the queue.
For example, an executive in your company runs reports at unplanned times and
you want to ensure that these reports are immediately processed. If no priority is
set for the executive’s reports, they are processed with the other jobs in the
system. Depending on data warehouse activity, this may sometimes require a
wait time. If you assign a high priority to all jobs from the executive’s user group,
Intelligence Server processes and submits those jobs to the data warehouse first,
rather than waiting for other jobs to finish.
You assign high, medium, or low priority to jobs based on user groups. Using the
example above, you might assign all jobs from users in the Executive user group
to be processed at a high priority, while requests from users in other groups are
processed with a low or medium priority.
In addition to assigning job priority based on user group, you can also assign job
priority based on one or more of the following variables:
• Report cost
• Project
For details on job prioritization, take the Analytics Performance Tuning course.
• To disable a user account, from Users & Groups on the left, click User Groups,
expand the group, then double-click the user whose account you want to
disable. Click to clear the Active User check box, then click Save.
• To remove the user from the group without deleting the user’s account from
the metadata, right-click the user, select Edit, and click User Groups. Click the x
next to a group to remove that user from the group.
• You can delete a user account by simply locating the user from the list of All
Users, right-clicking the user, and selecting Delete. This removes the user
from the metadata.
• You delete a group by right-clicking the group and selecting Delete. Deleting
a group does not delete the user accounts that belong to that group. You
cannot delete the Everyone group.
You can assign security roles to a user or group to establish that the user or group
can access a specific project. And then the security roles and their specific
privileges provide project-specific functionality to the users or groups.
Some of the analysts, who travel more than 50% of their time and thus spend a lot
of their time on their mobile device, should be allowed to access both the FinRep
Mobile project and the FinRep Web project. To address this need, you create a
security role that allows access to the FinRep Mobile project, and you assign that
security role to the subset of analysts identified as needing access to the
mobile-friendly financial reports.
Another common but more complex use of security roles is to control what
groups of users can do across a project’s life cycle: the version of the project in
development (Dev), the version of the project that is in testing (UAT), and the
version of the project that is in full production use across the enterprise (Prod).
For example, you are responsible for securing access to the Financial Reporting
project in your organization. There are three environments containing different
versions of this project:
Your organization has two groups of users who need different access to one or
more of the various versions of the Financial Reporting project:
Developers have no access to production (FinReports – Prod) because
no development work is ever done in a production system.
Developers need limited access to perform testing (FinReports – UAT).
They need to be able to run reports, documents, and dossiers, as well
as collaborate with Analysts during user testing.
Based on the needs above, you determine that these are the pertinent user
requirements and final security actions you need to take:
• Developer:
Dev project: Full access to perform their daily job of creating and
modifying reports, documents, and dossiers.
Action: You create a Developer security role with full access privileges
and assign it to this group of users for the FinReports - Dev project.
UAT project: Run only, plus the ability to modify reports and filters only,
plus no ability to modify documents. (Per your company’s rules, any
documents that fail are required to be returned to the Dev project
rather than being modified in the UAT project.)
Action: You create a Developer Tester security role with the above
limited privileges, and assign it to this group of users for the FinReports
- UAT project.
Prod project: No access.
• Analyst:
Dev project: No access.
Action: You create an Analyst Tester security role with the above
limited privileges, and assign it to this group of users for the FinReports
- UAT project.
Prod project: Whatever permissions your company has established to
allow the Analyst to do their day-to-day job.
Action: You create an Analyst security role with full access privileges
and assign it to this group of users for the FinReports - Prod project.
• Collaborator security role: In Library, can view comments other users have
added to a dossier or document to which they have access. Collaborators can
also add comments themselves and tag other users to draw attention to a
comment. Collaborators can add filters within a comment, so a user who clicks
on the comment can see the dossier data filtered in a way that relates to the
comments. The Collaborator role cannot edit dossier content.
To allow collaboration, you must assign the Use Collaboration Services
privilege. This privilege can be assigned to a user, a group, or a security
role (similar to any other privilege), and controls access to collaboration in
MicroStrategy Library via MicroStrategy Web and Mobile.
Database Architect security role: Can optimize query performance and
utilization based on query type, usage patterns, and project design
requirements by tuning VLDB settings or configuring schema objects.
Embedded Analytics Architect security role: (This role is also called a
Services Architect) Can extend and embed analytics into portals, as well as
third-party, mobile, and white-labeled applications.
Mobile Architect security role: Can build, compile, deploy, and maintain
mobile environments and projects.
Platform Administrator security role: Can configure the Intelligence
Server, maintain the security layer, monitor system usage, and optimize
architecture.
System Administrator security role: Can set up, maintain, monitor, and
continuously support the infrastructure environment through
deployment on MicroStrategy Cloud, Windows, or Linux.
To see the privileges assigned to any security role, in Users & Groups, select
Security roles, then double-click the security role you are interested in and click
Privileges on the left. For details on what each privilege allows, see the System
Administration Guide. To see all the security roles a project has assigned to it, in
Projects, right-click the project, select Properties, and click Project Access &
Roles.
By default, all users have access to all projects loaded in Intelligence Server,
because the Normal Users security role is linked to the Everyone group for every
project. Because all users are automatic members of the Everyone group, the
default security model enables all users access to each loaded project.
2 Next to Security Roles, click the Plus icon. The New Security Role window
opens.
5 Determine which privileges go with this new security role. On the left, click
Privileges.
7 Click Create. Your new security role displays in the list of security roles.
8 Select Groups, then navigate to your newly created group. To do this, expand
MicroStrategy Groups, expand MicroStrategy Desktop Analyst, expand
MicroStrategy Desktop Designer.
Alternatively, you can quickly locate the group you want by typing Desktop in
the Search box at the top right, as shown below.
12 For the MicroStrategy Tutorial application, expand the drop-down list, then
scroll to the bottom and select your new security role, WS_Admin_Role. Then
click OK.
13 Click Save. You have assigned different security roles for two different
applications, so this group can perform different things (has different roles) in
each application.
• Privileges assigned to all groups of which the user is a member (groups inherit
privileges from their parent groups)
• Privileges assigned to any security roles that are assigned to the user within
the project
• Privileges assigned to any security roles that are assigned to a group of which
the user is a member
Access Control List (ACL) that lists which types of actions different sets of users
can perform on that object.
For example, the following images shows the object permissions for users and
user groups that have access to a dossier:
The following table explains what actions are possible with each permission you
can see to the right in the image above:
Permission Description
Browse • View the object in the Folder List and Object Viewer
• View the displayed folder, but not a list of the objects in the folder
• If a search is performed, objects in the folder that match the search criteria can
be seen
Use • Reference or use the object when creating or modifying other objects, such as
reports or documents. This permission is checked at design time only.
Execute • Execute reports or documents that reference the object. This permission is
checked at execution time only.
Write • Modify the object definition but not the object ACL
Permission Description
Permissions are grouped for easy and fast assignment to an object. The following
diagram shows how the permissions are grouped:
Object Access Permissions
Public/Guest Browse
Everyone View
Public/Guest View
This means that new users, as part of the Everyone group, are able to browse the
objects in the Public Objects folder, view their definitions, use them in the
definitions of other objects, and execute them. However, new users cannot delete
these objects, or create or save new objects to these folders.
You can change this default behavior by assigning different object permissions to
folders.
You can see any object’s ACL for a given user or group by right-clicking the object,
selecting Properties, and then clicking Security Access on the left. In the Search
box, type the user or group whose access you want to see.
When granting permissions to objects, you need to make the following decisions
for an object’s ACL:
• The owner (the user who created the object) has full control.
• All other users are set according to the children ACL of the parent folder.
• Modifying the ACL of a shortcut does not modify the ACL of that shortcut’s
parent object.
• A copied object inherits its ACL from the children ACL of the folder that it is
copied into.
Specify permissions
4 In the Search box, search for and select WS_AdminEA to add this group to
the list of displayed groups.
5 From the drop-down list for your group, select Deny and then click OK. Users
in this group are not able to access the Schema Objects folder.
You modified the default permissions to restrict the WS_AdminEA group’s access
to the Schema Objects folder in the MicroStrategy Tutorial application.
Conflicting permissions
If a user has permissions assigned to an object and is in a group that has a
different permission grouping assigned to the object, then the permission with
the least restrictions is granted to the user.
For example:
• A user has Full Control permissions for the March Financial Report.
• The user is a member of the Managers group, which has View permissions for
the March Financial Report.
The user has full access permissions (Full Control) for the report, which is the least
restrictive of the two conflicting permissions assignments.
If the user becomes a member of a group which has the Denied All permission for
the March Financial Report, but the user still has the Full Control permission for
this report, the user retains his full access permissions on the report.
For example:
• If the user is denied the Execute permission for an attribute, custom group,
consolidation, prompt, fact, filter, template, or hierarchy used to define a
report, the report execution fails.
• If the user is denied Execute for a metric used on a report, the report execution
continues as if that metric had been removed from the report definition.
• Use: Allows the user to utilize the object when creating or modifying other
objects.
• Execute: Allows the user to execute reports, documents, or dossiers that use
the object.
The table below shows the different levels of access to an object that a user may
have by combining these two permissions:
To create a report with access to the objects needed, the Execute permission is
required on all attributes, custom groups, consolidations, prompts, metrics, facts,
filters, templates, and hierarchies used to define the report. Permissions are not
checked on transformations and metric functions used in the report.
Permissions on an object grant a user the ability to use the object in a variety of
ways, such as read only, execute, delete, and so on.
Best When assigning privileges and permissions to users and objects, you must ensure
Practice that, when a user has functionality privileges to create an object, that user also
has object permissions that are necessary for creating that object. For example, if
a user has privileges to create schema objects, ensure the user also has the
appropriate permission to work in the Schema Objects folder.
• In the Properties window of the Schema Objects folder, grant the user Modify
access to that folder and ensure access to any child folders.
The MicroStrategy feature you employ depends on the location where the access
restriction logic is implemented and the structure of the data you intend to
restrict. The end goal of restricting access to specific rows of data based on the
user’s privilege is the same for whichever feature you use.
• Security filters: To ensure users are restricted to see data that is personalized
and relevant to them, you can use security filters.
accessing the data warehouse. The database administrator can use group
membership to control access to rows in a database table.
In this default configuration, when the database administrator (DBA) uses your
database software to view a list of users connected to the data warehouse, all
connections to the warehouse show as coming from the same entity.
connection mapping, the CEO user can connect to the data warehouse as CEO on
the database side, using a new database login called CEO.
Connection Mapping Applied: CEO User Requests Distinguished on Database Side
In this case, both data warehouses must have the same structure so that the
project works with both. For example, this solution is ideal for when a data
warehouse exists with domestic data and another exists with foreign data, and
users should be directed to one or the other based on the user group to which
they belong when they log into the MicroStrategy system. In the diagram below,
the two different database connections used are US and Europe. Although the
data warehouse login ID in both the database connections is MSTR User, in
MicroStrategy the users belong to two different user groups: US Users and Europe
Users, respectively.
Use the table below to determine when and how to use a dataset security filter or
a project security filter:
Data governance use IT-controlled data access scenarios Self-service data access
cases scenarios
A security filter restricts the result set (the resulting display of data) when users
execute reports or browse elements. Project security filters enable you to control
what warehouse data users can see. A project security filter is a filter object in
MicroStrategy that you create and then assign to users or groups.
The criteria specified by the project security filter is added to the WHERE clause of
every SQL pass, for the jobs that the user executes, where there is a relationship
between the attribute that defines the security filter and the objects in the report.
A project security filter essentially lets you control the attributes users and groups
can view in a dataset, and therefore use in a dossier, report, or document.
For example, two regional managers each have their own project security filters
assigned to their user accounts based on the regions that they manage: one has a
security filter that filters data for the Northeast, and the other has a security filter
for the Southeast. Because they have different security filters, when these two
regional managers run the same report, they may see different results.
• A user without a project security filter, for example, the administrator, can see
all the data for all the regions available in the data warehouse, since there are
no restrictions in the SQL clause of the report.
Report Executed by a User with No Project Security Filter
• The regional manager with a project security filter on the Northeast region
can only see data for this specific region. The WHERE clause on the report’s
SQL imposes this restriction.
Report Executed by a User with Project Security Filter=Northeast
• The regional manager with a project security filter on the Southeast region
can only see data for this specific region. The WHERE clause on the SQL
imposes this restriction.
Report Executed by a User with Project Security Filter=Southeast
Even if Region or Call Center were not part of the report objects, the project
security filter would still be applied because the Revenue fact exists at the Region
level.
You create project security filters in the Security Filter Editor. After you create
project security filters, you can assign them to users using the Security Filter
Manager. You can access the Security Filter Manager from the following locations:
You can create a project security filter using the following methods:
• Log in as Manta Ray and confirm you applied the project security filter to the
user
• Information Systems
• Technical Consulting
• Technical Support
• Quality Assurance
• Program Management
Currently, you are creating a filter based on the Operator In List. Any attribute
elements you select are visible to Manta Ray once the filter is applied. If you
switch the Operator to Not In List, you can exclude a user from seeing certain
attributes.
10 Click Done.
14 In the Manta Ray User Editor window, click Save. The User Editor window
closes.
To allow Manta Ray to view the HR dossier, she needs permission to access the
project as an Analyst.
1 Navigate to Users & Groups, expand the Everyone group, right-click Manta
Ray, and select Edit.
4 Click Analyst.
5 Click Save.
1 Navigate to Environments.
3 Click Continue.
4 Enter MRay and Password in the Username and Password fields. Click
Connect.
6 Click Reports.
8 Leave 2015 Q4 as the only prompt answer and click Apply to review the
results. You can only see the results for the departments in the Technical
Departments security filter applied to Manta Ray.
10 Click Environments.
12 Click Continue.
13 Log into the environment as the mstr user, using the credentials found in the
Welcome email. Click Connect.
15 Navigate to Reports.
17 Leave 2015 Q4 as the only prompt answer and click Apply to review the
results. The mstr user does not have a security filter applied to them, so results
for all departments are visible.
You can export datasets from within a dossier and save them as stand-alone,
in-memory datasets to be used later on other dossiers or documents. You can also
import external data directly as a stand-alone dataset without creating a dossier.
The data contained within a dataset is saved as an in-memory cube called a
Multi-Table Data Import (MTDI) cube on the Intelligence Server. The process of
creating MTDI cubes is part of the self-service capabilities of MicroStrategy. Any
user with the proper privileges can create MTDI cubes and share them with other
users who can then use them as datasets to create dossiers, create visualizations
of data, and analyze that data.
Datasets created from imported data are typically independent from any other
object within your project, unless the dataset was created from project attributes
and metrics, or manually linked after it was created. When datasets are created
from imported data, that means there is no relationship between the attributes in
the dataset and any project’s attributes. Given that project security filters are tied
to the attributes in a project, project security filters have no effect on datasets
created from MTDI cubes.
You want to ensure that she can only view data that is related to her accounts
whenever she creates a dossier using this dataset.
4 Locate Manta Ray so you can create a security filter that is applicable for her. In
the Search box, type manta and select Manta Ray.
5 Next to Manta Ray, click Add Filter. The New Qualification window opens.
Here, you define your new security filter to control what data this user can see
in returned reports, documents, and dossiers that use this data set.
6 In the New Qualification window, under Based On, select Brand. This is the
attribute used as the basis for the filter.
On a report, attributes are used to build the report, but once the report is
executed, the attribute’s elements are displayed in the rows or columns. The
elements of a business attribute are the unique values for that attribute. For
example, 2016 and 2017 are elements of the Year attribute, while New York
and London are elements of the City attribute.
• Adidas
• Calvin Klein
• Clarks
If you have time and want to challenge yourself, use the following high-level steps
to test your security filter.
2 Add Brand, Cost, and Revenue to the dossier. Notice that all brands display.
5 Log into the environment as Manta Ray (MRay) with the password you
assigned to this user.
6 On the left, click Dossiers. Open your Revenue by Designer Brand dossier.
Notice the difference your security filter has on the data displayed.
The following table summarizes the methods for implementing row-level access
control that you have learned about in this section. For each type of row-level
security, the location where the logic is implemented, as well as the MicroStrategy
feature, tool, and associated editor, are listed.
Security filter: project attributes Intelligence Server Security filter for Developer: Security
project attributes Filter Editor
3 Select Library.
Click Cancel to close the Properties window without saving any changes.
Goals:
Organizations need to protect their digital assets, so they develop strategies for
protecting these assets. These strategies include company-wide policies that
administrators enforce.
As you learned in the previous chapter when creating users and groups and their
related security assignments, these security policies are implemented at different
layers of the software and control who, when, how, and what can be accessed.
For example, MicroStrategy Web, Mobile, and Workstation all connect over
a network to the Intelligence Server. If you attempt to connect with your
Workstation from an IP address that should not be allowed to have access,
your connection is dropped by the network before you can get to the
Intelligence Server.
As a MicroStrategy platform administrator you don’t need to know the
details about how and where these policies are implemented, because
they are implemented outside of MicroStrategy, which is the job of the
system administrator. If you want to learn more about securing your
corporate assets using network security policies, take MicroStrategy’s
advanced-level class, System Administrator.
The first layer policy is about rejecting or allowing the connection and it
doesn’t evaluate who is trying to connect. It looks at the connection
information, such as IP, port, and network it is coming from, to make that
decision.
Authentication modes
Authentication modes are the methods that the MicroStrategy platform uses to
validate users when they log in to a project in the project source. The
MicroStrategy platform provides seamless navigation between differences client
applications, including Workstation, Library, and Web without requiring users to
re-authenticate. For example, users can launch MicroStrategy Library from Web
and vice-versa without needing to login again. Similarly, users can launch
MicroStrategy Library from Workstation without needing to log in again.
Windows: The user’s MicroStrategy login credentials are linked to the
Windows login and the user’s credentials are validated based on whether
they successfully logged into Windows. As a result, when the user accesses
a MicroStrategy project, they are immediately logged into the project and
are not prompted to enter their MicroStrategy user login ID and password.
Windows authentication is one form of single sign-on authentication.
Integrated: Integrated authentication uses your Kerberos software to
validate user credentials. Users log in once to their Windows machine and
do not need to log in again. Integrated authentication is one form of single
sign-on authentication.
Trusted Authentication Request (also called Third-party): Once a user is
authenticated in the third-party system, their permissions are retrieved
from a user directory, such as LDAP, and access is granted. Trusted
authentication providers include Tivoli, SiteMinder, Oblix, PingFederate,
and Oracle Access Manager, among others.
After authentication has been configured, users can log into applications using
their assigned authentication method. Use the table below to understand what
login methods are available for each application.
Authentication Methods Supported by MicroStrategy Clients
MicroStrategy
Developer Mobile Library Workstation
Web
Database Database
1 On the remote desktop, double-click Developer to open it. Log in with the
credentials from your MicroStrategy Cloud email.
4 On the Advanced tab, under Authentication mode, ensure that Use login id
and password entered by the user (standard authentication) is selected.
1 On the Cloud landing page, hover over MicroStrategy Web and click
Configure.
2 If prompted, in the Sign In window, type (or copy and paste) the login
credentials in the MicroStrategy Cloud email.
4 Under Login, ensure that the Enabled check box for Standard is selected.
5 Specify standard as the default login mode for MicroStrategy Web, by clicking
Default for Standard.
6 Click Save.
• Authentication policy
• Encryption level
• Change the account lockout policy and the password complexity policy.
• Test the account security changes by attempting to log in as Manta Ray three
times with an incorrect password.
4 Under Password Settings, in the Lock after (failed attempts) box, type 2.
10 Navigate to All Users, then right-click Manta Ray and select Edit. Manta’s
current password does not contain any special characters or numbers, and
does not meet the new security requirements.
11 Change the password to hello123*. Type this password in both the Password
and Confirm Password box.
12 Click OK.
1 Navigate to Environments.
3 Click Continue.
4 Enter MRay in the Username field, and then enter an invalid password, such
as Password123. Click Connect.
6 Enter MRay as the user name again, and type an incorrect password for the
second time. Click Connect.
8 Type an incorrect password for MRay for the third time and click OK. After
three failed attempts, the user account is disabled.
9 Log in as the mstr user, using the credentials from the MicroStrategy Cloud
email. Click Connect, then in the Select Projects window, click OK.
12 Check the Active User box to re-enable Manta Ray’s account, then click Save.
16 Since you are using this environment for educational purposes, remove the
account lockout policy.
Under Password Settings, in the Lock after (failed attempts) box, click the
drop-down, and select No Limit.
17 Click OK.
Goals:
Analytics architecture
You can operate MicroStrategy products with a direct connection (two tier), a
server connection (three tier), or a server connection plus MicroStrategy Web/
MicroStrategy Mobile (four tier).
with the users using web browsers to interact with the MicroStrategy Analytics
platform.
Four-tier Architecture
The web browser communicates with the web server through hyper text transfer
protocol (HTTP). HTTP is the underlying protocol used by the World Wide Web to
process requests from web browsers to web servers.
Establishing connectivity
After you have installed MicroStrategy products, you establish connectivity
between various platform components in your architecture. The diagram below
shows a summary of all of the connectivity required for a four-tier architecture:
Connectivity Overview
ODBC drivers are database-specific. For example, a driver for Oracle cannot
directly access data in a Teradata database.
You can create ODBC connections in the MicroStrategy environment using the
MicroStrategy Connectivity Wizard.
You can share database instances with other users and control the
privileges (such as View, Modify, and Full control) each of those users
have while sharing that database instance, using Import from Tables
in MicroStrategy Web.
you create is available across all database instances in that same project
source.
Database Instances Editor
• Database Login—Specifies the user ID and password used to access the data
source. Not all data sources require database logins and passwords. A
database connection designates one database login as the default login for
MicroStrategy users. However, users and groups can be mapped to other
database logins using connection mapping.
You create database logins in the Database Logins Editor, within the Database
Connections Editor. Any database login you create is available across all
database connections in that same project source.
Database Logins Editor
Since the server definition has already been created for you, you can create a
three-tier project source in Developer to establish the connectivity between
Developer and Intelligence Server.
6 In the Server Name box, type the name of the Intelligence Server machine.
To find the Intelligence Server machine name, double-click the hosts file on
your Windows desktop and open it with Notepad. The Intelligence Server
machine name is listed at the bottom of the hosts file.
10 In the Login window, in the Login ID and Password boxes, type the login and
the password provided in the MicroStrategy Cloud email. Click OK.
You can now access your newly created MicroStrategy Analytics Modules
project source in Developer.
13 All projects are configured to load on the Intelligence Server startup. Keep the
default settings, and click OK to close the Intelligence Server Configuration
Editor.
For the class environment, the database instance (Tutorial Postgres) has already
been created for you. Open the database instance and answer the questions
listed in the exercise.
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
Solutions
Goals:
You can also configure Intelligence Server to log errors using the
Diagnostics tool, including logging to a Kafka server on any supported
platform. You can use this functionality to reduce the logging load on the
Intelligence Server for all logs configured in the Diagnostics tool.
Monitors in Developer
In addition to viewing activity in the project environment, you can use Developer
monitors to perform routine administrative tasks, for example:
For example, the image below shows part of the User Connections Monitor:
User Connections Monitor
You can also use monitors to improve performance. For example, the Quick
Search feature uses an index to search for objects, so it results in faster search
performance for users than the regular search. Using the Quick Search Indices
Monitor, an administrator can maintain and rebuild the indices that allow quick
search to execute quickly. You can also use the monitor to view the status of a
Quick Search index as it is created.
In Developer, the monitors for a given project source are available in the following
location:
Monitoring in Workstation
Workstation provides a comprehensive view of your systems and services at a
glance. You can monitor your distributed MicroStrategy system resources to
manage, for example, the status of nodes, services, or certificates in Workstation
For example, the PDF Export Engine is responsible for creating PDFs when you
export your dossiers or documents to PDF. After looking at the telemetry data,
you realize that you have more users exporting to PDF than you had anticipated
in your capacity planning. To reduce the burden on your intelligence Server, you
asked the system administrator to install the PDF Export Engine on another server
so that it is independent of the Intelligence Server.
Now that your system administrator has installed and configured the PDF Export
Engine, you want to turn off the one running on your Intelligence Server.
Workstation provides a single view into all your MicroStrategy systems, and this
view also shows which services those systems are linked to. You can instantly
jump to a specific service supporting a specific system, view its running status,
and so on.
Examine the red, yellow, and green status icons displayed next to nodes and
services to quickly gauge the health of your system resources and restart any
components that are stopped. Each service or node is displayed with a status
icon:
• Green: Indicates that the node or service, and all underlying services, are
currently running.
• Yellow: Indicates that the node or service contains at least one underlying
service that is currently not running.
5 Notice that the Telemetry service depends on a server that shows a status of
not running.
In addition to viewing statuses, with a simple click you can see what services
run on which servers.
Workstation lets you click a service and instantly identify the services on which it
depends. You can also right-click a service and start or stop that service with the
full picture of your environment topology in view.
For details to create projects and objects, take the Project Architecting class.
This chapter provides an introduction to the Platform Analytics tool, takes you
through the tool’s objects and how the tool gathers, processes, and displays
telemetry data, and shows you how to create your own custom telemetry dossier
using the Platform Analytics project objects. For exercises on specific telemetry
use across the business intelligence world, you can take any of the MicroStrategy
Intelligence Center classes. For example, the Platform Administrator class uses
telemetry dossiers to monitor upgrades and product usage. The Application
Architect class uses telemetry dossiers to monitor dossier object and content
usage.
The project activity data in Workstation can help you gauge the effectiveness of
your projects and provide opportunities for improvement. For example, activity
data can show you the number of dossiers, documents, reports, and cubes in each
project. Or you can identify the top 10 executed objects over the last 30 days, as
displayed in the following image.
For example, if you find that a specific report is frequently executed, you might
improve performance by creating a caching strategy or an Intelligent Cube.
Another effective administrator use of activity data is to examine activity by the
day of the week, to identify downtimes that can be leveraged for administrative
tasks.
3 On the left, click Activity. The project activity data is displayed. Click OK to
close the window.
Because your class environment is new, little data may be displayed. You can
check back with these steps at the end of class and see how much the usage data
may have changed.
• Reports
• Documents
• Dossiers
• HyperIntelligence Cards
Utilization data can help you understand user engagement with your reporting
objects, and help you refine your projects to meet user expectations. For example,
you can examine the average execution time, number of users, number of
executions, and error rates associated with each reporting object in the last 30
days. Trend graphs help you quickly identify user activity fluctuations over time.
For example, you can identify the top 10 users who executed a dossier over the
last 30 days, as displayed in the following image.
If a specific user or set of users encounters issues in the system, you can gain
insight on an individual user’s experience with the platform by looking at the
number of executions, the error rate experienced, and the number of sessions
created by the user.
You can also use this approach to find ways to increase a user’s engagement, by
investigating trends in sessions and executions over the last month to determine
whether a specific user is maintaining or losing interest in the platform. You can
examine the individual objects that are executed by the user to understand the
data and analysis she requires, and use that information to guide future project
and dossier development.
You can support planning for user training, as well as making future licensing
decisions, by examining the connection sources that were employed by the user
over the last month.
You can use the same steps to view activity data for any reporting object.
Enable statistics
4 Slide the Basic statistics toggle to enable statistics logging for this project.
Then click OK.
5 Repeat these steps for the Human Resources Analysis Module project to
enable statistics logging.
3 In the left pane, click Activity. The dossier activity data is displayed in the right
pane.
There may be no usage data as your environment is new for this class and has
experienced little dossier use.
Data for a dossier includes such information as execution time, number of users,
and error rate. For example, you can use the error rate information to prioritize
your plan for investigating dossiers with high error rates in combination with
number of users so you can focus on the most popular dossiers first. The list of
users at the bottom lets you reach out to get usage details from specific users who
experienced slow runtime or a higher error rate.
help you analyze the number of cubes in your environment, the amount of
memory they consume, the distribution of cubes across projects, and so on.
For example, your analysis of the Object Telemetry dossier might indicate that a
specific Intelligent Cube is executed much more often than its scheduled refresh
interval. Upon further investigation, you find that the cube execution time is also
significantly longer than other cubes. To improve performance and ensure user
satisfaction, you might decide to identify a list of users who most frequently
publish the cube, and consult with them to establish a new refresh schedule that
maximizes performance.
You can also leverage the dossiers and objects in the Platform Analytics project to
achieve the following:
• Ensure user adoption: Track user interaction with the overall system, as well
as interaction with datasets or dossiers, to meet user expectations.
• Identify and reduce errors: Analyze errors, identify root causes, and resolve
common problems.
• Validate license compliance: Ensure that your license keys are valid. See the
number of users, enabled users, and disabled users, and quickly determine
whether each MicroStrategy product is in compliance, as displayed in the
following image:
The Platform Analytics project includes an expansive data model with a variety of
reporting objects to help you monitor various aspects of the MicroStrategy
platform, improve its performance and utility, and maximize engagement. You
can create your own customized reports and dossiers to track specific aspects of
the platform, and you can also leverage several out-of-the-box dossiers
immediately
Although your environment was created recently and has a minimal amount of
data in the Platform Analytics repository, exploring the predefined dossiers helps
you understand how the monitoring tool can help you tune an environment.
Additionally, navigating the Platform Analytics dossiers can inspire you to create
dossiers and reports to track your own organization’s usage, using the attributes
and metrics in the project.
3 Select the Platform Analytics project check box, then click OK.
The Platform Analytics project contains all the objects that support Platform
Analytics. You can use these objects to create your own custom dossiers to track
and monitor telemetry important to your organization.
2 Open Public Objects, then Reports, then Dossiers. This folder contains
dossiers that can help you analyze environment utilization and performance,
and tune the MicroStrategy platform.
3 Execute the dossiers and view the individual chapters in each dossier. Notice
that each dossier contains several filters that can help you narrow the results.
As you view the metrics on each page, think about how you would use the
dossier to monitor your own environment.
Because the environment for this class was created recently, only some dossiers
display data.
5 Right-click Platform Analytics Cube and select Refresh Dataset. The Refresh
Platform Analytics Cube window opens. You can see the objects in the cube,
as well as the type of refresh assigned to each object.
6 Click Refresh. The cube refreshes after a few moments. Click Done.
2 In the Contents pane on the left, under the Project Analysis chapter, click Peak
Load to see the Peak Load page of the dossier. The server load distribution is
displayed by the time of day in the graph, and by Intelligence Server machine
in the grid.
3 You can refine your peak load investigation to focus on specific tools or clients
as the source of system use. To investigate the load generated from
MicroStrategy Web, in the Filter pane, expand Session Source, scroll down to
hover over Web, and then click Only.
The Server Load Distribution graph and Load Details grid are updated with
only the utilization data generated from MicroStrategy Web.
4 Return the dossier to its initial display. To do this, in the Filter pane, under
Session Source, click (All). The dossier is updated to display all utilization data.
• Telemetry Server: A message broker that receives and temporarily houses all
the data sent by the producers.
2 The Intelligence Server producer logs the related statistics to the Telemetry
Server layer, which temporarily houses the statistics data.
3 The Platform Analytics Services read messages from the Telemetry Server
layer, transform the data, and store it in the Platform Analytics repository.
5 The Platform Analytics project dossiers and Workstation Activity page retrieve
and display data from the Platform Analytics Intelligent Cube.
The following architecture image displays the connections and relevant ports
between the Platform Analytics components and other parts of the MicroStrategy
platform.
Best Depending on the scale of your MicroStrategy installation, the Intelligent Cube
Practice might contain a large amount of data, and require a significant amount of time to
republish. To efficiently refresh Platform Analytics data, you can create an
incremental refresh schedule that only retrieves new data from modified tables in
short intervals, and then perform a full republish of all tables in longer intervals.
For example, you can refresh specific tables every hour and republish all tables
every 24 hours.
In this exercise, identify several tables in the Platform Analytics project that need
to be refreshed on a specific schedule, and then create the refresh schedule that
triggers at 30 minutes after the hour, every hour.
Create a specific hourly refresh schedule for Platform Analytics cube tables
5 At the top left corner of the table, in the table header, click to clear the Data
Source check box and to clear the check boxes for all tables.
• lu_component_object_category
• lu_component_object_type
• lu_object_category
• lu_object_type
7 For each of the tables above, from the Refresh Policy column, select Update
existing data and add new data to determine the type of refresh for these
specific tables.
You can click the Information icon next to Refresh Policy to see the logic for
each Refresh Policy option.
9 You can keep the default Schedule Name. Click Schedule, then click Done.
These tables in your Platform Analytics Cube dataset refresh every hour at the
scheduled time, in addition to the hourly default refresh, to support the CTO’s
frequent need for the latest Platform Analytics data related to these tables.
idle timeouts. If a user is connected with no activity, the server automatically logs
the user out after a certain period of time.
Some governors apply to the Intelligence Server, which means they affect every
project connected to the server. Other governors apply to individual projects, so
you can configure the settings differently for each project. Server-level and
project-level governors enable administrators to set limits on factors that stress
the system to help prevent the conditions that give rise to bottlenecks.
The image above displays only the General group of governors. Administrators
can define additional parameters at the server level such as file generation,
memory, and working sets. You can also configure governors to control things
such as the amount of memory the server uses and the quantity of information
generated for requests from Web users.
The image above displays the Result Sets group of governors. Administrators can
set additional parameters related to jobs, user sessions, subscriptions, and how
the Data Import feature is used.
Commonly used governors typically set limits to keep performance optimal, and
include limiting how long a report can run on the Intelligence Server based on
whether it is interactive or scheduled. You can also limit the time a report can run
in the warehouse. You can set the maximum number of rows a report can return
in its result set based on whether it is a data mart, an Intelligent Cube, or any other
report. You can limit the amount of time the user has to answer all prompts in a
report. You can also limit the number of rows returned for attribute element
requests, and you can limit the size of intermediate result sets used in processing
analytical calculations as well as the memory consumption during SQL
generation.
In addition to the governors shown in the image above, you can configure
governors to control such things as the number of users simultaneously
connected to the project and the number of jobs simultaneously running in the
project. Additionally, you can configure the number of subscriptions each user
can create based on the subscription type.
Test the new governors by running a report. You also try to create a second user
session by logging in to the Human Resources Analysis Module project in
MicroStrategy Web as Manta Ray.
4 In the All intermediate result rows for Document/Dossier views box, type
15.
5 Click OK.
© 2022 MicroStrategy, Inc. Exercise 6.6: Set usage limits using governors 152
6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics
10 Click OK.
An error message displays because the report returns more than 15 rows of
data.
The landing page opens in the browser window of your local computer.
b If the Landing Page opens, click MicroStrategy Web. Then, click MSTR
User in the upper right, and click Sign Out.
d In the Password box, enter hello123*, the password assigned to the user
Manta Ray.
e Click Login.
153 Exercise 6.6: Set usage limits using governors © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6
An error message is displayed indicating that you cannot log in because the
maximum number of users was exceeded. This is because you set the
maximum number of user sessions to 1.
15 Return to Workstation.
16 Raise your result rows and user session governor parameters to 50,000,000
and 180, respectively.
Ifperform
you do not reset the governor parameters, you may not be able to
some of the remaining exercises.
© 2022 MicroStrategy, Inc. Exercise 6.6: Set usage limits using governors 154
6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics
To start and stop the server, you typically use the MicroStrategy Service Manager.
155 Administering updates: Starting and stopping the Intelligence Server © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6
To set the defaults, in MicroStrategy Web, click your user name, select
Preferences, then click the Project Defaults.
© 2022 MicroStrategy, Inc. Administering Web to manage the Web user experience 156
6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics
• Hiding the My Reports link when a user does not have Web Save privileges.
This can help avoid confusion for users who are not allowed to save.
157 Administering Web to manage the Web user experience © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6
• Change the default preference for all projects to display in the Gray color
theme.
• Modify project-level preferences for the History List. When a user runs any
report or a document, it should automatically be added to his History List. You
also modify the Security preferences so that no messages are deleted from the
History List when users log out of the project.
1 On the landing page, hover over MicroStrategy Web and click Launch.
3 At the top right, click the MSTR User drop-down list, and select Preferences.
If you are logged in as a different user, click Logout and then log in with the
credentials found in the Cloud Welcome email.
© 2022 MicroStrategy, Inc. Exercise 6.7: Modify History List behavior for users 158
6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics
4 In the Color Theme drop-down list, select your corporate default color them.
For this exercise, select Gray.
8 On the History List page, under Add reports and documents to my History List,
select Automatically.
When you enable this setting, every time a user runs a report or a document in
MicroStrategy Web, it is automatically added to the user’s History List.
9 Click Apply.
11 In the Logout area, under Remove the Finished Interactive Jobs from the
History List, click No if it is not already selected.
When a user logs out of MicroStrategy Web and this setting is set to No, all
messages generated during his session remain in the History List.
159 Exercise 6.7: Modify History List behavior for users © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6
• Ensuring there is enough space for core dump files so MicroStrategy Technical
Support can best assist you if needed
• Linux/Unix: /opt/mstr/MicroStrategy/log
Log files
• DSSErrors: DSSErrors.log is one of the most important trace files to use when
troubleshooting issues related to Intelligence Server.
• Installation errors: The setup program generates a log file in text format. This
log file contains records of all actions performed by the setup program and by
other executable files related to installation. The installation log file can be
particularly helpful if you encounter errors during the installation process. For
example, the log can tell you if a registry key or path was not added or if a
critical file was not registered successfully.
• Configuration Wizard errors: If there are any issues related to the use of
Configuration Wizard, such as when creating the metadata repository, you can
review the information logged in the MACfgWizStats&EM.log file to identify
the reason for any errors.
By reading the core dump file, MicroStrategy Technical Support can understand
the actions being taken immediately prior to the crash, and sometimes obtain
information such as the report or username which caused the crash. They can also
get the call stack from the core dump file. A call stack provides information on the
functions being used at the time the SSD was written.
MicroStrategy
Core file generation is controlled by the operating system, not by
processes, so difficulties in generating or obtaining core
files must be followed up with your system administrator.
The core dump file is created in the location specified by the operating system
administrator. By default, it is created under the IntelligenceServer subdirectory
under the home directory. For example, the default location in the Windows
environment is C:\Program Files (x86)\MicroStrategy\Intelligence Server.
As the file size can be very large, you need to ensure there is sufficient hard disk
space in that location or the core dump file may get truncated; truncated files
become unusable for troubleshooting purposes.
Goals:
• You can make more processing power available to users to do their jobs
• Caching
• Intelligent Cubes
You can also use clustering to improve system performance. For more information
on clustering, refer to the System Administration Guide product manual.
By retaining the result set, the system can improve query response time in future
requests. Caching enables users to retrieve results from stored files rather than
executing queries against a database every time they run a report or document.
MicroStrategy can also cache certain objects for their related performance
improvement, including attribute element lists (such as those used in attribute
element list prompts), as well as project objects and schema objects that are
specifically designed to be cached.
Report caching
Reports that are long-running or that are frequently run and have fixed and
predictable characteristics are excellent candidates for using MicroStrategy's
caching technology. With caching enabled, only the first report execution must
incur the cost of retrieving all the data from the database. The report results are
then cached and subsequent runs of that report experience highly optimized wait
times given that the report results have been pre-calculated and simply need to
be rendered for the user.
• Avoid per-user cache generation, found under the Advanced settings. If the
Create Caches Per User setting is enabled, different users running the same
report cannot use the same result cache. Enable this setting only when
security issues (such as database-level security views) require users to have
their own cache files.
• Establish a cache deletion and regeneration strategy that ensures that end
users can access the most recent data available
Datasets and the document definition are cached independently of each other,
for instance when you might want to update only the document caches, but not
the dataset caches.
To enable document caching, you must first enable report caching, as reports are
used as datasets for documents. For a specific document cache to be generated,
all underlying dataset caches must exists or be generated at document run time.
Ifanycaching for one of the datasets is disabled at the report level or fails for
other reason, the document cache for that document is not generated.
• Document caches tend to use a lot of memory. Only cache those documents
that benefit from being cached and cache documents on an individual basis
rather than across the entire project.
• Allocate sufficient memory for document and dossier caches to avoid file
swapping. Specify the maximum RAM usage and the maximum number of
caches, as shown in the image below:
Workstation Settings for Memory Storage for Documents/Dossiers
can enable document caching for PDF, Excel, HTML, and XML/Flash/HTML5
documents.
Workstation Settings for Document Caching
• Restrict the ability for users to automatically send documents and dossiers to
their History Lists. When users do this, it creates a cache that cannot be reused
during the document’s regular execution, for a document that is unlikely to be
re-executed and thus may never use the cache. Restricting this prevents
MicroStrategy Web users from overloading the system with caches created
during ad hoc document executions. No new dataset or document caches can
be created, even if caching is configured for a project or for a document.
However, valid document and dataset caches are still hit if they exist.
In this exercise, you gather telemetry data on usage, using Platform Analytics, to
determine which reports in a project need to be cached so that system memory
resources can be optimally allocated. You create your own Platform Analytics
dossier to gather the telemetry you need to make this decision. You can then
share that dossier with project architects and report designers in your
organization, using MicroStrategy Library, so they understand better how much
caching is using resources within that project. For example, report designers can
adjust certain reports or documents based on the telemetry data so that they are
more efficient.
You can watch this exercise being demonstrated by accessing this QR code with
your mobile device.
3 On the left, click Caches and Cubes. You can see the default memory setting
for report caches is 256 MB and 4096 MB for documents and dossiers.
4 Close the Properties window for the Human Resources Analysis project.
1 On the left, click over the plus sign next to Dossiers to create a new dossier.
2 Connect to the Platform Analytics project, and use the objects in that project
to create a telemetry dossier. In the Datasets pane, click Existing Objects.
Then click Save.
3 In the Save As box, name your dossier Reports and Documents Caches.
5 In the Datasets panel, click Existing Objects. The Add Existing Objects
window opens.
• Cache Object
• Cache Project
9 You want to know the number of times the cache has been used, called the hit
count. In the Search box, type hit.
11 You also want to see cache size and planned expiration dates for the caches.
Type cache in the Search box, and double-click to add the Cache Size (KB)
and Cache Expiration Timestamp (UTC) metrics to your dossier.
14 You want to let other users, such as report designers, filter the dossier data
based on project. Click the Filter icon to open the Filter pane.
16 Change the display style for this object to radio buttons so users can easily
select a project’s data to view. To do this, in the Filter pane, click the menu
icon next to Cache Project, point to Display Style, and select Radio Buttons.
17 Click the Editor pane. Drag the Cache Object Type and Cache Object
attributes to the Rows zone.
18 Drag the Hit Count, Cache Size (KB), and Cache Expiration Timestamp
(UTC) metrics to the Metrics zone.
19 Switch back to the Filter pane and select the Relationships Project. There is
no data displayed, because there has been no data collected about this
project yet.
2 Locate your new Reports and Documents Caches dossier, right-click it, point
to Share, and select Library Access.
3 Search for the users to share this dossier with. To do this, in the box under
Manage Users’ Library Access, type dev and select the Developers user
group.
4 Type mstr and click the MSTR User to also share this dossier with your own
class user account.
5 Click Done.
6 View the dossier in Library. To do this, right-click the Reports and Documents
Caches dossier and click View in Library. Log in with the credentials from the
Cloud Welcome email, if prompted. Library opens with the filtered dossier
displayed.
7 No data is yet displayed. You can click the Filter icon at the top right and
change the project to MicroStrategy Tutorial. Some data is displayed
because you have performed various actions in the Tutorial project and
caching is being used by default in that project.
Your display may show somewhat different data than the example below,
depending on your choices through the course up to this point.
8 Click the Filter icon at the top right of Library and select the Human
Resources Analysis project. Generate some more sample usage data for this
project so more telemetry data displays. Minimize Library.
1 Leave the dossier open in your browser. Return to Workstation, and click
Projects.
4 To run the document so that the datasets are cached, click the Presentation
Mode icon .
5 Click the tabs across the top of the dashboard to ensure that all datasets are
accessed and therefore cached. Close the dashboard, and click Yes to confirm
that you want to close it, if prompted.
1 Maximize the Library window and then use your browser’s Refresh icon to see
the usage data that Platform Analytics has gathered for the Human Resources
Analysis project. You can close the Library window.
Your dossier may display somewhat different data depending on how many
dashboards you opened and ran, and how many tabs you clicked within the
dashboard.
Analyzing the dashboard and scorecard has created caches, and the telemetry
dossier is showing the results. Report and document designers can monitor this
kind of data to make informed decisions about what reports and documents to
cache. Administrators can display totals on this telemetry dossier to get an idea of
the amount of memory that should be allocated for a project.
commonly used sets of data into a cube that is stored in memory, called an
Intelligent Cube. Intelligent Cubes allow multiple reports to retrieve data from a
single shared in-memory set of data for faster response times.
For example, you can create an Employee Compensation Intelligent Cube that
holds compensation data for all employees across all geographical regions. You
can then create multiple Intelligent Cube reports (which are reports that utilize
the Intelligent Cube you created), each with a different set of attributes and
metrics on the report, or different months or regions in the result set. Users can
even perform analysis beyond the data stored in the Intelligent Cube, by creating
derived metrics and derived attributes on-the-fly in the report.
Each time one of those reports is requested by an end user, the report uses the
Intelligent Cube instead of running against the data warehouse, as shown below:
Intelligent Cube Example
Intelligent Cubes act as a layer between your data source and MicroStrategy
reports that analyze and display data, as shown below:
Intelligent Cubes
Intelligent Cubes are fully scalable, limiting excessive data consumption and
redundant data by allowing you to build only the sets of data you require.
Intelligent Cubes can also help to decrease the computational distance. Unlike
report caches, Intelligent Cubes can provide data not only to multiple users, but
also to multiple Intelligent Cube reports.
Types of cubes
There are two types of Intelligent Cubes, OLAP cubes and Multi-table Data Import
(MTDI) cubes.
Both types of cubes leverage partitioning functionality that allows loading more
data to memory and querying this data in a parallel fashion, leveraging multi-core
hardware architectures. Both types of cubes also support your organization’s
security protocol using MicroStrategy’s security features.
• OLAP cubes: Typically created by project architects, these cubes are created
manually and require a modeled project schema. They consist of a single
in-memory table. They must be configured to use partitioning, but they
support needs like dynamic sourcing, table aliases, and transformation
metrics, which MTDI cubes do not support.
have access to her imported data and how much access she wants to give. The
IT team rarely has the knowledge of what data should be secure, and business
users importing data do possess that knowledge for their own data.
This class focuses on MTDI cubes. For using cubes to enhance performance on
more complex projects, take the Analytics Performance Tuning course.
In this exercise, you import data from the Forecast Data.xlsx file provided by your
instructor. Next, you publish the data into an Intelligent Cube (MTDI Cube). Finally,
you create a report based on the Intelligent Cube, which you created from the
imported data.
1 From your cloud landing page, hover over MicroStrategy Web and click
Launch.
3 At the top left, click Create, and select Add External Data.
6 Navigate to and select the Forecast Data.xlsx file you received from your
instructor, and click Open.
7 Click Prepare Data. When you prepare data, you are reviewing and making
any necessary changes to the data (cleaning the data). The preview window
displays as shown below:
8 In the Preview pane at the bottom of the screen, click the drop-down list
beside the Customer column header, and select Rename. Type Last Name.
9 For the column named Column 3, change the name to First Name.
13 Save the Intelligent Cube as Forecast Data in the Shared Reports folder, and
click Save.
The Start Your Analysis window states that the data file was imported
successfully and is ready to be used in your project. You have created an
Intelligent Cube. Keep this window open.
Create a report based on the Intelligent Cube that you created from the imported
data.
2 Double-click the Last Name and First Name attributes in the Report Objects
window to add them to the grid, in that order.
3 Double-click the Profit Forecast and Revenue Forecast metrics in the Report
Objects window to add them to the grid.
5 Save the report as Customer Forecast (Grid) in the My Reports folder and
click OK. Click Run Newly Saved Report.
6 Click the MicroStrategy logo in the upper left, then click Shared Reports.
7 Click Create, point to New Report, then select Intelligent Cube Report.
8 Select the Forecast Data cube in the Shared Reports folder, and click Select.
9 Hold CTRL and select Category, Profit Forecast, and Revenue Forecast.
13 Click Save
14 Save the report as Category Forecast (Graph) in the My Reports folder and
click OK.
Business users and analysts can easily create Intelligent Cubes from a new report
or dossier, and create new reports or dossiers based on existing Intelligent Cubes.
You can then use that information to manage cubes, such as deleting them,
unloading them from Intelligence Server memory to a hard disk, and so on.
Intelligent Cubes Monitor in Developer
Reports access cubes that are loaded in memory. By default, cubes load when
Intelligence Server starts. The process of loading a cube can require memory
resources that are more than the size of the cube, which can affect performance.
Best Therefore, it is a good practice to unload rarely used cubes to free memory and
Practice improve performance. When a report accessing an active but unloaded cube is
executed, that cube is automatically loaded into memory.
You can also disable a cube, for short or longer periods of time, to prevent reports
that access cubes from loading them to memory. You can either deactivate or
delete a cube. Understand the impacts of deactivating and deleting cubes:
• Deactivating a cube: Use this to disable a cube for a short time and enable it
again later. Saves the cube to the Intelligence Server hard disk.
• Deleting a cube: Use this when a cube contains obsolete data and should not
be used until it is run against the data warehouse again. Deletes the cube from
Intelligence Server memory and from the hard disk. To recover a deleted cube,
re-execute it against the data warehouse and publish it.
You can also use the Schedule Administration Tasks window to schedule cube
management tasks such as activate, deactivate, delete, and refresh cubes.
The diagram below shows the distribution of report usage and time in a system:
Distribution of Reports in a Project
On the lower part of the graph, represented by good performance, are the reports
that already execute within a satisfactory response time. These reports are not
good candidates for cubes, because it is unlikely that their performance can be
significantly improved.
Similarly, reports that are only infrequently used, located at the far left of the
graph, are not good candidates for cubes, because it does not make sense to
spend memory resources creating cubes to support reports that are not often
used.
The far right of the graph displays the frequently executed reports, which are not
Best good candidates for cubes either. For those reports, you should use caching
Practice whenever possible, as it generally offers better performance.
Lastly, represented in dark gray in the center of the graph, are a group of
frequently run reports with increasing levels of user wait time. These are good
candidates for cubes. These reports can fall into three different categories that
can be addressed by individual design strategies to build cubes:
To do this, create one cube containing data for all prompt answers and security
filter combinations for any of these reports. As a result, the database only incurs a
one-time database query, and after that all report requests are answered by the
cube with an improved overall response time. This strategy is effective when
applied to the top reports by highest total wait time.
With this solution, the system incurs the one-time cost on the database of
generating the cube, and subsequently provides a highly improved average
execution time for each of the reports supported by this new cube.
For this category of reports, the recommendation is to create one cube per
subject area, with the goal of capturing as many ad-hoc queries as possible.
Using Cubes for Frequently Used Ad-Hoc Analysis Reports
Intelligent Cubes can significantly reduce system load created by most ad hoc
reporting.
There are over 100 settings that affect how the MicroStrategy Engine handles
functionality such as:
• Metric calculation options (null and zero check during division operations)
These and many other settings directly modify how the SQL Engine writes SQL
against the warehouse. Several user roles may set VLDB properties, for example,
your metrics designer may have responsibility for setting certain VLDB properties
that directly affect how a database handles a metric calculation. Your project
designer may have responsibility for setting VLDB properties related to their
chosen data model for a project. As an administrator, you may be responsible for
VLDB properties related to system performance, database optimization, and
other related settings.
In MicroStrategy Developer, you can define VLDB properties for the following
objects:
• Database Instance
• Project
• Template
• Metric
• Attribute
• Transformation
The following table provides high level details on each one of the five
optimization options for this specific VLDB property:
Level 2 Level 1 + Merge Passes with Level 1 optimization takes place and SQL
Different SELECT passes from different SELECT statements are
consolidated when it is appropriate to do so.
This option merges SQL passes accessing
the same fact table
Level 3 Level 2 + Merge Passes, which Level 2 optimization takes place and SQL
only hit DB tables, with passes which access database tables with
Different WHERE different WHERE clauses are consolidated
when it is appropriate to do so. This option
pushes metric filter conditions into fact
expressions
Level 4 Level 2 + Merge All Passes, This is the default level. Level 2 optimization
with Different WHERE takes place and all SQL passes with different
WHERE clauses are consolidated when it is
appropriate to do so. While Level 3 only
consolidates SQL statements that access
database tables, this option also considers
SQL statements that access temporary
tables, derived tables, and common table
expressions. This option merges
intermediate temporary table SQL passes
Level 5 Level 2 + Merge All Passes, Level 2 optimization takes place and all SQL
which hit the same passes which hit the same warehouse fact
warehouse fact tables tables are merged
For example, optimization Level 1 can be used to remove duplicate SQL passes
from the query. The following diagram shows this process. The filter Categories
with Sales >50K is included both as a metric conditionality and as report filter. This
design results in a duplicated SQL pass, as shown on the left.
Eliminating Duplicate SQL Passes
Without the Query Optimization Layer, no further manual tuning would have
removed this duplicate pass. By enabling optimization Level 1, the SQL Engine
automatically identifies and eliminates the duplicate SQL pass.
For example, if many of your users return to work after the weekend and run a
specific set of reports every Monday morning around 9 AM, you can schedule
those reports to be run automatically on Sunday evenings, or very early Monday
morning, when demand on the system is low, so the report results are available
Monday morning when employees return to work from the weekend. The reports
are automatically executed and delivered when the system is not under high user
demand. Additionally, you reduce the typical Monday morning high user demand
on the system.
schedules. The report automatically runs when the subscription associated with a
schedule triggers.
You define a schedule, based on a time such as early Monday morning or based
on an event such as a data load, and then you create subscriptions for reports and
documents, based on that schedule. Users can subscribe to a report themselves,
or system administrators can subscribe users to reports. In addition, you can
deliver subscribed reports or documents to other users by email, file, FTP, or print.
The sections below describe the different types of schedules and subscriptions,
best practices and decisions you make when creating a subscription.
Creating a schedule
You can create time-triggered and event-triggered schedules.
• Time-triggered schedule:
Executes reports when the system clock on the Intelligence Server
machine reaches the designated time.
Often used in systems where the warehouse is refreshed on a regular
basis.
• Event-triggered schedule:
Executes reports when an event occurs (for example, a data warehouse
load).
The event on which the schedule is based must trigger first so that the
schedule can then trigger the report or document execution. For example,
you create a warehouse load event and then associate that event to a
schedule. You then create a subscription that associates the schedule with
a document. When your warehouse load occurs, you must trigger the
event in MicroStrategy so that it executes the document.
Subscription types
Subscriptions are grouped based on where they are delivered for users.
Subscription results are delivered to any of the following areas of MicroStrategy:
Monitoring subscriptions
One of the biggest impacts on system performance is rampant subscription
creation by users. Users navigate through their MicroStrategy client, they notice a
report or dossier that interests them, they click to subscribe to it, and they move
on. In this way, one user can end up with hundreds of subscriptions fairly quickly.
Even when no longer useful, subscriptions remain in the system, generating and
In this exercise you learn how to monitor subscriptions and maintain the
responsiveness of your BI environment and projects by ensuring users are
following best practices and guidelines that improve system performance and
stability.
Familiarize yourself with the best practices for managing subscriptions, below.
The exercise that follows requires you to put these best practices to use.
• If you need to create multiple similar subscriptions, you can create them all at
once. For example, you can subscribe users to several reports at the same
time.
Best Once a project is rolled out and your users are working with the system, you
Practice should monitor your environment to identify opportunities to optimize the
environment. Subscriptions are an ideal place to start your monitoring, as users
can create hundreds of subscriptions that can slow down your environment if left
unchecked.
1 Return to your RDP environment, and open Workstation. If needed, log back
in to your environment with the credentials provided in the welcome email.
2 On the left, select Subscriptions. All the subscriptions in the environment are
displayed.
3 You can use the Filter panel later to filter subscriptions to focus analysis. For
now, you want to have a larger viewing area. Click the Pin icon to unpin the
Filter panel, then click anywhere in the grid to collapse the panel.
4 Here, you can see a quick overview of all the subscriptions and their basic
properties.
To understand who these subscriptions are being sent to, right-click the Sales
by Income Bracket (caching enabled) subscription and select Properties.
On the General page, you can see some high level overview about the
subscription.
5 Click Content. This page shows which reports, dossiers, or documents are part
of the subscription. This subscription is only for the Sales by Income Bracket
report.
The regional sales manager, Peter Rose, contacts you, requesting a subscription
for the Region Category Analysis document. Peter wants it delivered to his History
List, as well as the History List for his team, which includes the following members:
• Tilda Austin
• Katharine Shearn
• Galvin Missner
• Cornelius Becker
The datasets for the document are updated every Friday. Peter wants the Region
Category Analysis document executed with the latest data, ready for his team
members to access before their Sales Planner team meeting on Monday
mornings. Create a subscription for Peter, while adhering to the best practice
principals covered in this chapter.
Best • Create one subscription with multiple recipients, so that the document is only
Practice executed once for all the team members. You can assign a subscription to a
user group, to simplify this process.
• Use the schedule setting to trigger the execution of the document, at a time
when your Intelligence Server is experiencing low traffic, so the system load is
lighter.
To begin, create a user group for Peter's team. User groups make it quicker to
assign a subscription to multiple people. With user groups, you only need to
create one subscription, instead of creating a subscription for each user.
2 Click the Plus icon next to Groups to create a new user group.
a On the General tab, in the User Group Name box, type Regional Sales
Team.
b Click Members. Search for and add the following users to be members of
this new group:
Peter Rose
Tilda Austin
Katharine Shearn
Galvin Missner
Cornelius Becker
Notice you do not need to assign any subscription privileges. When Peter’s team
members were created as users of the MicroStrategy system, they were granted
the Web Professional privileges, which include using subscriptions. Their privileges
are already in place, and this group exists to allow easy recipient selection when
creating a subscription.
Now that the user group has been created, you can make the subscription Peter
requested.
Recall that Peter informed you that the data for this dossier updates Friday
evenings, and his team needs the new data for a Monday morning meeting.
By selecting the Monday Morning schedule, you ensure Peter’s team gets the
data on time, while also running the schedule while the Intelligence Server
does not have a heavy load.
6 Click in the Users or Groups pane, and select Regional Sales Team from the
drop-down.
7 Click Save.
Next, verify that the subscription was created correctly, and is active.
3 You can see the new subscription in Workstation. Right-click the Region
Category Analysis - Regional Sales Team subscription, select Properties,
then Recipients. Note that the number of recipients is two, for the MSTR User
and the Regional Sales Team. Even though the Regional Sales team has five
members, the user group only counts as one recipient.
Peter also requests his team receive a subscription for the Sales by Income Bracket
report. Conveniently, you already have a subscription for that report running.
Recall that the best practice is to minimize the number of unique subscriptions, so
rather than creating a new subscription for Peter and his team, edit the existing
subscription.
Previously, the subscription was scheduled to run all the time, which likely
means the subscription was running far more than necessary. However, you
don’t know what time the database update occurs, and there may be
occasions when it is updated more than once in a day.
You talk to the Database Architect and learn that no matter what time the
database updates, an update always triggers the On Database Load schedule.
Use this information to create a subscription delivery schedule that suits
Peter’s needs and supports the goal of optimizing system performance.
5 Click in the Users or Groups pane, and select Regional Sales Team in the
drop-down.
6 Click Save.
2 Click Filter.
6 Click Apply.
7 Now, only the subscriptions that were created for the Regional Sales Team are
displayed. Click Export to save this filtered search as a csv file.
By exporting the subscriptions, you can easily see and share a set of filtered
subscriptions, even to users that do not have access to view subscriptions in
Workstation.
8 Name the file Regional Sales Team Subscriptions, and click Save.
For example, as the first step in the checklist, you might use the Subscription
Monitor to see whether any user has subscribed multiple users to the same
content. If so, contact that user to understand their requirements and give them
appropriate recommendations, such as creating a user group.
The previous series of exercises, Chapter 7, Exercise 7.3: Monitoring and managing
subscriptions, provides a sampling of common problems and solutions for user
subscriptions. Use the scenarios above to create your own checklist for your
organization, taking into account your users’ requirements for subscribing to
content. Then, reach out to users on any subscription issues and to recommend
the best practices they should follow.
1 Return to the Cloud Landing Page, hover over MicroStrategy Web, and click
Launch.
2 Log in to the MicroStrategy Tutorial project using the login credentials listed
in the MicroStrategy Cloud email.
6 Click the Yearly Revenue Growth By Customer Region report to execute it.
7 When the report grid displays, right-click the Revenue metric header, point to
Alerts, and select Email notification, as shown below:
8 In the Alerts Editor, in the Filter On drop-down list, select Percent Growth.
Make sure the values causing the alert are easily visible
12 In the Alerts Editor, click Cell Formatting to format the report based on your
condition.
18 Click Apply.
19 Click OK.
A preview of the format displays next to the condition. Leave the Alerts Editor
open.
5 Select MicroStrategy Web User and move it to the Cc list, as shown below:
6 Click OK.
7 In the Send drop-down list, select Data in email and to history list.
8 Ensure that Send all data. Format cells that meet condition is selected.
10 Select the Allow recipients to change delivery settings check box to allow
subscribers to edit the subscription, as shown below:
12 Click the MicroStrategy icon and return to the Tutorial Project. Select My
Subscriptions.
On the My Subscriptions page, the Action icon indicates that the subscriber can
change delivery settings.
3 In the Object Viewer, right-click the Books Closed event and select Trigger.
If a user has a security filter that limits the regions he can see, both his email and
email sent to associated contacts display only the regions permitted by the
security filter.
To confirm that the caches are deleted by this task, you first run a report to create
its cache. Then you schedule the deletion of caches using the predefined
Database Load event.
You then confirm the creation of your scheduled maintenance tasks. Finally, you
manually trigger the On Database Load event to delete any existing caches and
then verify the deletion.
2 Double-click the Unit Tracking by Supplier report to run it. This creates the
cache of the report.
3 In the Choose one of the following actions drop-down list, select Delete
caches.
• Quick View: Displays detailed information about the selected task and its
schedule. You can print or save this information.
• Refresh: Updates the Scheduled Maintenance Monitor with the most recent
information.
4 Click OK.
© 2022 MicroStrategy, Inc. Individual user settings to improve system performance 212
7 Introduction to Optimizing Performance Administration for Enterprise Analytics
of memory, you can use the Maximum quota per user (MB) setting in the User or
Group Editor to place a limit on memory usage per user.
Maximum quota per user (MB) Setting
Users can freely personalize these deliveries by selecting delivery formats and
locations, such as:
• Format: HTML, Flash, PDF, Excel, ZIP file, plain text, CSV, bulk export, or .MSTR
(dossier) file
• Delivery location: Email, network printer, FTP location, file server (including
portals), or the user’s MicroStrategy History List, which serves as a report
archive and immediately informs the user of the delivery by email
You can also use Distribution Services for bulk exporting, and for bursting files to
multiple emails. Bulk export and bursting are covered later in this chapter.
The following image shows the elements necessary to create this type of
subscription:
Subscription Components
Component Description
Recipients Users and contacts are the recipients of MicroStrategy Web subscriptions.
Transmitters and Email, File, Print, History List, and Mobile represent ways to transmit the
Devices message content to subscribers., based on the required format of each
delivery method
Schedule • Time schedules define the time and frequency that subscription
content must be delivered.
• Event schedules represent an action that needs to happen so that
message content is delivered to subscribers.
Bulk exporting
You can export large reports in delimited text format to a file location defined by
either a user or contact file address. With bulk export, Intelligence Server
delegates the data querying completely to the database server with the creation
of intermediate temporary tables. These tables export the report data straight to a
file, without displaying large result sets that compromise system resources.
Bulk export is a Distribution Services feature. The following diagram shows the
process of delivering a bulk export report to a file location:
Bulk Export Delivery
You define bulk export reports in Developer and publish them in MicroStrategy
Web.
Reports and Report Services documents can use the bursting feature if they
contain at least one attribute, with an email attribute form, in the page-by field.
Bursting to email
Bursting to email enables users to send personalized slices of a single report
execution to a dynamic list of recipients. Bursting to email results in better
Goals:
The process of moving objects across these environments is called project life
cycle management.
Migration Across Project Environments
Project duplication enables you to create multiple versions of the same project.
The source and destination project sources can be in two-tier or three-tier mode.
In this exercise, you use Object Manager to duplicate the existing MicroStrategy
Tutorial project to create a test project named MicroStrategy Tutorial – Test.
1 On your Cloud machine, from the Windows machine taskbar, click Search
Windows.
2 In the Search Windows box, search for and click Object Manager.
8 In the Source Project Selection window, under Available Projects, select the
MicroStrategy Tutorial project. Then click Next.
11 Type the login credentials from the MicroStrategy Cloud email. Then click
Next.
13 Click Next.
14 In the Select Languages to Duplicate window, accept the default option, All
languages, and click Next.
15 In the Select Objects to Duplicate window, scroll down to the bottom and,
under Profiles, click the Skip empty profile folders check box.
Excluding empty profile folders can result in faster performance time during
project duplication, especially for metadatas with a large user population.
16 Click Next.
17 In the Process Options window, accept the default options and click Next.
18 In the Viewing Options window, clear the View event log concurrently check
box, then click Next.
19 In the Log Options window, clear the Event log, Inconsistent object log, and
Statistics log check boxes, then click Next.
20 In the Summary window, click Finish. A window displays the progress of the
duplication.
Create objects in the development environment, then copy them to the test
environment. If the objects pass testing, copy them to the production
environment. Otherwise, make the necessary changes to the objects in the
223 Object migration methods and best practices © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Managing the Project Life Cycle 8
Before migrating objects, you should obtain users’ acceptance to ensure that
the objects meet their requirements.
Objects should be migrated from the development to the test system, and
then to the production system. The exception is when you need to update the
test system with the production system data to synchronize both
environments.
You should not make any changes in the test or the production system. The
only exception to this rule is for changes to user profiles that are usually done
in production.
• Keep track of all the changes that have been made to objects.
Monitor the changed objects in development since the last migration. Then,
migrate only the new and modified objects to the test system.
• Test all objects before publishing them in the production environment.
You must test all the objects in the testing environment before moving them
to production. Additionally, you should regularly update the test system with
the production system data to synchronize both environments; otherwise, a
successful test in the testing environment does not fully ensure future success
in the production environment.
Migration methods
You can use the following tools to perform object migrations:
• Project Merge Wizard: Effective for large-scale migration, such as copying all
project objects.
© 2022 MicroStrategy, Inc. Object migration methods and best practices 224
8 Managing the Project Life Cycle Administration for Enterprise Analytics
at once, or you may need to update the objects during a time when the source
project is offline. The package is a text file and can be shared via email or a
network.
With Object Manager, you copy objects across projects, duplicate projects,
compare objects across projects, and view object dependencies.
Object Manager is best used to duplicate entire projects or copy selected objects
and folders to a related project (a related project is one that uses the same basic
schema structure).
Project locking
When you open a project in Object Manager, you place a lock on the project,
which prevents other MicroStrategy users from modifying any objects in the
project.
Users can open the object in read-only mode if that suits their purposes. Users can
still execute reports in a locked project; the report definition used for the
execution is the last definition saved before the project was locked.
225 Object migration methods and best practices © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Managing the Project Life Cycle 8
You can unlock a project by either closing the project in Object Manager or
unlocking the schema. Only the user who locked a project, or another user with
the Bypass All Security Access Checks and Create Configuration Objects
privileges, can unlock a project.
To allow users to make certain object changes during such times, administrators
can open projects in Object Manager in a read-only mode to avoid locking the
entire project to other users. Administrative read-only modes include:
• The administrator’s connection does not display the most recent information.
For example, if the administrator views a folder in Object Manager in a
read-only connection, and then a Developer user adds an object to that folder,
the object is not displayed for the administrator in Object Manager.
© 2022 MicroStrategy, Inc. Object migration methods and best practices 226
8 Managing the Project Life Cycle Administration for Enterprise Analytics
Parent dependencies
Child dependencies
When an object uses another object as part of its definition, a child dependency is
established. For example, in the MicroStrategy Tutorial project, the Category
Performance Dashboard document contains a report, attributes, and metrics in its
definition.
227 Maintaining the life cycle by migrating objects © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Managing the Project Life Cycle 8
• As good practice, paste project objects into the following project folders:
If you do not want to share objects with other users, paste them into My
Personal Objects or any sub- or descendant folder of My Personal Objects
If you want to share objects with other users, paste them into Public
Objects or any sub- or descendant folder of Public Objects
Generally, Object Manager names the object “Copy of <source object name>”. If
you are copying a group, Object Manager automatically copies the users in the
original group and adds them to the copied group.
Conflict resolution
Every object in a MicroStrategy project has a unique object ID and version ID
associated with it. The ID of the object never changes. However, the version ID
changes whenever changes are made to the object. When you copy an object
from a source project to a destination project, Object Manager searches the
destination to see if an object with that same ID already exists.
A conflict occurs when Object Manager finds that the source object already exists
in the destination project. This object may exist with the same Version ID, which
means it exists identically as the source, or with a different Version ID, which
means the definition has been changed, so the object exists in the destination
location but it exists differently than in the source location.
When you are copying objects across projects or across project sources:
• If the object you are copying does not exist at all in the destination project/
project source, Object Manager gives the object the same name as the source
object.
• If the object you are copying exists in the destination project/project source, a
conflict occurs and Object Manager opens the Conflict Resolution window.
© 2022 MicroStrategy, Inc. Maintaining the life cycle by migrating objects 228
8 Managing the Project Life Cycle Administration for Enterprise Analytics
Conflict Description
Exists identically The object ID, object version, and path are the same in the source and
destination projects.
Exists differently The object ID is the same in the source and destination projects, but the
object versions are different. The path may be the same or different.
Exists identically The object ID and object version are the same in the source and destination
except for path projects, but the paths are different, for example, the object exists in a
different folder.
If you resolve this conflict with the Replace action, the destination object is
updated to reflect the path of the source object.
Exists identically The object ID and object version are the same in the source and destination
except for projects, but at least one associated Distribution Services contact or contact
Distribution group is different. This can occur if you modified a contact or contact group
Services objects linked to this user in the source project.
If you resolve this conflict with the Replace action, the destination user is
updated to reflect the contacts and contact groups of the source user.
Does not exist The object exists in the source project but not in the destination project.
For objects that need no conflict resolution because they do not exist in the
destination project, you can have them copied automatically without
requiring conflict resolution, by clearing the Show New Objects That Exist
Only in the Source check box in the Object Manager Preferences, Migration
area.
If a conflict occurs, you must determine what action Object Manager should take.
The different actions are explained in the table below.
When Object Manager reports a conflict it also suggests a default action to take
for that conflict. To change the default actions in Object Manager, refer to the
System Administration Guide.
Use Existing No change is made to the destination object; the source object is not copied.
229 Maintaining the life cycle by migrating objects © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Managing the Project Life Cycle 8
Keep Both No change is made to the destination object; the source object is copied to
the destination project.
Use Newer • If the source object’s modification time is more recent than the destination
object, the Replace action is used.
• Otherwise, the Use Existing action is used.
Use Older • If the source object’s modification time is more recent than the destination
object, the Use Existing action is used.
• Otherwise, the Replace action is used.
Merge The privileges, security roles, groups, and Distribution Services addresses and
(user/group only) contacts of the source user or group are added to those of the destination
user or group.
Do not move The selected table is not created in the destination project. This option is only
(table only) available if the Allow to Override Table Creation for Non-lookup Tables
That Exist Only at Source Project check box is selected in Object Manager
Preferences, Migration.
If a table already exists in the destination project, you need to resolve the conflict.
For information about conflict resolution and tables, refer to the System
Administration Guide.
© 2022 MicroStrategy, Inc. Maintaining the life cycle by migrating objects 230
8 Managing the Project Life Cycle Administration for Enterprise Analytics
You can use the following preferences to exclude certain types of dependent
objects during migration.
• Exclude all child attributes from an attribute: Excludes all child attributes in
the hierarchy when migrating an attribute.
An attribute or fact has a child dependency on each table that is referenced by the
attribute or fact. You can choose to exclude those tables from the dependency
search if, for example, you have mapped additional tables to an attribute or fact
for testing purposes, but do not need those tables in the production project.
• Exclude all tables from a fact: Excludes all tables mapped to a fact.
For attributes, the lookup tables must always exist in the destination project, so
they are always migrated.
231 Migration details in a shareable file: Update packages © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Managing the Project Life Cycle 8
when you may need to update the objects in several folders at once, or you may
need to update the objects during a time when the source project is offline. The
package is a text file and can be shared via email or a network.
For example, you may have several developers who are each responsible for a
subset of the objects in the development project. The developers can submit
update packages, with a list of the objects in the packages, to the project
administrator. The administrator can then import those packages into the test
project. You do not need a connection to the source project during migration of
an update package.
You can use Object Manager to create update packages. When you create an
update package, you first add objects you want to copy from the source project.
Then, specify how any conflict involving the objects is resolved in case those
objects already exist in the destination project. After you have created an update
package, you can import that package into any number of destination projects at
a later date.
You can also automate package import using a Command Manager script.
• Project update packages: Contain project and schema objects from a single
project.
• Undo packages: You can roll back the changes made by an update package
by using an undo package. When you select to create an undo package, they
are automatically created based on all the objects in an update package as
they are currently configured in the destination project.
Force Replace Replace the object in the destination project with the version of the object in
the update package, even if both versions of the object have the same
version ID.
Delete Delete the object from the destination project. The version of the object in
the update package is not imported into the destination project.
© 2022 MicroStrategy, Inc. Migration details in a shareable file: Update packages 232
8 Managing the Project Life Cycle Administration for Enterprise Analytics
• To override any modifications that you may have made to logical table sizes,
select Recalculate table logical sizes when you import the update package.
Logical table sizes affect how the MicroStrategy SQL Engine determines which
tables to use in a query.
• If you changed the key structure of a table or if you changed the level at which
a fact is stored, select Recalculate table keys and fact entry levels when you
import the update package.
You can update your users and groups with the project access information for
each project by creating a project security update package for each project.
You create these packages at the same time that you create the configuration
update package.
• If you are creating project security update packages, you must select Replace
as the conflict resolution action for all users and groups. Otherwise the
project-level security information about those users and groups is not copied
into the destination project. Project security update packages are named
ProjectSource_ProjectName.mmp, and are created in the same location as the
configuration update package.
233 Migration details in a shareable file: Update packages © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Managing the Project Life Cycle 8
the Project Merge Wizard to create the update package file (.mmp). The main
advantages of creating packages through XML files are:
Sample package creation XML files for project update packages and configuration
update packages can be found in the Object Manager folder.
The update package cannot recalculate the object client cache size, and it cannot
update the schema logical information. These tasks must be performed manually.
You can use this utility to import any existing import package file. You can then
use a scheduler such as Windows Scheduler to import the package at a later time,
such as when the load on the destination project is light.
When importing the package, ensure that any dependent objects for the object
you are importing exist either in the package or in the destination project. In this
example, if the system finds that the Cost fact is missing a dependent component,
the fact is not created in the destination project.
© 2022 MicroStrategy, Inc. Migration details in a shareable file: Update packages 234
8 Managing the Project Life Cycle Administration for Enterprise Analytics
1 In Object Manager, at the top, click the Open Project Sources icon .
3 Log in using the login credentials from the MicroStrategy Cloud email.
6 Right-click and select Paste to copy the report in the same folder. The report is
copied with the name of Copy of Call Center Performance. If the Show
Comments window opens, click OK.
7 Right-click the Copy of Call Center Performance report and select Rename.
8 Rename the report as New Call Center Performance. Close the window, but
leave Object Manager open.
As you only have permissions to save a file in a folder under the C: drive, you first
create a folder called MSTR. You use this folder later to store your update package.
2 Expand This PC, right-click the C: drive, point to New, and select Folder. Name
the folder MSTR.
235 Migration details in a shareable file: Update packages © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Managing the Project Life Cycle 8
5 Click Add.
6 In the Add Objects window, in the Available Objects area, navigate to the
Public Objects\Reports\Subject Areas\Sales and Profitability Analysis
folder.
8 Click OK.
9 In the Create Package window, under Package Options, in the Save In box,
change the update package file name and location to C:\MSTR\
ProjectPackage.mmp.
Object Manager creates the update package and displays a message that the
package has been created successfully.
11 Click OK. You have created an update package containing the report.
The Project Merge Wizard automatically determines the objects that should be
migrated. The Wizard looks at every object in the source project and determines
whether to copy the object as follows:
• If the object exists identically (same version) in both projects, it does not copy
the object.
• If the object exists only in the source project (a new object), it copies the
object to the destination project.
• If the object exists in both projects but its definitions are slightly different, it
decides to copy or not copy the object to the destination project based on
rules you define.
Project Merge Wizard supports different goals for administrators than Object
Manager. Use the following considerations when choosing an object migration
tool:
• Project Merge Wizard does not require the administrator to manually select
objects to be migrated.
• Project Merge Wizard lets the administrator define conflict resolution rules for
the objects before running the project merge. These rules can be defined at
the following levels:
Object category: Configuration, schema, or project objects
Object type: Attributes, Facts, Metrics, Reports, Filters, Prompts, and so on
Folder: Public Objects, Schema Objects, Sales Metrics, Finance Reports,
and so on
Object: Regional Revenue report, South Region Filter, Revenue Metric,
Customer Attribute, and so on
• Using the Project Merge Wizard, the rules defined for a project merge can be
saved as an XML file. You can then run the XML file later using the Project
Merge Wizard, or automatically using a command line.
2 In the Search Windows box, search for and click Project Merge Wizard.
4 On the Specify Source Data Source page, from the Available Project Sources
drop-down list, select MicroStrategy Analytics Modules.
6 In the Login id and Password boxes, type the credentials from the
MicroStrategy Cloud email. Then click Next.
7 On the Specify Source Project page, from the Available projects list, select
the MicroStrategy Tutorial - Test project. Then click Next.
10 In the Login id and Password boxes, type the credentials from the
MicroStrategy Cloud email. Then click Next.
11 On the Specify Destination Project page, under Available Projects, select the
MicroStrategy Tutorial project. Then click Next.
13 On the Specify Rules at the Object Category Level page, for each object
category, under Rule, select Use Newer.
14 Click Next.
15 On the Specify Rules at Object Type Level page, accept the defaults and click
Next.
The rules for most object types are set to Use Newer, according to the previous
step.
17 In the Select Objects window, browse to and click the Public Objects folder.
18 Click OK.
20 Click Next.
22 On the Merge Translations Options page, accept the defaults and click Next.
23 On the Specify Options (1) page, click Perform merge and generate log file.
24 Click Next.
26 On the Specify Options (2) page, click the Save Project Merge XML check box
and keep the default file name and the default location of the file.
28 Click Next.
The merging progress is displayed on a status page. This process may take
several minutes.
31 In Developer, open the merged MicroStrategy Tutorial project and verify that
your changes were copied from the MicroStrategy Tutorial - Test project.
Navigate to the Public Objects\Reports\Subject Areas\Human Resources
Analysis folder.
32 Open the Employee Headcount by Region report. Both Country and Region
should display on the report.
Goals:
• View and filter object changes, track changes to individual objects, and purge
the change journal.
Action Description
Saving an object
Renaming an object
Deleting an object
Creates multiple entries in the change journal:
• One entry for the deleted object
• One entry for its parent folder
Action Description
These are some of the actions that do not create an entry in the change journal:
Action Description
Renaming a subscription
standard Save As window, as shown for the Save Report As window in the image
below:
Other times, Developer users are presented with a stand-alone window. For
example, the following image shows a Change Comments window presented to
the user each time she modifies or deletes an object:
You can see when the report was created (the entry with a change type of Create)
and modified (the entries with a change type of Change).
To speed up transaction retrieval from the change journal tables, you can
configure the number of transactions displayed at one time in the Change Journal
Transactions Monitor. This incremental fetch feature is controlled by the
Maximum Number of Transactions Retrieved per Metadata Change Journaling
Search setting. By default, this value is set to 1000, and is shown in the following
image:
Developer Preferences for Browsing
You can filter the information displayed in the Change Journal Transactions
monitor by specifying display criteria in the Change Journal Monitor filter, shown
below. You can filter transactions based on the object type, project, transaction
type, and transaction source. You can also limit the search to a specific time
period.
Change Journal Monitor Filter
When you export the change journal, any filters that you have used to view the
results of the change journal are also applied to the export. To export the entire
change journal, with no filtering, make sure that no filters are currently in use.
• MMDDYY is the month, date, and last two digits of the year
Once entries are purged from the change journal, they cannot be
recovered. MicroStrategy recommends archiving your change journal
entries before purging.
When you purge the change journal at the server level (in the Intelligence Server
Configuration Editor), you purge transactions for configuration objects or for all
projects at one time. Use the Project Configuration Editor to purge transactions
for a specific project.
• Perform different manipulations to the report. After each action, you answer a
set of questions about how change journaling works.
Monitor changes
4 In the Change Comments window, type a comment, and close the window.
Repeat this action every time that the Comments window displays
throughout this exercise.
• If the Change Comments window does not display, from the Developer
Tools menu, select Preferences. Expand Optional Actions on the left and
select the Display Change Journal Comments Input Dialog check box,
then click OK.
For every change you make in the project, you may need to refresh the
Change Journal Transactions Monitor to view the new records.
© 2022 MicroStrategy, Inc. Exercise 9.1: Monitor transactions in a change journal 250
9 Tracking Object Changes Administration for Enterprise Analytics
How many entries are recorded in the Change Journal Transactions Monitor?
________________________________________________________________
________________________________________________________________
a Change the monitor view to Details (from the View menu, select Details).
b Sort the transactions by the TimeStamp column to view the most recent
transactions either at the top or at the bottom of the monitor pane.
What are the transaction types and change types displayed in the monitor?
________________________________________________________________
7 In the Test folder, create and save a Quarterly Revenue report (in the Test
folder, right-click, point to New, select Report, and click Blank Report) with
the following objects:
• On the rows:
Quarter attribute (located in the Time hierarchy)
Category attribute (located in the Products hierarchy)
• In the columns:
Revenue metric (located in the Public Objects\Metrics\Sales Metrics
folder)
________________________________________________________________
251 Exercise 9.1: Monitor transactions in a change journal © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Tracking Object Changes 9
________________________________________________________________
Have any of the previous records in the monitor for this report changed in any
way after you renamed it? If yes, then how?
________________________________________________________________
9 Copy and paste the Quarterly Category Breakout report within the Test
folder.
What information is inserted in the Comments field for the new report?
________________________________________________________________
________________________________________________________________
11 Edit the Quarterly Category Breakout report and change the autostyle to
Squares. Save the report. (To do this, open the report and, from the Grid
menu, point to AutoStyle Selected and click Squares. Save and Close, and
enter a Comment.)
________________________________________________________________
© 2022 MicroStrategy, Inc. Exercise 9.1: Monitor transactions in a change journal 252
9 Tracking Object Changes Administration for Enterprise Analytics
How can you tell that the autostyle was modified and not, for example, a sort
order?
________________________________________________________________
253 Exercise 9.1: Monitor transactions in a change journal © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Tracking Object Changes 9
Exercise solutions
Create a new folder in Public Reports and name it Test.
• Question: How many entries are recorded in the Change Journal Transactions
monitor?
Answer: There are three new transactions—one for the Reports folder and two for
the Test folder.
Answer: All transactions are Save objects types. The change types are Touch for
the Reports folder, and Create and Change for the Test folder.
Answer: There are two new transactions: one for the Quarterly Revenue report,
and one for the Test folder.
Answer: The change types are Create for the Quarterly Revenue report, and Touch
for the Test folder.
• Question: Have any of the previous records in the monitor for this report
changed in any way after you renamed it? If yes, then how?
Answer: Yes, the name of the report displayed in the monitor has changed to
Quarterly Category Breakout for all previous transactions.
Copy and paste the Quarterly Category Breakout report within the Test folder.
• Question: What information is inserted in the Comments field for the new
report?
Answer: The automatic comment is: “Object cloned from 'Quarterly Category
Breakout' in source location '\MicroStrategy \Public Objects\Reports\Test\
Quarterly Category Breakout'”.
© 2022 MicroStrategy, Inc. Exercise 9.1: Monitor transactions in a change journal 254
9 Tracking Object Changes Administration for Enterprise Analytics
Answer: There are two new transactions—one for the Test folder and one for the
Copy of Quarterly Category Breakout report.
Create a History List subscription to the Quarterly Category Breakout report for
the administrator on the Books Closed schedule.
Answer: There are no new transactions. Creating a History List subscription does
not create a new transaction.
Edit the Quarterly Category Breakout report and change the autostyle to Squares.
Save the report.
• Question: How can you tell that the autostyle was modified and not, for
example, a sort order?
Answer: You cannot distinguish the type of modification unless you manually
enter a comment describing what changes you have made when you are saving
the report.
255 Exercise 9.1: Monitor transactions in a change journal © 2022 MicroStrategy, Inc.
10
AUTOMATING ADMINISTRATIVE
TASKS
Goals:
© 2022 MicroStrategy, Inc. Perform bulk administrator tasks: Command Manager 256
10 Automating Administrative Tasks Administration for Enterprise Analytics
• Managing caches
Command Manager also provides helpful script outlines to assist you in building
scripts. You can save scripts to run them again later or save them as templates for
building future scripts.
The image below shows a sample script for creating a user group named Project
Designers, with two members (Developer and User), and granting privileges to
the new group.
Command Manager
Command Manager also enables you to create Java programs that combine
Command Manager commands and Java programming concepts, such as loops
and if-then-else logic, to create procedures. Procedures provide administrators
with tremendous flexibility as you can combine multiple Command Manager
commands and logical processing within a single Java program, which runs
within the context of Command Manager.
For details to create and use procedures with Java and Command Manager, refer
to the System Administration Guide.
257 Perform bulk administrator tasks: Command Manager © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
• Command Line Editor interface (CLE): Provides the same interactivity as the
GUI format but allows Command Manager to be run from the command line
in all supported operating systems.
Script outlines
A script outline is a script template provided by Command Manager that you
customize by replacing placeholder text with your enterprise-specific
information, and then execute against the metadata to perform the task.
For example, the following script creates the database login, as well as the
credentials for that login:
© 2022 MicroStrategy, Inc. Automating routine tasks using Command Manager scripts 258
10 Automating Administrative Tasks Administration for Enterprise Analytics
• Tokens: Reserved words that have specific meaning to the SQL parser.
Displayed in all capital letters and by default are displayed in color in
Command Manager.
• Placeholders: Denoted with angled brackets < >. Replace a placeholder with
literal text, and delete the angled brackets. Placeholders are displayed in
quotes; the quotes should not be removed when the placeholder text is
replaced.
259 Automating routine tasks using Command Manager scripts © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
them, when the script is executed, only the database login is created, without
credentials being established.
• Pipes | : A pipe denotes a user choice between the tokens listed in the script
outline. Delete the pipes before you execute the script.
For example, in the following script outline, the APPLY SECURITY FILTER token
can apply to either the USER token or GROUP token. Therefore, you delete the
token to which the security filter does not apply.
• Semi-colon: Placed at the end of the script and denotes completion of the
script.
Command Manager Script Elements
A valid script contains only reserved word tokens and literal text enclosed in
quotes. You must delete all other characters in the script outline to successfully
execute the script. The script window includes a Check Syntax button so you can
check for problems before you execute any script.
© 2022 MicroStrategy, Inc. Automating routine tasks using Command Manager scripts 260
10 Automating Administrative Tasks Administration for Enterprise Analytics
This script still contains the square brackets, which are not recognized
characters. When executed, the script results in errors.
This script contains only reserved word tokens followed by literal text
enclosed in quotation marks, and therefore executes properly.
261 Automating routine tasks using Command Manager scripts © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
• Create two MicroStrategy user accounts, one for each of the following new
sales analysts:
Rebecca Jamison
Tonya Barker
4 On the toolbar, click the Insert Outline icon to open the Choose Outline
window.
6 Click Insert.
© 2022 MicroStrategy, Inc. Automating routine tasks using Command Manager scripts 262
10 Automating Administrative Tasks Administration for Enterprise Analytics
9 Click the Check Syntax icon to ensure you haven’t left any brackets or
deleted any necessary elements like the semi-colon at the end.
10 Once the syntax check displays at the bottom left that the script is correct and
ready, execute the script. A message displays on the Messages tab
specifying that the user group is created.
If an error message displays, correct the syntax of the script and then
re-execute it.
11 From the File menu, click Save Script As and save the script to C:\MSTR and
name it User Group.
MicroStrategy Command Manager saves the script as a Script File with a .scp
extension.
Create users
14 In the Choose Outline window, expand the User_Outlines folder and select
Create_User_Outline.
16 For your new analysts, Rebecca Jamison and Tonya Barker, customize the
script on the Script tab to specify the information described below:
• Each new user’s login is their first initial followed by their last name. For
example Rebecca Jamison’s user login is rjamison. You do not link these
users to a Windows account.
• The full name for each user is their first and last name. You do not need to
specify a description, LDAPLink, WHLink, or WHPassword for any user.
• These new users are allowed to change their passwords, use standard
authentication to log on, and change their passwords at their next logon.
Additionally, these users’ passwords should expire in 60 days.
263 Automating routine tasks using Command Manager scripts © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
You must create a unique script for each user. However, after creating the first
script, you can copy and paste the script, and then use it as a template to
create the script for the other user.
The script on the Script tab for the two users should display as shown below:
17 After you have customized the scripts to create both users, check your syntax
and then execute the scripts.
If you have trouble getting the syntax accurate, carefully copy and paste the two
scripts above, without the bullets, into your empty script window. Be sure to check
the syntax afterward in case your window wasn’t empty or you did not carefully
copy the full text above.
18 When script execution is complete, save the script to C:\MSTR and name it
User Script. Keep Command Manager open for the next exercise.
Best Best practice is to always verify the results of executing your scripts; in this case,
Practice you should verify the creation of the users and group by locating your new users,
checking their group membership, and so on. For this class, you can do so as an
option if you have time.
© 2022 MicroStrategy, Inc. Automating and standardizing system processes: System Manager 264
10 Automating Administrative Tasks Administration for Enterprise Analytics
For example, the System Manager workflow called Intelligence Server Re-Start,
shown in the image below, enables an administrator to have the system
automatically send warning messages, restart the server, and send confirmation
or failure messages based on the final Intelligence Server status.
Intelligence Server Re-start Workflow
• Processes are tasks that your workflow can execute. Processes represent
either MicroStrategy functionality or external actions. MicroStrategy-specific
processes include such things as importing an Object Manager configuration
265 Automating and standardizing system processes: System Manager © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
• Connectors link processes together and determine the order and logic of a
workflow. In the Intelligence Server Re-Start workflow shown above, Success
and Failure connectors determine whether an Intelligence Server
confirmation email is sent to all users, or an email is sent to an administrator
warning of a failed restart.
The following sections dive deeper into workflow components, process entries
and exits, and parallel processes supported by System Manager, so that you can
create your own workflows using System Manager features.
© 2022 MicroStrategy, Inc. Automating and standardizing system processes: System Manager 266
10 Automating Administrative Tasks Administration for Enterprise Analytics
Processes
Processes represent tasks. System Manager supports both MicroStrategy
administrative tasks and common external tasks, and displays these to be
dragged onto the workflow canvas as you create a workflow.
Processes
Process types
You can use the Execute Application process to create custom processes. To
use this process, the application must be executable from the system
command line.
• Cloud Computing: These processes enable you to launch and manage Cloud
instances and virtual machines.
Components of a process
• Process properties: Properties are specific to each process and allow for
flexibility. Some processes are simple and contain only a few options. For
example, the Wait process only enables you to set the number of seconds to
267 Automating and standardizing system processes: System Manager © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
wait before continuing the workflow. Other processes may contain many
options, not all of which are required.
• Process description: You can reduce the amount of time it takes for other
administrators to understand a workflow by ensuring all processes have clear
descriptions. You can also add standalone comments to a workflow canvas
and rename processes to clearly document your workflow.
• Process exit code: Processes output exit codes that describe the success or
failure of the process during execution. Exit codes can be used to determine
subsequent behavior in a workflow.
The image below shows examples of an Email process, a Find and Replace File
Content process, and a Launch Instance process, along with the processes’
properties. Notice that each process has been renamed, a subset of properties are
used, and each process uses variables (parameters), denoted by the
${parameter_name} syntax.
Email, Find and Replace File Content, and Launch Instance Properties
Exit codes
Exit codes describe the outcome of a process. Every process produces an exit
code.
Exit codes, used in conjunction with success and failure connectors and decisions,
are used by the system to determine the next steps in a workflow. For example, if
a process produces a failure code, a workflow may automatically send an email to
notify the administrator, thus ensuring that the failure is quickly fixed. This specific
© 2022 MicroStrategy, Inc. Automating and standardizing system processes: System Manager 268
10 Automating Administrative Tasks Administration for Enterprise Analytics
exit code ends the workflow. A success code may result in a continuation of the
workflow.
There are two types of exit codes, success and failure, though there can be
different types of successes and failures, with their own unique codes.
For example, the Find and Replace File Content process can output the exit codes
0, 1, -1, or -2. 0 represents a successful execution and 1 represents a qualified
success. -1 and -2 are failure exit codes, with -1 signifying a problem while reading
the source file and -2 signifying a file manipulation problem.
An entry process is any process that has been designated as a potential starting
point in a workflow. By default, the first process you add to a workflow is marked
as an entry process, but you can add other processes as entry points as well. When
you execute a workflow with multiple entry processes, you are given a choice of
starting points. This is useful for workflows with processes that may have been
partially implemented manually.
For example, administrators may sometimes back up metadata manually, but that
backup process is included as the first step in an Upgrade Metadata workflow.
Instead of making the entire workflow useless, you can choose to Toggle Entry
Process in the workflow to allow administrators to start the workflow further
down the chain.
269 Automating and standardizing system processes: System Manager © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
Every workflow should have at least one exit process to ensure consistent results.
You can choose to direct all paths to one Exit Workflow process, or include
multiple Exit Workflow processes. When writing to a log file, an Exit Workflow
process re-uses the same exit code as the process that led to it. If multiple
connectors lead to the Exit Workflow process, it may be difficult to tell which
process supplied the recycled exit code. To make it more clear how a workflow
terminated, add a unique Exit Workflow process for each possible ending and
enable Use Customized Exit Code. You can then include a distinctive exit code for
each outcome.
Designing workflows
Connectors
Connectors display as arrows and link processes together to control the order in
which processes execute.
There are three types of connectors: Success, Failure, and Continue. Success and
Failure connectors designate what the workflow should do next when the process
outputs a success or failure exit code.
© 2022 MicroStrategy, Inc. Automating and standardizing system processes: System Manager 270
10 Automating Administrative Tasks Administration for Enterprise Analytics
Continue connectors move the workflow from a source process to the next
process regardless of the exit code of the source process. In these cases, the exit
code, regardless of what it is, does not change what comes next.
Decisions
Decisions enable you to create a flexible workflow that moves forward based on
changing conditions. You use decisions to control the order of execution for a
process, and which execution path the process takes, by comparing exit codes,
parameters, and other values. Decisions can also check whether a file or folder
Best exists and use this information to determine subsequent actions. By using
Practice decisions, you can build a flexible and robust workflow that adapts appropriately
to different conditions.
For example, you may want to continue a workflow only if a particular success or
failure exit code is produced. In the Intelligence Server Availability Local workflow
in the following image, the entry process Get the Status of Intelligence Server may
return one of many exit codes:
Success Exit Codes
Only one exit code, 3, signifies that the Intelligence Server is running. If this is the
case, the workflow should proceed to the Exit Workflow process. In this workflow,
all other success and failure exit codes should lead to the process Starting
Intelligence Server. To ensure this occurs, the decision named Checking if
Intelligence Server is Running compares the exit code from the previous process
271 Automating and standardizing system processes: System Manager © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
Parallel processes
You can run multiple processes simultaneously. The Split Execution process can
be the source for an array of connectors that lead to multiple processes. The
target processes proceed to execute independently of each other.
© 2022 MicroStrategy, Inc. Automating and standardizing system processes: System Manager 272
10 Automating Administrative Tasks Administration for Enterprise Analytics
For example, the following workflow launches two virtual machines and adds
them to an existing Intelligence Server cluster. To speed up the workflow, the first
step is a Split Execution process that immediately initiates the launch of virtual
machines in parallel. Each launch process is followed by a decision, which
determines whether each launch was a success. If both were successful within 900
seconds (15 minutes) of each other, the Merge Execution process leads to an
email process that sends a confirmation message to the administrator.
Parallel Execution
273 Automating and standardizing system processes: System Manager © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
You can open more than one Workflow canvas at a time in System Manager,
which helps you quickly switch between workflows when you are creating
workflows that depend on other workflows.
You should build your workflow in a development environment that enables you
to test the workflow by executing it process-by-process, as well as to test the full
deployment of the workflow.
You should include the following sanity checks in your validation and testing:
• All non-exit processes are sources for connectors that handle all possible exit
codes.
• The workflow paths make logical sense. In particular, eliminate the possibility
of unregulated loops of processes.
When you deploy a workflow to test it, you can choose where the workflow
begins by selecting from multiple entry processes, if they exist. You can also
modify or overwrite parameter values at run-time, to test your variables for
different conditions.
After you validate and test your workflow, you are ready to execute it.
Executing a workflow
Once your workflow is complete and ready to deploy, you can run the workflow
by executing it.
© 2022 MicroStrategy, Inc. Automating and standardizing system processes: System Manager 274
10 Automating Administrative Tasks Administration for Enterprise Analytics
As your workflow deploys, the workflow canvas displays the current progress.
Processes that return a success exit code display a green check mark, while
processes that return a failure exit code display a red X. You can view further
details and feedback, including specific exit codes, in the Console area of the
workflow canvas.
Workflow Canvas Console
You can also use a command line version of System Manager to deploy a
workflow. For more information on how to use the command line version, see the
System Administration Guide.
275 Automating and standardizing system processes: System Manager © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
For this exercise, you create a simple workflow to schedule delivery of a couple of
reports to the History List. When users go to their History List to access a report,
Intelligence Server retrieves report results from the report’s cache rather than
executing the query against the data warehouse, resulting in faster query
response and better performance for users.
• Delete any existing History List messages and report caches to easily identify
History List messages and report caches that are created by the System
Manager workflow.
• Create the System Manager workflow to trigger the Command Manager script
that creates the History List messages and caches for the linked reports.
In this exercise, you execute the System Manager workflow manually. At your site,
you can automate its execution using scheduling tools for your Windows or
Linux/Unix environment, as appropriate.
3 In the History List Subscription Editor, in the Schedule drop-down list, select
Books Closed and click OK.
© 2022 MicroStrategy, Inc. Exercise 10.2: Create a workflow to automate History List refresh 276
10 Automating Administrative Tasks Administration for Enterprise Analytics
4 Repeat the appropriate steps above to schedule delivery to the History List for
the Employee Birthdays report. This report is in the same location as the Call
Center Timeliness report.
1 In the Folder List for the MicroStrategy Tutorial project, select History and
delete any existing History List messages.
b Click the Show Caches for History List Messages check box.
c Click OK.
5 In the area on the right, for the MicroStrategy Tutorial project, delete any
existing caches.
6 Minimize Developer.
1 From the Cloud machine’s Windows task bar, click the Search icon, then
search for and click Command Manager to open it.
277 Exercise 10.2: Create a workflow to automate History List refresh © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
2 In the Login window, click Connect to a Project Source and log in using the
login credentials from the MicroStrategy Cloud email.
4 In the Choose Outline window, expand the Event_Outlines folder and click
Trigger_Event_Outline.
8 Save the script as Trigger Event in the C:\MSTR folder and click Save.
10 You want to view logged information from System Manager when you
execute our workflow later. To do this, create an empty text file in Notepad for
logging System Manager workflow information:
a On the Windows task bar, click the Search icon, then search for and click
Notepad. Notepad opens.
b Save the blank text file as OutputLogFile in C:\MSTR and click Save.
When you execute your workflow later in the exercise, System Manager
logs information to this file.
c Close Notepad.
1 On the Cloud machine’s Windows task bar, click the Search icon, then search
for and click System Manager.
© 2022 MicroStrategy, Inc. Exercise 10.2: Create a workflow to automate History List refresh 278
10 Automating Administrative Tasks Administration for Enterprise Analytics
3 On the left, you can see where to access processes related to specific tools, as
well as the icons for various connectors and other components needed to
build a workflow. On the left, under MicroStrategy Products, expand the
Command Manager folder.
5 Click the Intelligence Server process to ensure it is selected, and then on the
far right, in the Properties and Parameters pane, provide the following
information:
• In the Login and Password boxes, types the login credentials from the
MicroStrategy Cloud email.
• In the Executing area, next to the Script File .scp option, click the folder
icon to Browse to C:\MSTR, and select you TriggerEvent.scp. This
connects the process you added to your workflow, with the event you
scripted in Command Manager.
• In the Logging Information area, select Log output to specified file, click
the folder icon to Browse to C:\MSTR, and select OutputLogFile.txt. This
279 Exercise 10.2: Create a workflow to automate History List refresh © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
ensures that your workflow, when executed, logs to the txt file you
created.
© 2022 MicroStrategy, Inc. Exercise 10.2: Create a workflow to automate History List refresh 280
10 Automating Administrative Tasks Administration for Enterprise Analytics
• If the workflow is valid, in the System Manager message window, click OK.
3 On the toolbar, click Execute Workflow. The workflow creates the History List
messages and caches for the linked reports.
4 If the workflow does not complete correctly, at the bottom of the workflow
canvas, expand the Console and review the actions and details to identify the
problem.
6 In the Save As window, navigate to the C:\MSTR folder and save the workflow
as TriggerEventWorkflow.smw. Click Save. Minimize System Manager.
281 Exercise 10.2: Create a workflow to automate History List refresh © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10
2 On the left, for the MicroStrategy Tutorial project, click History. The History
List messages for the reports linked to the triggered event are displayed.
4 To view the log generated by the System Manager workflow, open the
OutputLogFile.txt file located in C:\MSTR.
© 2022 MicroStrategy, Inc. Exercise 10.2: Create a workflow to automate History List refresh 282
10 Automating Administrative Tasks Administration for Enterprise Analytics
283 Exercise 10.2: Create a workflow to automate History List refresh © 2022 MicroStrategy, Inc.
A
APPENDIX A: AUTOMATING
ADMINISTRATIVE TASKS WITH
PYTHON
Administration automation
To expedite administrative tasks, you can leverage MicroStrategy’s mstrio
package, which integrates with Python and R. The mstrio package uses the
MicroStrategy REST API workflows to perform administrative tasks, like managing
users, servers, projects, and more. This workshop uses the Python package,
because Python is easy to use, and you do not need any prior coding experience
to leverage mstrio.
Some of the basic features that can be performed include creating and deleting
users, managing control and access of dossiers and documents, changing security
roles, creating user groups, and managing subscriptions.
Additional data science packages are available in mstrio to enable users to import
data from an Intelligent Cube or report into Python, and upload datasets directly
Your organization can control who can create and run scripts in Workstation.
Users with the Command Manager privilege can access scripts with Workstation,
and run certified scripts. Users with the Certifier role can create and certify scripts,
when paired with the Command Manager privilege. You can also control access
for individual scripts, by granting specified users or user groups privileges to
access, modify, or run the script.
A role is a collection of project-level privileges that are assigned to users and groups.
Privileges give users access to specific MicroStrategy functionality.
You can also use the drag-and-drop galleries to easily add common code snippets
to your script. The mstrio gallery contains all classes and functions available
within the mstrio Python modules, and the Script Gallery contains administration
and workflow code snippets.
You can create scripts from scratch in Workstation, leveraging these galleries to
expedite the process.
On the scripts page, the Last Run and Status columns give information after a
script has been run. The Status column displays one of the following icons:
• Failed : An error in the script caused it to fail. You can hover your cursor
over the failed icon to quickly debug the error.
In the Last Run column, click the Log icon to view more information about
the script’s last run.
• For successful runs, the log shows the output of the most recent run of your
script.
• For failed runs, the log shows the full error message, allowing you to debug.
Certifying python scripts allows users without the Certifier role to run the script
from their computer. Scripts that are certified are marked with the certified
icon in Workstation. You need to re-certify a script every time you edit or change
the script.
• Access Control List (ACL)—Represents a list of users and groups and the
access permissions that each of them has for the script.
Within Workstation, you can set permissions for scripts at both the user and user
group level.
4 Under Devices, click the Shared Drive icon to open the File Transfer menu.
6 Navigate to the folder where you saved the files for this workshop on your
local machine.
289 Exercise 1: Grant the certifier role to manage scripts © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Appendix A: Automating Administrative Tasks with Python A
10 On the remote Windows machine, open the File Explorer, then click This PC.
Under Devices and drives, double-click Guacamole Filesystem on
Guacamole RDP.
11 Verify that your files have been transferred, then copy them to the desktop of
your remote Windows machine.
You are currently connected to Workstation as the mstr user. In order to use
mstrio, you need additional administrative privileges.
4 In the Username box, type Administrator, and use the Password from your
Welcome to MicroStrategy on Cloud email.
© 2022 MicroStrategy, Inc. Exercise 1: Grant the certifier role to manage scripts 290
A Appendix A: Automating Administrative Tasks with Python Administration for Enterprise Analytics
Grant the Certifier role to the Administrator so you can add, create, edit, and run
Python scripts. The Administrator already has the Command Manager privilege
needed to access scripts.
4 Click the MicroStrategy Tutorial drop-down list, select Certifier, then click
OK.
5 Click Save.
291 Exercise 1: Grant the certifier role to manage scripts © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Appendix A: Automating Administrative Tasks with Python A
2 With Workstation, you can either create a new Python script or upload a script
from a Python (.py) file. Click Upload New Script to add the .py file.
© 2022 MicroStrategy, Inc. Exercise 2: Create a user group with mstrio to improve onboarding efficiency 292
A Appendix A: Automating Administrative Tasks with Python Administration for Enterprise Analytics
5 Type Scripts in the New Folder name box and press Enter.
8 Navigate to the desktop folder and double-click the Add_Users file. This file is
used in a later exercise.
The scripts page in Workstation now displays the two scripts you uploaded. As
an administrator with the certifier role, you can run these scripts at any time.
1 To ensure users execute scripts that are approved by the enterprise, users can
only run scripts that have been certified. Right-click Create_Group.py, and
select Certify. The certified icon now displays next to the script.
2 Right-click Add_Users.py and click Certify; both scripts are now certified.
293 Exercise 2: Create a user group with mstrio to improve onboarding efficiency © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Appendix A: Automating Administrative Tasks with Python A
The .py file contains blocks of code to connect to a project, create a security role,
create a user group, and then assign the security role to the user group. This script
is ready to be ran as is, and does not require any modification. This exercise walks
you through the different parts of code used in the script.
Lines that begin with a pound sign (#) are called comments. They display in the
editor as green, and are not executable code. Using comments can help keep your
script organized, and they can help others understand the contents of your script.
• The first lines of code, under the #import package comment, are import
statements. They import the required mstrio modules to run this script.
Python packages, such as mstrio, are large and often broken down into
individual modules. If you imported all the modules in the mstrio package, it
could slow down the script. Instead, use import commands to import select
modules of the package. For this exercise, the script imports modules that
connect to a MicroStrategy environment, manage user groups, and manage
security roles.
The project_name object specifies which project to connect to, and the conn
object uses a mstrio function called get_connection to connect to that
project. For this exercise, you are working in the MicroStrategy Tutorial
© 2022 MicroStrategy, Inc. Exercise 2: Create a user group with mstrio to improve onboarding efficiency 294
A Appendix A: Automating Administrative Tasks with Python Administration for Enterprise Analytics
• The next line of code, under the #set security role comment, creates a
security role object. This code only creates the object, the code to assign the
object to the user group is later in the script.
The new hires all work for the analytics department, so this script creates an
analyst security role object. If you wanted to assign a different security role,
such as Certifier, simply enter a different role between the quotation marks.
• The next line of code, beneath the #create group comment, creates the New
Hires user group.
• The final line of code, under the #add security role to the New Hires group
comment, grants the security role to the group.
295 Exercise 2: Create a user group with mstrio to improve onboarding efficiency © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Appendix A: Automating Administrative Tasks with Python A
1 Click Run to execute this script. A console displays at the bottom of the
window, showing the output of the script.
3 Click Scripts. The Last Run column for the Create_Group.py script has been
updated, and the Status column shows a success. Click the Log icon to
open the log.
This is the same output that displayed in the console previously. You can verify
a script’s function by checking the log of its most recent run.
© 2022 MicroStrategy, Inc. Exercise 2: Create a user group with mstrio to improve onboarding efficiency 296
A Appendix A: Automating Administrative Tasks with Python Administration for Enterprise Analytics
6 Click Groups to display the New Hires group. You may need to click Refresh to
see the group. You successfully used a script to create a new user group.
When scripts are uploaded to the metadata through Workstation, the ACLs are set
by default to Full Control for the owner and Denied All for all other users. You
want your team member, Crisby, to modify and run the create users script. You
also want users in the Northeast Employees group to be able to view the script. To
grant access to the script, set the appropriate ACLs.
1 Click Scripts.
6 In the Search Bar, type Northeast, and click Northeast Employees. By default,
they are assigned the view permission.
297 Exercise 2: Create a user group with mstrio to improve onboarding efficiency © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Appendix A: Automating Administrative Tasks with Python A
7 Click OK. Crisby can now modify the script, and Northeast Employees have the
ability to view the script.
If Crisby is later added to the Northeast Employees group, his user level
permissions would override the group level permissions, and he would still be
able to modify the script.
After sharing a script with a user or user group, you may want to give them
additional permissions, such as the Certifier role or Command Manager
privilege, so they can run or edit the script.
© 2022 MicroStrategy, Inc. Exercise 2: Create a user group with mstrio to improve onboarding efficiency 298
A Appendix A: Automating Administrative Tasks with Python Administration for Enterprise Analytics
For this script, the user information is entered directly into the script. You can also
create users from a csv file using mstrio.
This script begins in a similar manner to the script you ran in Exercise 2: Create
a user group with mstrio to improve onboarding efficiency, with a series of
import statements, followed by code to generate a connection to the
environment.
While typing code, the mstrio editor shows auto complete options. Press Tab
to select the highlighted option. This can expedite your code writing process.
3 Under the #set variables comment, you need to add some additional
information so mstrio knows what user group to connect to. After conn, type ,
“New Hires” (make sure to include the comma and quotation marks). This
creates an object that connects to the New Hires user group you previously
created.
299 Exercise 3: Edit and run the Add Users script © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Appendix A: Automating Administrative Tasks with Python A
4 Read the block of code under the comment #list (Python dictionary) of
users, this code contains a list of the users you want to create.
Python lists contain multiple items in a single object. This list contains three
items, one for each user. Each user has a login ID, a password, a full name, and
an email associated with them.
5 All users are assigned the same password, Hello123!. To fix this bad security
practice, you want to require users to change their passwords.
Under the comment #create users from list above, after [“user_pwd”], press
Enter.
© 2022 MicroStrategy, Inc. Exercise 3: Edit and run the Add Users script 300
A Appendix A: Automating Administrative Tasks with Python Administration for Enterprise Analytics
This block of code uses a for loop to iterate, or cycle, through the items in the
users list, creating each user. If you wanted to create an additional user, simply
add another entry to the list.
8 Your team hired Gary Bronson to help you write scripts, so he should be
assigned the Certifier role. The code to assign him this role is under the
comment #create and grant security role.
The first line of code in this block, beginning with role_user = SecurityRole,
creates the Certifier security role object.
The line beginning with user creates a user object, but mstrio does not know
which user to create this object for. After conn, type , username =
“gbronson”. Make sure to include the comma and quotes.
The final line of code in this block, beginning with role_user.grant, assigns the
security role object to the user object.
10 Click Run. Once the console displays a success message, close the editor
window.
301 Exercise 3: Edit and run the Add Users script © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Appendix A: Automating Administrative Tasks with Python A
Since you edited this script, it is no longer certified. This script does not need
to be run again, so you can leave it uncertified.
2 Click Groups, then expand the New Hires group. If you do not see the new
users, click Refresh.
The User Must Change Password at Next Log In box is selected, because of the
line you added to the Create Users script.
For the MicroStrategy Tutorial project, you can see Manta has two roles. He
has the Normal Users role that is assigned to everyone, as well as the Analyst
Role assigned to the New Hires user group.
7 Click Project Access & Roles. Gary has three roles for the Tutorial Project,
since he was also assigned the Certifier role.
© 2022 MicroStrategy, Inc. Exercise 3: Edit and run the Add Users script 302
A Appendix A: Automating Administrative Tasks with Python Administration for Enterprise Analytics
2 Import the required packages. Type (or copy and paste) the following code. A
text file, Code_Snippets.txt, is provided in the exercise files for this workshop
that you can use to copy and paste from.
# import package
#connect to environment
conn=get_connection(workstationData,project_name)
4 Create the New Hires group object by entering the following code:
#select group
303 Exercise 4: Create a new script to assign dossiers to the user group © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Appendix A: Automating Administrative Tasks with Python A
5 You want to assign several dossiers to the New Hires group. Create a list of
dossiers with the following code:
doss_to_publish = {
"doss1": {
"type" : "dossier",
},
"doss2": {
"type" : "dossier",
},
"doss2": {
"type" : "dossier",
© 2022 MicroStrategy, Inc. Exercise 4: Create a new script to assign dossiers to the user group 304
A Appendix A: Automating Administrative Tasks with Python Administration for Enterprise Analytics
6 Add the following code to create a loop to publish the dossiers to the user
group:
for i in doss_to_publish:
dos.publish(recipients=[group.id])
305 Exercise 4: Create a new script to assign dossiers to the user group © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Appendix A: Automating Administrative Tasks with Python A
8 Run the script. Once a success message displays, close the editor. This script
does not need to be run again, so there is no need to certify it.
3 Enter edavis as the user name, and Hello123! as the password. Click Log In
With Credentials.
4 Since you required the user to change their password the first time they log in,
the Set a New Password window displays. Enter Hello123! in the Old
Password box, then Goodbye789? in the New Password and Confirm New
Password boxes.
5 Click Done to log in. Click Skip to close the Library Welcome window.
You have successfully used mstrio to onboard new users to the MicroStrategy
environment. To get more hands-on experience with mstrio and automating
administrative tasks, take 2022.066: Platform Administrator to learn more about
mstrio. To see more in-depth information on all of the available packages and
modules, as well as example scripts, access the online mstrio documentation.
© 2022 MicroStrategy, Inc. Exercise 4: Create a new script to assign dossiers to the user group 306
A Appendix A: Automating Administrative Tasks with Python Administration for Enterprise Analytics
307 Exercise 4: Create a new script to assign dossiers to the user group © 2022 MicroStrategy, Inc.
B
APPENDIX B: CONFIGURING
LIBRARY SECURITY FOR
HYPERINTELLIGENCE
If you have installed the MicroStrategy platform on-premise, you must modify
some Library security settings to enable HyperIntelligence Cards to be displayed
as users are browsing web pages and interacting with web apps.
These steps are not necessary for this class, because MicroStrategy Cloud
environments allow this behavior by default.
© 2022 MicroStrategy, Inc. Configuring MicroStrategy Library to display data through the web browser 308
B Appendix B: Configuring Library Security for HyperIntelligence Administration for Enterprise Analytics
https://env-XXXXX.customer.cloud.microstrategy.com/
MicroStrategyLibrary/admin
2 Enter the user name and password from your MicroStrategy Cloud email.
5 Click Save.
To apply your changes on the Library Server, you must restart your web server. To
do this, use Xming and PuTTY to access the Linux machine from the Windows box,
and then restart the Web Server.
309 Configuring MicroStrategy Library to display data through the web browser © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Appendix B: Configuring Library Security for HyperIntelligence B
You launch Xming and then PuTTY to connect to your Linux environment from
the Windows box in your cloud environment.
Launch Xming
Launch PuTTY
You launch PuTTY, which is an open source Secure SHell (SSH) and telnet client for
Windows, to connect to a Linux machine.
4 In the Putty Configuration window, select the Session category, and in the
Host Name (or IP address) box, type the IP address of the Intelligence Server
that is listed in the hosts file.
© 2022 MicroStrategy, Inc. Configuring MicroStrategy Library to display data through the web browser 310
B Appendix B: Configuring Library Security for HyperIntelligence Administration for Enterprise Analytics
6 Select the Enable X11 forwarding check box, and in the X display location
box, type localhost:0.0.
311 Configuring MicroStrategy Library to display data through the web browser © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Appendix B: Configuring Library Security for HyperIntelligence B
7 Click the Session category, and in the Saved Sessions box, type MySession,
and click Save.
Saving the session information enables you to access it again later without
having to re-enter information in the PuTTY Configuration window.
9 When prompted for a login, type the user name (mstr) for your SSH session
and press Enter. You can find the user name (and password) information in
the MicroStrategy Cloud email.
10 When prompted, type the password from your MicroStrategy Cloud email.
Instead of typing the password, you can also simply copy the password
from the MicroStrategy Cloud email and, in the console, right-click and
press Enter.
13 Identify the first folder in the list, and change the directory to the identified
folder’s bin folder. For example, type cd apache-tomcat-<latest release>/bin
and press Enter.
© 2022 MicroStrategy, Inc. Configuring MicroStrategy Library to display data through the web browser 312
B Appendix B: Configuring Library Security for HyperIntelligence Administration for Enterprise Analytics
15 To restart the web server, type ./startup.sh and press Enter. The web server
requires a few moments to restart.
The web server is restarted and your Library settings have been updated. The
HyperIntelligence Chrome extension can now underline words on all web pages
and web apps, and display your cards.
• The client application, for example, the web browser, is closed and opened
again
• The Web Idle Timeout setting (in the Intelligence Server Configuration Editor’s
Governing area, under User Sessions) is exceeded
• The user has been logged in longer than the <session-timeout> or <http
session timeout> setting allows, as defined in the MicroStrategy Library
web.xml file
Before you modify this setting, weigh the convenience benefit of fewer
logins against the security cost of exposing your data for long periods,
and consult your organization’s security governance rules and
protocols.
313 Keep Library session alive without re-authentication © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Appendix B: Configuring Library Security for HyperIntelligence B
To extend the user session, in the Library Admin page, select Keep Users Logged
In to keep users logged in based on the Intelligence Server’s Token Lifetime
setting, which is 24 hours by default.
© 2022 MicroStrategy, Inc. Keep Library session alive without re-authentication 314
B Appendix B: Configuring Library Security for HyperIntelligence Administration for Enterprise Analytics
315 Keep Library session alive without re-authentication © 2022 MicroStrategy, Inc.
C
APPENDIX C: INSTALLING
MICROSTRATEGY
MicroStrategy offers several alternatives to giving your users access to the best
business intelligence software. Use the following considerations to decide on the
most effective way for your organization to give your users this access.
You can leverage the Amazon Web Services (AWS) or Microsoft Azure cloud
infrastructure to quickly take advantage of an integrated set of the MicroStrategy
platform’s capabilities in a cost- effective manner. You can deploy MicroStrategy in
the cloud either as a self-service solution or as a fully-managed solution.
On-premise deployment
• Performance tuning
• Managing security
• Troubleshooting issues
Most MicroStrategy products are available for both the Windows and Unix/Linux
environments. You can use the MicroStrategy Installation Wizard to install
products in both these environments.
An Express installation also offers the option to perform silent install, which
enables you to deploy the MicroStrategy platform across the network through the
Microsoft System Management Server (SMS) or its equivalent, such as IBM Tivoli.
The silent install mode greatly improves the speed and ease of gaining access to
enterprise analytics.
Anwhere
Express installation is designed for proof-of-concept type situations
only a few users are expected to use the software system. Do not
use an Express installation for a production environment.
See the latest MicroStrategy Readme for supported and certified third-party
applications that work alongside your MicroStrategy platform.
• Dedicated servers:
Intelligence Server: As the Intelligence Server performs a wide variety of
memory-intensive processes, including caching, scheduling, and cube
generation, you should always install the Intelligence Server on its own
dedicated server in production environments
MicroStrategy Web: Because most users access the MicroStrategy platform
through a browser, you should install MicroStrategy Web on its own
dedicated web server.
Other components of the platform can be installed together in varying
combinations, depending on the available machine resources.
• Automatic restart: To speed up the installation process, when you use the
MicroStrategy Installation Wizard to install MicroStrategy products, you can
select to automatically restart the machine after the installation is complete.
This allows you to complete other tasks while the installation proceeds. After
the machine reboots, you can log in to complete the configuration.
• Installing in a LINUX environment: When you use the Installation Wizard in a
LINUX environment, you can register selected MicroStrategy processes as
operating system services so that the processes automatically start whenever
the machine is restarted. To achieve this, perform the install as the root user to
register processes. Additionally, root users can identify which non-root user
they want to designate to start the processes, allowing a non-root user to start
the system after the installation is complete. In this scenario, the processes
automatically start as a non-root user whenever the machine is restarted.
• Installation Name
• Installation Location
• Production
• Development
• Testing
• Training
• Other
• Installation Use
Installing Workstation
These steps show you how to install Workstation on your local computer, from the
Cloud environment you use in this class.
Install Workstation
2 Extract the contents of the MicroStrategy Workstation installation zip file onto
your local computer.
Trademark Information
The following are either trademarks or registered trademarks of MicroStrategy Incorporated or its affiliates in the United States
and certain other countries:
Dossier, Enterprise Semantic Graph, Expert.Now, Hyper.Now, HyperIntelligence, HyperMobile, HyperScreen, HyperVision,
HyperVoice, HyperWeb, Intelligent Enterprise, MicroStrategy, MicroStrategy 2019, MicroStrategy 2020, MicroStrategy 2021,
MicroStrategy Analyst Pass, MicroStrategy Architect, MicroStrategy Architect Pass, MicroStrategy Badge, MicroStrategy Cloud,
MicroStrategy Cloud Intelligence, MicroStrategy Command Manager, MicroStrategy Communicator, MicroStrategy Consulting,
MicroStrategy Desktop, MicroStrategy Developer, MicroStrategy Distribution Services, MicroStrategy Education, MicroStrategy
Embedded Intelligence, MicroStrategy Enterprise Manager, MicroStrategy Federated Analytics, MicroStrategy Geospatial
Services, MicroStrategy Identity, MicroStrategy Identity Manager, MicroStrategy Identity Server, MicroStrategy Integrity
Manager, MicroStrategy Intelligence Server, MicroStrategy Library, MicroStrategy Mobile, MicroStrategy Narrowcast Server,
MicroStrategy Object Manager, MicroStrategy Office, MicroStrategy OLAP Services, MicroStrategy Parallel Relational
In-Memory Engine (MicroStrategy PRIME), MicroStrategy R Integration, MicroStrategy Report Services, MicroStrategy SDK,
MicroStrategy System Manager, MicroStrategy Transaction Services, MicroStrategy Usher, MicroStrategy Web, MicroStrategy
Workstation, MicroStrategy World, Usher, and Zero-Click Intelligence.
The following design mark is a registered trademark of MicroStrategy Incorporated or its affiliates in the United States and
certain other countries:
Other product and company names mentioned herein may be the trademarks of their respective owners.
Specifications subject to change without notice. MicroStrategy is not responsible for errors or omissions. MicroStrategy makes
no warranties or commitments concerning the availability of future products or versions that may be planned or under
development.
The Course and the Software are copyrighted and all rights are reserved by MicroStrategy. MicroStrategy reserves the right to
make periodic modifications to the Course or the Software without obligation to notify any person or entity of such revision.
Copying, duplicating, selling, or otherwise distributing any part of the Course or Software without prior written consent of an
authorized representative of MicroStrategy are prohibited.