AdministrationforEnterpriseAnalytics 11.3.5

Download as pdf or txt
Download as pdf or txt
You are on page 1of 324

Administration

for Enterprise Analytics

Learning path: Platform Administrator


CONTENTS

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

© 2022 MicroStrategy, Inc. 2


Contents Administration for Enterprise Analytics

Exercise 2.5: View a dossier in Library .......................................................38


Expand data utilization with MicroStrategy HyperIntelligence ..............39
The HyperIntelligence architecture...........................................................40
Exercise 2.6: Install the HyperIntelligence Chrome extension.........42
Displaying easily consumable data on HyperIntelligence Cards............43
Exercise 2.7: Analyze data as you browse the web ..............................45
Customize the HyperIntelligence web extension ........................................47
Exercise 2.8: Disable card links for specific sites....................................49
Activity: Your MicroStrategy architecture .......................................................50

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

3 © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Contents

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

© 2022 MicroStrategy, Inc. 4


Contents Administration for Enterprise Analytics

Administering updates: Starting and stopping the Intelligence 


Server..........................................................................................................................155
Administering Web to manage the Web user experience......................156
User preferences and project defaults ...................................................156
Exercise 6.7: Modify History List behavior for users...................................158
Troubleshooting: Maximize the user experience .......................................160
Get details about errors with log files.....................................................160
Core dump and call stack: Snapshots of the Intelligence Server
memory..............................................................................................................161

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

5 © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Contents

8. Managing the Project


Life Cycle
Project life cycle management overview ......................................................218
Creating related projects: Duplicating projects ..................................219
Exercise 8.1: Duplicate the MicroStrategy Tutorial project .............220
Object migration methods and best practices............................................223
Migration methods........................................................................................224
Maintaining the life cycle by migrating objects..........................................227
Conflict resolution..........................................................................................228
Excluding migration of dependencies ...................................................231
Migration details in a shareable file: Update packages............................231
Best practices for update packages.........................................................233
Alternatives for creating and importing update packages:
command line, Command Manager, and more..................................233
Copying objects across unrelated projects ..........................................234
Exercise 8.2: Create an update package.................................................235
Migrating entire projects.....................................................................................236
Exercise 8.3: Merge projects using the Project Merge Wizard .......238

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

© 2022 MicroStrategy, Inc. 6


Contents Administration for Enterprise Analytics

Automating and standardizing system processes: System 


Manager.....................................................................................................................264
Task workflow and components...............................................................265
Validating and testing a workflow ...........................................................274
Executing a workflow ...................................................................................274
Exercise 10.2: Create a workflow to automate History List refresh ......276

A. Appendix A: Administration automation................................................................................284


Automating
Managing scripts in Workstation......................................................................285
Administrative Tasks
with Python Editing and creating scripts................................................................................286
Running scripts in Workstation .........................................................................287
Certifying scripts: Maintaining a single version of the truth ..........288
Managing access to MicroStrategy objects: Permissions and 
ACLs.....................................................................................................................288
Exercise 1: Grant the certifier role to manage scripts................................289
Exercise 2: Create a user group with mstrio to improve onboarding
efficiency ...................................................................................................................292
Exercise 3: Edit and run the Add Users script...............................................299
Exercise 4: Create a new script to assign dossiers to the user group ..303

B. Appendix B: Configuring MicroStrategy Library to display data through the web


Configuring Library browser ......................................................................................................................308
Security for
Keep Library session alive without re-authentication ..............................313
HyperIntelligence

C. Appendix C: Installing Installation and deployment vitals ..................................................................316


MicroStrategy Installation and deployment details........................................................317
Intelligence Server installation and activation ............................................318
Express and custom installations .....................................................................318
Installation best practices ...........................................................................319
Activating your installation: Making the most of technical 
support...............................................................................................................321
Accessing resources: Connect with the Community.........................322
Installing Workstation...........................................................................................322

7 © 2022 MicroStrategy, Inc.


1
INTRODUCTION TO
ADMINISTERING MICROSTRATEGY

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.

• Understand the MicroStrategy architecture

• Access and configure the MicroStrategy products and tools used in this class.

Administering the Intelligent Enterprise


This course helps you understand and develop the skills to work with the
MicroStrategy Intelligence platform and administer its critical components in an
Intelligent Enterprise.

The Intelligent Enterprise is a data-driven organization that designs and


implements Business Intelligence solutions effectively while promoting efficient
use of data across your enterprise. This fosters growth and development, with a
focus on data governance and alignment of strategic business goals to
technology investments.

© 2022 MicroStrategy, Inc. Administering the Intelligent Enterprise 8


1 Introduction to Administering MicroStrategy Administration for Enterprise Analytics

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:

• Drives adoption and success of enterprise analytics. For administrators, this


means analyzing real-time usage data to keep the pertinent documents and
dossiers in the right hands at the right time.

• Coordinates analytics implementations. For administrators, this means


working closely with your Platform Administrator to ensure the latest software
and hardware changes are aligned to your performance goals for
MicroStrategy and that new mobile apps are made available to the right users
quickly.

• 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.

• Provides a formal approach to documenting processes, creating content, and


performing ongoing maintenance. For administrators, this means
documenting administrative processes and keeping them updated regularly
to reflect changes over time. System performance integrity is grounded in
reliable repeatable maintenance processes.

• 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.

MicroStrategy Intelligence platform


The MicroStrategy Intelligence platform empowers organizations to analyze vast
amounts of data, offer tangible solutions to business queries, build data
visualizations, and enable users to share their insights anywhere and anytime.

The MicroStrategy Intelligence platform architecture includes all the required


components to support an organization’s analytics needs, from self-service
reporting through creating enterprise projects for a complete analytical workflow.
These components include:

• Metadata repositories, and the servers required to assemble metadata objects


and provide core analytical processing power for any type of analytics project.

9 MicroStrategy Intelligence platform © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Administering MicroStrategy 1

• The clients through which users request and receive reports, from business
analysts to developers and administrators.

• The tools to define and manage the analytics infrastructure.

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

As an administrator, let’s take a few minutes to become aware of the following


client and administrative products and tools.

Connecting to your organization’s data: Data sources


At the foundation of the MicroStrategy analytics platform architecture is your
data. MicroStrategy can connect to a spectrum of data sources, such as:

• User or departmental data (spreadsheets, small databases, or text files)

• ERP, CRM, and Web applications such as SalesForce.com

• Multidimensional data sources

• Relational databases

• Data warehouse appliances

© 2022 MicroStrategy, Inc. MicroStrategy Intelligence platform 10


1 Introduction to Administering MicroStrategy Administration for Enterprise Analytics

• Columnar databases

• MapReduce databases

MicroStrategy high-performance technology supports fast queries on large


datasets. The Intelligence Server can efficiently pull data from sources that
specialize in handling petabytes of data, like Hadoop, or those that provide near
real-time data, like SAP HANA. In the dossier below, the lines on the left in the
Datasets pane show where individual objects (and their associated data) are
being pulled from various data sources into a single visualization on a dossier.

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.

11 MicroStrategy Intelligence platform © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Administering MicroStrategy 1

Mapping reporting objects to data sources: The


metadata database
A MicroStrategy metadata database contains information that enables
MicroStrategy projects to retrieve and display data from data sources. The
metadata stores MicroStrategy object definitions and maps MicroStrategy objects
to the data source structures and content. All MicroStrategy analysis,
development, delivery, and administration projects can share a common
metadata in your environment.

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 metadata repository is the heart of your enterprise analytics system,


providing the basic building blocks for reports, dashboards, and projects.
Typically, at the start of creating a new project, a BI architect creates a model that
maps your enterprise data sources into an organized catalog of logical business
definitions. This model, called the data abstraction layer, is stored in the metadata
and serves as the business representation of your corporate data. Mapping
complex data into familiar business terms such as revenue, profit, product, or
customer offers a unified, consolidated view of data across the organization. This
enables business users to quickly get up to speed and start analyzing data.

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,

© 2022 MicroStrategy, Inc. MicroStrategy Intelligence platform 12


1 Introduction to Administering MicroStrategy Administration for Enterprise Analytics

creating a trusted, intelligent, and scalable index of your enterprise data assets
that is called the semantic graph.

Core of the platform: Intelligence Server


MicroStrategy Intelligence Server is the core component of the MicroStrategy
platform. This server manages communication between clients (such as
MicroStrategy Developer, MicroStrategy Web, or MicroStrategy Office users) and
the metadata and warehouse. The following image shows the role of Intelligence
Server in the MicroStrategy architecture:
Role of MicroStrategy Intelligence Server

Whether a report developer is testing a report or a subscriber is receiving a report


by email—all of these users rely on the Intelligence Server to pass requests to the
data sources and retrieve report results. As part of this process, everything from
authenticating user permissions to prioritizing jobs to caching report results is
performed by the Intelligence Server.

Intelligence Server also houses the MicroStrategy Engine which consists of three
primary components, each with its own unique functionality:

• SQL Engine—Generates the SQL for report requests

• Query Engine—Submits SQL to the data warehouse and retrieves result sets

• Analytical Engine—Performs any analytical processes that cannot be


handled by the data warehouse

13 MicroStrategy Intelligence platform © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Administering MicroStrategy 1

The following diagram shows the components of the MicroStrategy Engine:


MicroStrategy Intelligence Server Engine

Finally, Intelligence Server provides a variety of functionality to assist with project


administration and maintenance such as job and performance monitors, job
governing parameters, project-level security, object caching, clustering, and so
on.

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.

MicroStrategy products and tools


The MicroStrategy analytics platform includes the following tools and interfaces
that enable you to logically organize data so that you can quickly and easily
analyze complex data relationships:

• MicroStrategy Developer—A client/server application that project designers


use to create MicroStrategy projects. A MicroStrategy project is a location in
the MicroStrategy Enteprise Platform suite of products where schema and
project objects can be created. These objects are then used by report
designers in MicroStrategy Web (or Developer) to create reports, documents,
and other reporting objects consumed by business analysts. MicroStrategy

© 2022 MicroStrategy, Inc. MicroStrategy Intelligence platform 14


1 Introduction to Administering MicroStrategy Administration for Enterprise Analytics

Developer is also the location of most administrative tools used to manage


and optimize the MicroStrategy Enterprise Platform.
 MicroStrategy Architect—An application to create the lowest-level
metadata objects in a MicroStrategy project, such as logical tables that
map to database tables, schema and project objects, etc. Architect is
located in Developer.

• MicroStrategy Workstation—A unified tool that combines the power of


MicroStrategy Library, user management, and content authoring into a single
user experience. You can access dossiers, reports, Library, documents,
datasets, and perform environment, scheduling, and user management in
Workstation. It enables you to generate insights offline or when connected to
the server.

• MicroStrategy Web—An intuitive reporting interface for business users that


offers interactive reporting and analysis through a web browser.
MicroStrategy Web is also the go-to product to design and create reports,
documents, and dossiers for other business users.

• MicroStrategy Library—An innovative tool for business users. Library


provides a powerful way to explore data in interactive visualizations, without
prior business intelligence experience.

• MicroStrategy Mobile—An interactive interface of the MicroStrategy


Analytics platform that lets mobile business users run reports, documents,
and dossiers directly from their Apple iPhone®, iPad®, or Android smartphone
or tablet.

• MicroStrategy Office—Enables business users to run and analyze reports in


Microsoft Excel®, Word®, or PowerPoint® using a Microsoft.NET®-compliant
web services architecture.

• MicroStrategy SDK—A collection of development tools that enable users to


customize and extend MicroStrategy products and to integrate them within
other applications.

Responsibilities of a MicroStrategy administrator


As an administrator in the MicroStrategy environment, you have the task of
developing and monitoring the behind-the-scenes activity that drives the
performance and success of the MicroStrategy business intelligence system. A
sampling of administrative responsibilities includes:

• Installing MicroStrategy products and establishing connectivity between


various components

15 MicroStrategy Intelligence platform © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Administering MicroStrategy 1

• Configuring the MicroStrategy Analytics platform environment

• Optimizing performance

• Managing security

• Managing project life cycles

• Ensuring project integrity

• Performing routine administrative tasks

• Monitoring the project environment and troubleshooting problems

© 2022 MicroStrategy, Inc. MicroStrategy Intelligence platform 16


1 Introduction to Administering MicroStrategy Administration for Enterprise Analytics

Exercise 1.1: Access the cloud environment


This class gives you experience working with MicroStrategy’s state-of-the-art
administrative and reporting product, Workstation. You also get experience in
MicroStrategy’s widely recognized Developer product and its time-honored
administration tools. Other exercises use MicroStrategy Web, Library, and
HyperIntelligence for understanding what your user base experiences when you
perform administrative actions, and to take advantage of telemetry data and
Hyper’s zero-click data access for your administration tasks.

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.

Access your cloud environment

1 In the MicroStrategy Cloud email, click Access MicroStrategy Platform.

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.

17 Exercise 1.1: Access the cloud environment © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Administering MicroStrategy 1

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.

5 Under All Connections, click Developer Instance RDP.

© 2022 MicroStrategy, Inc. Exercise 1.1: Access the cloud environment 18


1 Introduction to Administering MicroStrategy Administration for Enterprise Analytics

You are connected to the Windows machine in your cloud environment.

19 Exercise 1.1: Access the cloud environment © 2022 MicroStrategy, Inc.


2
MANAGING ENVIRONMENTS,
PROJECTS, AND OBJECTS

Goals:

• Connect to Workstation to MicroStrategy projects, which organize your


reporting objects

• Learn about using .mstrc files and determine which projects load on
connection

• Use MicroStrategy dossiers and Library for administration work analysis and
collaboration

• Analyze user engagement to improve adoption

• Develop your HyperIntelligence skills and use HyperIntelligence to document


your organization’s MicroStrategy architecture

Accessing Intelligence Server and its projects:


Workstation environments
Workstation is a unified tool that combines collaboration, administration, and
content authoring into a single user experience. You can author reporting objects,
manage users, monitor services, configure connections, apply governing settings,

© 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.

An environment is an instance of MicroStrategy Intelligence Server that is


connected to a MicroStrategy project. This instance can exist as either an
on-premise deployment or on MicroStrategy Cloud. You connect Workstation to
an Intelligence Server environment to monitor and administer projects, services,
and users—as well as collaborate and share dossiers and documents with
colleagues. You can connect to and search multiple environments, and access
distributed reporting objects and servers.

Exercise 2.1: Connect to an environment


In this exercise, you connect to an environment and configure the environment to
load the MicroStrategy Tutorial project.

To connect Workstation to an environment, you can either use an .mstrc file or


manually enter the environment URL, and then sign in with your MicroStrategy
credentials.

An .mstrc file establishes connectivity between Workstation and a specific


environment. An .mstrc file for an environment contains all the environment
information and authentication method details, without saving login credentials.
The .mstrc file can be easily shared with other users who need to access that
environment, and saves those users from the trouble of entering connection
information or accidentally mistyping an environment address.

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.

Create a new environment connection

1 On your RDP homepage, double-click Workstation.

21 Exercise 2.1: Connect to an environment © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

2 In the Workstation window, click the plus sign + above Add New
Environment Connection.

3 In the Add New Environment Connection window, enter the following:



Environment Name: Type a unique environment identifier. For this
exercise, type AdminEA.
 Environment URL: Type your environment’s Library server URL in the
following format:

https://env-XXXXXX.customer.cloud.microstrategy.com/
MicroStrategyLibrary/

Replace XXXXXX with the environment ID in your MicroStrategy Cloud


email. The image below is an example; your environment ID is different.

© 2022 MicroStrategy, Inc. Exercise 2.1: Connect to an environment 22


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics


Authentication Mode: Select Standard and click Continue.

4 You are prompted to connect to your new environment. In the Connect to


Environment window, type the login credentials from the MicroStrategy
Cloud email and click Connect.

23 Exercise 2.1: Connect to an environment © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

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.

Verify connectivity to the environment

6 In Workstation, on the left, click Environments.

Your environment is displayed on the right with a status of Connected.

Managing connected environments


After you create and connect to an environment, you can perform a wide variety
of management tasks, including creating a connection file for your new
environment to distribute to other administrators, creating configuration files for
Excel and HyperIntelligence, applying administrative settings to adjust security
and performance, and so on.

© 2022 MicroStrategy, Inc. Exercise 2.1: Connect to an environment 24


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

Environment management tasks include configuring connections to third-party


projects, and managing the connection between Workstation and your
environment. Each environment can have its own administrative settings for
caching, timeouts, user session, and so on.

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.

25 Exercise 2.1: Connect to an environment © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

Exercise 2.2: Manage an environment


In this exercise, you rename your environment and generate an .mstrc connection
file. You then remove your environment so you can use the .mstrc connection file
in a later exercise to recreate the environment connection. You also export the
environment’s settings in a .csv file.

Manage your environment

1 In Workstation, on the left, click Environments if it is not already selected.

Rename your environment

2 Right-click AdminEA and select Edit Environment Information.

Mac users must disconnect the environment before selecting Edit.

3 In the Environment Name box, rename the environment to


AdminEA_Workstation and click Continue.

4 In the Connect to Environment window, type the credentials from your


MicroStrategy Cloud email, click Remember Me, and click Connect.

5 In the Select Projects window, select MicroStrategy Tutorial, click


Remember Selected Projects, and click OK.

© 2022 MicroStrategy, Inc. Exercise 2.1: Connect to an environment 26


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

Apply governing settings

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.

6 Right-click your AdminEA_Workstation environment and select Properties.


Properties include environment details and settings, and configuration
information.

7 On the left, click Governing Settings.

8 In the Maximum Number of Jobs box, type 5000.

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.

Create an environment settings file

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.

10 Right-click your AdminEA_Workstation environment and select Properties.

11 On the left, click All Settings. The Intelligence Server settings are displayed.

12 In the top right corner, click Export.

13 In the Save File window:

a Navigate to your computer’s desktop.

b In the File Name box, type AdminEA_Workstation_Settings.

c Click Save.

d Click the X to close the Properties window.

14 From the desktop, open AdminEA_Workstation_Settings.csv in your


version of Notepad and review the settings.

27 Exercise 2.1: Connect to an environment © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

Generate a connection file

An .mstrc connection file establishes connectivity between Workstation and a


specific environment. You can generate and provide this file to users in the
organization to simplify the connection process.

15 In Workstation, right-click your AdminEA_Workstation environment and


select Properties.

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.

17 Close the Properties window.

Creating, viewing, and changing projects


Projects are collections of objects, such as dossiers, documents, reports, datasets,
and HyperIntelligence cards that can be accessed through an environment
connection.

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,

© 2022 MicroStrategy, Inc. Creating, viewing, and changing projects 28


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

Library, or Developer. To learn project development skills, take the Project


Architecting class.

29 Creating, viewing, and changing projects © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

Exercise 2.3: Determine projects to load and disable


caching
When you connect Workstation to an environment, you can load one or more
projects to perform administrative tasks and interact with dossiers, reports, and
other objects. You can save the list of projects that load each time you connect to
your environment, and modify the list at any time.

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.

Modify the list of projects

Remove the environment connection

1 Right-click your AdminEA_Workstation environment and select Remove


Environment. The environment connection is removed from the
Environments screen.

Connect to the environment via the .mstrc file

2 Click Add New Environment Connection.

© 2022 MicroStrategy, Inc. Creating, viewing, and changing projects 30


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

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.

6 In the Select Projects window, select MicroStrategy Tutorial, click


Remember Selected Projects, and click OK. You have now connected to an
environment using that environment’s .mstrc file. Sending an .mstrc file to
other administrators is an easy way for them to get into a project with all the
same settings and configurations.

Modify the list of projects

7 Right-click AdminEA_Workstation and select Update Project List.

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.

31 Creating, viewing, and changing projects © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

Modify the display view of the available 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.

10 Click the List View icon .

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.

Best View only the objects for a single project


Practice
There are two projects loaded on this environment. In the real world, you may
have a lot more projects loaded. This can make object management
challenging. If you click Dossiers on the left, you see all dossiers for all projects,
and if more projects are loaded, the dossier display might be daunting. A
helpful technique is to organize displayed objects based on project.

12 On the left, click Dossiers.

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.

© 2022 MicroStrategy, Inc. Creating, viewing, and changing projects 32


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

Configure caching for prompted reports

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.

14 In Workstation, select Projects on the left.

15 Right-click MicroStrategy Tutorial. Then select Properties.

16 On the left, click All Settings.

17 In the Search box, type prompted.

18 Click the Enable caching for prompted reports and documents switch to
disable it.

19 Click OK.

Managing reporting objects

Sharing administrative data: Dossiers


While dossiers are a primary tool for business analysts to understand, report on,
and analyze trends for your organization’s business data, dossiers are also an
excellent tool for administrators. You can create dossiers to help you make
decisions on, and perform, administrative tasks like hardware resource
monitoring, network traffic usage, and so on. For example, you can import the
data from your hardware monitoring software and create dossiers that display
patterns on CPU, memory, and disk utilization, as well as network traffic.

33 Managing reporting objects © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

Dossier designers can create interactive data experiences by adding datasets,


developing dossiers, and sharing dossiers in Workstation.
Dossier in Workstation

© 2022 MicroStrategy, Inc. Managing reporting objects 34


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

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.

Data governance: Certifying reporting objects


Organizations need to be able to trust the quality of the data that their important
business decisions are based on. Data management tasks can include performing
the tasks mandated by your organization to confirm, and then certify, that the
data used in a given data set has been reviewed and officially approved. This type
of certification gives users confidence that their dossiers are based on appropriate
data approved for use in enterprise reporting and decision-making.

35 Managing reporting objects © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

As designers create and distribute content, projects can become cluttered,


reporting objects may be duplicated over time, and analysis may become
fragmented. To ensure that dossier and report designers use verified datasets and
that analysts view approved reports, you can certify reporting objects.

A certified object is a trustworthy source of data for users to analyze or to use as a


source to create other reporting objects. For example, the Marketing department
can publish a certified dataset, providing users with a shared and reliable source
of data that has been vetted through the organization's processes. MicroStrategy
users can leverage this dataset to create a dossier to present to customers with
confidence.

A certified object has been reviewed by trusted members of your organization


and considered an official source of content, based on reliable data. From
Workstation, users with the Can Certify privilege can certify the following objects:

• Dossiers

• Documents

• Reports

• Datasets

• Intelligent Cubes

• HyperIntelligence Cards

When a reporting object is certified, a certification symbol is displayed on its


bottom right corner, as in the following example dossier.

© 2022 MicroStrategy, Inc. Managing reporting objects 36


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

Exercise 2.4: Certify a dossier


You can certify objects in MicroStrategy to indicate that they have been reviewed
by an authority, and are approved for use in analytical projects. Even if you do not
certify data sets and objects yourself, it is important to understand the
certification process so that you can manage reporting objects and data sources
in a way that supports your organization’s data governance standards.

In this exercise, certify a dossier named Webcast Activity. After certification, a


badge icon is displayed on the dossier to indicate that it is certified.

Certify a dossier

1 In Workstation, on the left, click Dossiers,

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.

37 Managing reporting objects © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

Exercise 2.5: View a dossier in Library


Your MicroStrategy Library of saved dossiers is located on the left in Workstation,
accessed by clicking My Library. In this exercise, you learn to add a dossier to your
Library and to use My Library to access dossiers in your Library. This exercise also
shows you how a dossier displays to other users in their Libraries, so you know
what they see when you share a dossier.

Add a dossier to your Library

1 In Workstation, on the left, select Dossiers.

2 Right-click the Webcast Activity Overview dossier and select View in


Library. If prompted to login, type the login credentials from the
MicroStrategy Cloud email. The dossier opens.

• If your browser returns any warning messages, allow the dossier to display.

3 At the top right of the dossier, click Add to Library.

 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 you see a message regarding opening the link in an external


browser window, click OK.

– 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.

b In the Internet Options window, click the Security tab.

c Click Trusted Sites.

d Click Sites.

e In the Add this website to the zone box, enter https://


*.microstrategy.com.

f Click Close.

g Click OK.

h In the Address Bar, click Refresh.

© 2022 MicroStrategy, Inc. Managing reporting objects 38


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

4 Close the MicroStrategy Library web page.

Expand data utilization with MicroStrategy


HyperIntelligence
The people in your organization read the news, browse the web, transmit emails,
receive mobile calendar notifications, perform mobile searches, and interact with
other web apps every day. As they perform these actions, your organization's
employees may encounter customers, products, or personnel they need to learn
more about and with whom they want to build professional relationships. These
daily digital interactions naturally elicit questions which require further analysis.

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.

The power of HyperIntelligence lies in the ability to seamlessly distribute data as a


user performs daily tasks such as browsing the web, performing mobile searches,
viewing mobile notifications, reading emails in Microsoft Outlook, and so on.

39 Expand data utilization with MicroStrategy HyperIntelligence © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

When a user hovers her cursor over underlined keywords on the web, vital
business information is displayed, as shown in the example below.

HyperIntelligence enables you to deliver critical information to people in your


organization through informative cards that contain key performance indicators
about a given topic, such as contacts, customers, or products. By integrating your
data with the web applications that people already use, you remove traditional
barriers to data analysis and disperse knowledge throughout your organization.

The HyperIntelligence architecture


HyperIntelligence displays information through cards in:

• Web browsers as users browse the web and interact with web apps

• Mobile phones as users receive notifications, perform a Spotlight search, or


browse the HyperMobile app

• Microsoft Outlook as users send and receive emails

© 2022 MicroStrategy, Inc. Expand data utilization with MicroStrategy HyperIntelligence 40


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

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.

The HyperIntelligence architecture consists of the following components that


work together to quickly and securely deliver information to the intended
audiences:

• Intelligence Server: Manages the sharing and processing of data in a secure


environment.

• Library Server: Establishes the connection between the Intelligence Server


and the browser.

• Workstation: The tool used to create, format, and control access to


HyperIntelligence Cards based on cube data.

• Web browser: Displays HyperIntelligence Cards on web pages and web apps
through the HyperIntelligence browser extension.

• HyperMobile app: Displays HyperIntelligence Cards in the app, alongside


Calendar notifications, and in the search results for Spotlight searches.

• Microsoft Outlook: Displays HyperIntelligence Cards as users receive and


send emails.

41 Expand data utilization with MicroStrategy HyperIntelligence © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

The connections between the HyperIntelligence extension and server


components are displayed in the following diagram.

Exercise 2.6: Install the HyperIntelligence Chrome


extension
The MicroStrategy HyperIntelligence Chrome extension is a plugin for the Google
Chrome browser that enables you to connect to your MicroStrategy environment
and display data on web pages and apps.

Use the following steps to download the HyperIntelligence Chrome extension


from the Chrome web store.

Install the HyperIntelligence extension

1 Open Google Chrome.

2 Visit the Google Chrome web store using the following URL: https://
chrome.google.com/webstore/category/extensions

3 In the Search the Store box, type MicroStrategy HyperIntelligence.

© 2022 MicroStrategy, Inc. Expand data utilization with MicroStrategy HyperIntelligence 42


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

4 Click Add to Chrome next to the MicroStrategy HyperIntelligence


extension.

5 In the pop-up window, click Add Extension.

Displaying easily consumable data on


HyperIntelligence Cards
MicroStrategy offers a number of information products and tools that can benefit
not just your organization’s business analysts and sales team, but also your
administrative goals and planning. You installed the HyperIntelligence Chrome
add-in, and can now take advantage of system information in creative ways.

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.

43 Displaying easily consumable data on HyperIntelligence Cards © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

The header of the HyperIntelligence Card contains a keyword attribute, which


serves as the basis for analysis. For example, if you want to create a card that
displays information about your customers, you would use the Customer
attribute in the header. You would then display related attributes and metrics in
the card to convey the information your users need.

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.

© 2022 MicroStrategy, Inc. Displaying easily consumable data on HyperIntelligence Cards 44


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

Exercise 2.7: Analyze data as you browse the web


Now that you have installed the HyperIntelligence Extension, you are ready to
play the role of an analyst and begin consuming data on the web.

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.

In this exercise, you:

• Activate a demo card in the Chrome extension

• Analyze data using the card on a Google search page

• Disable HyperIntelligence functionality on specific web pages

45 Displaying easily consumable data on HyperIntelligence Cards © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

Analyze data on the web

1 Open Google Chrome.

2 To the right of the address bar, click the MicroStrategy HyperIntelligence


icon.

3 A list of sample HyperIntelligence cards is displayed. Click the toggle to enable


the Universities card, you may need to scroll down to see it.

Analyze your data from the web

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.

© 2022 MicroStrategy, Inc. Displaying easily consumable data on HyperIntelligence Cards 46


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

Customize the HyperIntelligence web


extension
To provide a cohesive experience across your organization’s business intelligence
tools, customize the HyperIntelligence web extension to align with your
organization’s branding. As an administrator, you can easily white label the
HyperIntelligence web extension in Workstation without needing to use code, to
apply custom branding and other pre-configurations. For example, you can
change the project name, description, and logo. The image below shows the web
extension customized to display an organization’s panda logo, rather than the
default MicroStrategy logo.

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.

To customize the web extension for an environment, right-click the environment


in Workstation and select Properties. Click Add-ins, and under HyperIntelligence
for Web Browser extension, click Customize Extension.

47 Customize the HyperIntelligence web extension © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

Specify your settings and pre-configurations in the easy-to-use customization


window, without needing to use any code. Click Generate File to generate the
extension source file, which you can host in your own secure server.

© 2022 MicroStrategy, Inc. Customize the HyperIntelligence web extension 48


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

Exercise 2.8: Disable card links for specific sites


This exercise shows you how to prevent HyperIntelligence functionality on
specific websites as an end user.

To prevent Hyper card links

1 In Chrome, next to the address bar, click the MicroStrategy


HyperIntelligence extension.

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.

4 In a new Chrome tab, perform a Google search for Colleges in Virginia.


Notice that colleges are not highlighted, and no longer trigger your card.

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.

49 Customize the HyperIntelligence web extension © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing Environments, Projects, and Objects 2

6 In Chrome, in the MicroStrategy HyperIntelligence Settings tab, click the


Delete icon next to www.google.com.

7 Return to your Google search results and notice that the colleges are
highlighted.

8 Click the MicroStrategy HyperIntelligence icon, scroll down to the


Universities card, and click the toggle to disable it.

Activity: Your MicroStrategy architecture


Now that you have set up a MicroStrategy system for this class and understand
how to take advantage of HyperIntelligence, take a few moments to locate some
of the products you now know about, within the MicroStrategy architecture.

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

© 2022 MicroStrategy, Inc. Activity: Your MicroStrategy architecture 50


2 Managing Environments, Projects, and Objects Administration for Enterprise Analytics

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.

51 Activity: Your MicroStrategy architecture © 2022 MicroStrategy, Inc.


3
SECURING USER PRIVILEGES AND
DATA ACCESS

Goals:

• Understand how to control access to data and objects for your users and user
groups in the MicroStrategy business intelligence environment.

• Set up user security within the business intelligence environment.

In this chapter, establish an important component of a secure MicroStrategy


system using Workstation. Learn how to create and manage users and user
groups; grant specific privileges to those users and groups; and then apply
security roles to specific users and groups to fine-tune access. Also, apply security
privileges to reporting objects, and security filters to sets of data.

Implementing security in your BI platform


To help you ensure the security of your valuable enterprise data, MicroStrategy
offers multiple layers of security throughout the BI platform. As an administrator,
you can use the following mechanisms in MicroStrategy to limit and personalize
access for every user and safeguard mission-critical data:

• Authentication: Authentication establishes a user's identity. MicroStrategy


provides the identity services that enable your users to sign in and access
MicroStrategy software and the projects you develop in the system.

© 2022 MicroStrategy, Inc. Implementing security in your BI platform 52


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

• 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.

• Object permissions: A permission applies to reporting objects, and is a set of


actions that can be performed by a user or user group on a reporting object or
folder.

• 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.

53 Implementing security in your BI platform © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

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:

BI Component to Apply Security to Security Mechanisms to Use

Data • Security filters


• Connection mapping

Reporting object or folder • Object permissions for actions on


objects

User and user group • Authentication credentials


• Privileges for software functionality
• Security roles

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.

MicroStrategy’s security model


MicroStrategy uses a multi-layered security model, with security options available
to be set at various levels within the project source structure of MicroStrategy.
Security layers include:

• Authentication level security: Controls whether a user’s login credentials can


access a given MicroStrategy software product

© 2022 MicroStrategy, Inc. Implementing security in your BI platform 54


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

• 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 and groups in MicroStrategy

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.

55 Users and groups in MicroStrategy © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

Exercise 3.1: Create a user

Create a new user

1 In Workstation, click Users & Groups on the left.

2 Next to All Users, click the Plus icon, the Create a New User window opens.

3 Type the following user information:

• Full Name: Manta Ray

• Email Address: For this exercise, type your email address

• Login ID: MRay

• 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.

© 2022 MicroStrategy, Inc. Users and groups in MicroStrategy 56


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

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.

57 Users and groups in MicroStrategy © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

Exercise 3.2: Create a group


Create a new group and define a set of functionality privileges for that new group,
so you can then grant the same privileges to multiple users by simply assigning
those users to your new group.

Create a new group and assign your new user to this group

Create a new group with privileges assigned to it

1 In Workstation, under Administration, click Users & Groups.

2 Click Groups.

3 Notice the default groups that come out-of-the-box with MicroStrategy.

• 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.

• Everyone: All users are automatically members of the Everyone group


(except for guest users, which belong to the Public/Guest group). The
Everyone group exists to make it easy for administrators to assign feature
privileges, security role memberships, or object access permissions to all
users at one time by assigning them once to the Everyone group.

• MicroStrategy Groups: A heading from which to access all of the other


pre-created groups in the system. These groups already have
business-based privileges assigned to them, so these groups serve as an
easy starting point for accessing and assigning a logical set of access
privileges that a given set of users may want to possess. For example, you
can create a new group and assign it to be part of the MicroStrategy
Desktop Designer group, thus instantly allowing all the Desktop Designer

© 2022 MicroStrategy, Inc. Users and groups in MicroStrategy 58


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

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.

5 In the Create New Group window, do the following:

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.

8 In Manta Ray’s editor, click User Groups on the left.

59 Users and groups in MicroStrategy © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

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.

10 Click Save to save your new privileges assignment.

How users and groups inherit privileges


If a group (or user) belongs to multiple groups with distinct privileges, the group
(or user) inherits a union of the privileges from all the groups to which they
belong.

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.

© 2022 MicroStrategy, Inc. Users and groups in MicroStrategy 60


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

Groups and job prioritization


You can use groups as a criteria for job prioritization. Job prioritization is defining
the order in which jobs are processed against a data source. By default, jobs are
executed as first-come, first-served. However, you can assign job priorities to
ensure that specific job types are processed before others.

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:

• Request type (such as element requests or report requests)

• Application type (such as Developer, MicroStrategy Web, or Scheduler)

• Report cost

• Project

For details on job prioritization, take the Analytics Performance Tuning course.

Disabling or deleting user accounts and groups


You may want to disable a user account, such as when a user has transferred to a
different department, or has left the organization but you are required to keep his
user account.

• 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.

61 Users and groups in MicroStrategy © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

• 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.

Privileges limited to a project: Security roles


As you have seen, privileges determine whether a user or group can perform
specific functionality in the software, such as creating a report, viewing report
SQL, or using administration monitors.

Privileges can be granted directly to users and groups if their security


Best requirements are unique and must be personalized. For the simplest
Practice maintenance, the most common approach to granting personalized privileges is
to assign them to a group and then add users as members of that group. Users
inherit the privileges of the group(s) the user belongs to.

Privileges granted to a user, either directly or through group membership, enable


functionality across all projects in that environment for that user or group.

Role-based access control (RBAC)


Best If you want to limit a user’s or group’s privileges to a specific project, you can grant
Practice privileges to a security role. To do this, you first group a specific set of privileges
into a security role, which aligns with a role in your organization, for example, an
Analyst, a Developer, and so on. You then assign the security role to a user or
group. Privileges assigned through security roles grant functionality within a
specific project. This lets you create different security profiles for a given user, in
separate projects.

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.

Role-based access control (RBAC) or role-based security is a common approach


used by most organizations to restrict access to data by authorized users. A
security role is MicroStrategy’s implementation of RBAC, defined around users
roles and privileges.

© 2022 MicroStrategy, Inc. Users and groups in MicroStrategy 62


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

Common business scenarios for security roles


A common example of using security roles is to grant extra privileges in a project
for analysts who have specific access needs beyond the normal analyst user. For
example, you have a project containing financial reports designed for
consumption on a phone or tablet, for executives to use on their mobile devices,
named FinRep Mobile. You have another project that contains the same financial
reports but designed for consumption on a web browser, for analysts to view via
Web, called FinRep Web.

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:

• The development environment contains the Financial Reporting project in


development (named FinReports - Dev).

• The UAT (testing) environment contains the Financial Reporting project in


testing (FinReports - UAT).

• The Production environment contains the Financial Reporting project in


production and being used by your financial department daily (FinReports
- Prod).

As in a standard BI reporting life cycle, reports, documents, and dossiers are


initially created and designed in the development (Dev) environment. They are
then migrated to the UAT environment to be tested. From there, the reports,
documents, and dossiers that pass testing are migrated to the production (Prod)
environment so end users can use them.

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: Developers build reports, documents, and dossiers.


Developers also perform most of the testing of any new reporting.

63 Users and groups in MicroStrategy © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3


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.

• Analysts: Analysts consume reports, documents, and dossiers throughout


their normal business day. Analysts also contribute to some user testing to
confirm user-requested changes to a dossier, test a new object within a
normal user workflow, perform official sign-off for new objects OK to move
to production, and so on.

Analyst have no access to development (FinReports – Dev).

Analysts need limited access to perform some testing (FinReports –
UAT).

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.

Action: No action required.

• Analyst:

Dev project: No access.

Action: No action required.



UAT project: Run only, with no ability to create new reports, modify
reports, and so on.

© 2022 MicroStrategy, Inc. Users and groups in MicroStrategy 64


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

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.

Predefined security roles


MicroStrategy comes with several pre-created security roles, which are assigned
to pre-created user groups automatically when you create a new metadata. Some
of the predefined security roles include:
• Application Administrator security role: Can access all project-specific tasks,
such as database and user management.

• Analyst security role: Can author dossiers, documents, and reports.

• Certifier security role: In addition to authoring capabilities, can certify objects


to maintain a single version of the truth and protect data governance in the
enterprise.

• 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.

• Consumer security role: Can only view and collaborate on a dossier or


document to which they have access.

• Intelligence Center roles:


 Analytics Architect security role: Can create, publish, and optimize
schema objects.

Application Architect security role: Can create, share, and maintain
intelligence applications. Can also publish standardized objects and
promote departmental projects.

65 Users and groups in MicroStrategy © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3


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.

Best In production environments, the default security model should be modified so


Practice that only authorized users have access to a project. You can use security roles in
such situations to grant or deny access to a project.

© 2022 MicroStrategy, Inc. Users and groups in MicroStrategy 66


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

Exercise 3.3: Create a security role and assign it to a


group
In this exercise, create a new security role and assign it to the new group. Assign
another security role to that same group, but for a different project.

Create a security role and assign it to your group

1 In the left pane, click Users & Groups.

2 Next to Security Roles, click the Plus icon. The New Security Role window
opens.

3 In the Security Role Name box, type WS_Admin_Role.

4 In the Description box, type Reporter and Web access.

5 Determine which privileges go with this new security role. On the left, click
Privileges.

6 Select Client-Reporter and Client-Web. Workstation automatically selects


the subset, individual privileges under each of these sets of privileges.

7 Click Create. Your new security role displays in the list of security roles.

Assign the new security role to your new group

8 Select Groups, then navigate to your newly created group. To do this, expand
MicroStrategy Groups, expand MicroStrategy Desktop Analyst, expand
MicroStrategy Desktop Designer.

67 Users and groups in MicroStrategy © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

Alternatively, you can quickly locate the group you want by typing Desktop in
the Search box at the top right, as shown below.

9 Right-click WS_AdminEA and click Edit.

10 On the left, click Project Access & Roles.

11 For the Human Resources Analysis Module application, expand the


drop-down list, then select the Certifier role check box. Then click OK.

© 2022 MicroStrategy, Inc. Users and groups in MicroStrategy 68


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

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.

How users, groups, and security roles inherit privileges


A user’s privileges within a project are composed of the following:

• Privileges assigned directly to the user

• 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

Managing access to MicroStrategy objects:


Permissions
Permissions define the type of access users and groups have over individual
objects or folders in the system. Each object and folder in the system contains an

69 Managing access to MicroStrategy objects: Permissions © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

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

Read • View the object and its definition and ACL

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

Delete • Delete the object

© 2022 MicroStrategy, Inc. Managing access to MicroStrategy objects: Permissions 70


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

Permission Description

Control • Modify the ACL of the object


• Take ownership of the object

Permissions are grouped for easy and fast assignment to an object. The following
diagram shows how the permissions are grouped:
Object Access Permissions

You can assign a predefined grouping of permissions or create a custom grouping


that is made up of the specific permissions you need in a group, for a given object.

Default permissions for folders in a new project


In a new MicroStrategy project, the default behavior enables users to save objects
only within their personal folders. Administrative users are the only ones who can
save objects within the Public Objects folder. Folders in a new project are created
with these default ACLs:

Object User ACL

• Public Objects Administrator Full Control


• Schema Objects
Everyone Browse

Public/Guest Browse

Inherited ACL Administrator Default

Everyone View

Public/Guest View

71 Managing access to MicroStrategy objects: Permissions © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

Object User ACL

Personal folders Owner Full Control

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.

An object’s permissions and who has them: Access


Control List (ACL)
The Access Control List (ACL) of an object is a list of users and groups and the
access permissions that each of them has for the object.

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.

© 2022 MicroStrategy, Inc. Managing access to MicroStrategy objects: Permissions 72


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

When granting permissions to objects, you need to make the following decisions
for an object’s ACL:

• User: Which users and groups can access the object.

• Object permissions: Which permissions should be granted to each user or


group. For example, you can assign View access for some users and Modify
access for other users.

• Children (for folders only): Which permissions should be granted to each


user or group for objects (such as other folders) that are inside that folder.

Default ACL for a new object


The default ACL of a newly created object has the following characteristics:

• 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.

• New folders inherit standard ACLs of the parent folder.

• Modifying the ACL of a shortcut does not modify the ACL of that shortcut’s
parent object.

• A moved object retains its original ACLs.

• A copied object inherits its ACL from the children ACL of the folder that it is
copied into.

73 Managing access to MicroStrategy objects: Permissions © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

Exercise 3.4: Specify a folder’s object permissions for a


group
In this exercise, you modify the WS_AdminEA group you created earlier, to restrict
that group’s access to the Schema Objects folder in the MicroStrategy Tutorial
application.

Restrict a group’s access to a folder

Specify permissions

1 In Workstation, click Projects on the left and then double-click


MicroStrategy Tutorial.

2 Right-click the Schema Objects folder and select Properties.

3 On the left, click Security Access.

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.

© 2022 MicroStrategy, Inc. Managing access to MicroStrategy objects: Permissions 74


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

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.

Permissions and how they can impact report execution


Two of the permissions that can be granted on an object are Use and Execute.
These two permissions combine to affect how a user experiences creating a
report, document, or dossier, and how a user experiences running a report,
document, or dossier.

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.

As a reminder, these permissions have the following effects when granted to a


user for an object:

• 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.

75 Managing access to MicroStrategy objects: Permissions © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

The table below shows the different levels of access to an object that a user may
have by combining these two permissions:

Use Execute Access to the Object

Denied Granted • Cannot create reports containing the object.


Someone else must design the report and grant the
Execute permission to the user.
• Can execute reports containing the object.

Granted Granted • Can create reports containing the object.


• Can execute reports containing the object.

Denied Denied • Cannot create reports containing the object.


• Cannot see the denied object in reports

Granted Denied • Can create reports containing the object.


• Cannot see the object in reports.

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 and privileges in action together


User privileges assigned in the Users & Groups area or through security roles,
control the ability to access software products and perform functionality in the
MicroStrategy platform.

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 this example, an Application Architect’s responsibility in a project is to make


architectural changes, such as creating and modifying attributes and facts
(schema objects). To meet this requirement, you must do both of the following:

• Grant the Architect privileges for the user.

• In the Properties window of the Schema Objects folder, grant the user Modify
access to that folder and ensure access to any child folders.

© 2022 MicroStrategy, Inc. Permissions and privileges in action together 76


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

Implementing row-level data security


The MicroStrategy platform offers granular security features that allow
administrators and data stewards to implement boundaries on row-level data
access. These features help ensure that users are restricted to view data that is
personalized and relevant to their needs.

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.

The MicroStrategy platform provides the following security features for


controlling access to the data in your data sources:

• Connection mapping: You can link users to different database connections to


the same warehouse, to differentiate users at the data warehouse level. You
can also connect users to different warehouses.

• Security filters: To ensure users are restricted to see data that is personalized
and relevant to them, you can use security filters.

Controlling access to data at the database level


The access restriction logic is centered in the database tier rather than in an
application such as MicroStrategy. The database applies the access restrictions
every time data access is attempted from any project. The database restricts the
rows returned based on the credentials provided by the project (or user)

77 Implementing row-level data security © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

accessing the data warehouse. The database administrator can use group
membership to control access to rows in a database table.

The advantage of using database-level security mechanisms to secure data is that


all projects accessing the database benefit from those security measures. The
disadvantage of this mechanism is the administration overhead associated with
the maintenance of the security policies.

Some database management systems provide mechanisms for implementing


row level security for individual tables, while others use security views for
imposing access restrictions on the users by filtering out the rows of a database
view. Security views are typically used when the row level security rules cannot be
separated into a manageable number of groups.

Your organization may already have security views or row-level security


implemented at the database level, depending on the database your enterprise
uses. Database security is often already in place to, for example, ensure that
employees can access only those data rows that are pertinent to their
department, or to restrict agents’ data access to only the data relevant to their
accounts.

In a BI environment, database administrators are typically responsible for


implementing data warehouse security policies at the database level. As a
MicroStrategy administrator, you are responsible for configuring MicroStrategy to
use database-level security using MicroStrategy’s connection mapping.

© 2022 MicroStrategy, Inc. Implementing row-level data security 78


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

Controlling access to data with connection mapping


By default, all users in a MicroStrategy project use the same database connection
(DSN) and database login when connecting to the database, which is defined by
the database instance when you configured the project. This means that all users
have the same security level on the database side.

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 enables you to link users to different database connections


and logins from a single project. You can use connection mapping to differentiate
MicroStrategy users from each other at the data warehouse level or direct them to
separate data warehouses.

Connection mapping works by leveraging existing security views defined in the


data warehouse. For example, in the following diagram, all users use the default
database login MSTR user to access the data warehouse. By implementing

79 Implementing row-level data security © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

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

Implementing connection mapping


To differentiate database users from each other, you map each MicroStrategy user
or user group to a different database login. You can also map users to a database
instance. These are powerful features that enable you to connect to different data
warehouses using the same project.

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

© 2022 MicroStrategy, Inc. Implementing row-level data security 80


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

MicroStrategy the users belong to two different user groups: US Users and Europe
Users, respectively.

You create and assign connection mappings to users or user groups in


MicroStrategy.

Controlling access to data with security filters


Security filters in MicroStrategy are based on dimension values (attribute
elements), designed to enable administrators and dataset owners to limit or
restrict user access to data. Security filters that are based on attributes in a project
enable administrators to control what warehouse data users can see, while
security filters based on imported data enable dataset owners to restrict access to
their datasets.

• Project security filters: Administrators create a security filter object, then


assign it to users and groups, and the filter operates when users submit report
executions to the server, by limiting the data returned on the report.

• Dataset security filters: To support self-service scenarios in your BI


environment, you can allow users to import data from external data sources,
such as an Excel spreadsheet, into MicroStrategy. When importing the data,
the user can create a dataset security filter for that specific dataset. Security
filters implemented on imported data enable dataset owners to restrict access
to their imported datasets.

81 Implementing row-level data security © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

Use the table below to determine when and how to use a dataset security filter or
a project security filter:

When to Use Project Security Filter Dataset Security Filter

Created by Administrators Dataset owners

Created in Developer Workstation, MicroStrategy


Web, Developer

Data governance use IT-controlled data access scenarios Self-service data access
cases scenarios

Applies to data that is Data warehouse Imported datasets


sourced from

Applies to object(s) Any content object (report, document, Individual datasets


dossier) or in-memory dataset (OLAP cube)
that uses an attribute in the project that
has a security filter applied to it

Controlling data access with project security filters


Project security filters enable you to control what warehouse data users can see
when that data is accessed through a MicroStrategy project. A project security
filter can be assigned to a user or user group to narrow the result set when they
execute reports or browse elements. The project security filter applies to all
reports, documents, and dossiers, as well as to all attribute element requests, that
are submitted by a user.

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.

© 2022 MicroStrategy, Inc. Implementing row-level data security 82


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

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.

83 Implementing row-level data security © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

The following three images illustrate this scenario:

• 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

© 2022 MicroStrategy, Inc. Implementing row-level data security 84


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

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:

• Project Configuration Editor

• Administration menu (under Projects)

• User Editor or Group Editor (Security filter category)

You can create a project security filter using the following methods:

• Create it from scratch

• Import an existing report filter

The image below shows the Security Filter Manager in Developer:


Security Filter Manager

85 Implementing row-level data security © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

Exercise 3.5: Use a project security filter to control data


access
The Human Resources Analysis Module project is accessible to only the HR
professionals in your company. Confidential compensation analysis data resides
in one fact table and cannot be shared across HR users. HR users are permitted to
view data only for the departments they support. You want to create a single
report for all HR users to execute, but only allow each user to retrieve the
departmental data they are permitted to see. You can achieve this security
requirement by applying row-level security in the data warehouse, or you can use
MicroStrategy security filters.

In this exercise, you do the following:

• In Workstation, create a project security filter that contains only six


departments of the company

• Assign this security filter to the Manta Ray user

• Log in as Manta Ray and confirm you applied the project security filter to the
user

Create a security filter

1 Navigate to Users & Groups, then expand the Everyone group.

2 Right-click Manta Ray, and click Edit.

3 Click Security filters.

© 2022 MicroStrategy, Inc. Implementing row-level data security 86


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

4 Click Add next to Human Resource Analysis Module.

5 Click New Security Filter.

6 You want to add a security filter on Department, which is an attribute. Click


the Object Browser drop-down, then click Schema Objects.

7 Navigate to the Employee Functions folder, located in the Attributes/


Employee folder.

8 Drag Department into the Filter Summary window.

9 Under Attribute Qualification, select the following departments to allow


Manta Ray to view their data:

• Information Systems

• Technical Consulting

87 Implementing row-level data security © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

• Technical Support

• Quality Assurance

• Program Management

• Research and Development

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.

11 Click Save. Navigate to the Human Resource Analysis Module/My Personal


Objects/My Objects folder, and name your security filter Technical
Departments, and click Save.

12 Close the Security Filter Editor.

13 The Technical Departments filter now displays as an Available security filter.


Click Technical Departments, then click Add.

14 In the Manta Ray User Editor window, click Save. The User Editor window
closes.

© 2022 MicroStrategy, Inc. Implementing row-level data security 88


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

Assign a role to Manta Ray

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.

2 Click Project Access & Roles.

3 Click Human Resources Analysis Module.

4 Click Analyst.

5 Click Save.

Log in as Manta Ray and test the security filter

1 Navigate to Environments.

2 Right-click AdminEA_Workstation, and click Edit Environment


Information.

3 Click Continue.

4 Enter MRay and Password in the Username and Password fields. Click
Connect.

5 Select the Human Resources Analysis Module, if it is not already selected,


and click OK. You are now connected to Workstation as Manta Ray.

6 Click Reports.

7 Search for the Planned Headcount and Compensation by Department


report, and double-click the report to run it.

89 Implementing row-level data security © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

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.

9 Close the report.

10 Click Environments.

11 Right-click AdminEA_Workstation, and click Edit Environment


Information.

12 Click Continue.

13 Log into the environment as the mstr user, using the credentials found in the
Welcome email. Click Connect.

14 Select Human Resources Analysis Module and MicroStrategy Tutorial, if


they are not already selected, and click OK. You are now connected to
Workstation as the mstr user.

15 Navigate to Reports.

16 Search for the Planned Headcount and Compensation by Department


report, and double-click the report to run it.

© 2022 MicroStrategy, Inc. Implementing row-level data security 90


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

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.

Controlling data access in a dataset using security filters


All dossiers (as well as reports and documents) have specific business objects
placed on them when the dossier is created. These objects determine how your
data is imported from your data source, how calculations are performed on that
data, and how the results display when each dossier is run. These objects make up
a dataset, and the dataset is stored with the dossier. A dataset can be created from
a variety of sources, including an Excel spreadsheet imported from your
computer, a file downloaded from the cloud, a database imported by building a
SQL query or picking relational tables, and much more.

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.

91 Implementing row-level data security © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

Controlling data access for datasets not mapped to a project

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.

To implement row-level security on a dataset with no common connection to


project attributes, you can define security filters for each individual dataset, called
a dataset security filter. Using Workstation, dataset owners can manage data
security for datasets they create, by defining dataset security filters that limit the
attribute elements a user can access, and by applying those security filters to
individual datasets.

© 2022 MicroStrategy, Inc. Implementing row-level data security 92


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

Exercise 3.6: Create and assign a security filter for an


imported dataset
In this exercise, you apply a dataset security filter to control a user’s data access to
certain rows in a dataset. The Sales Data cube is a dataset that contains revenue
information collected from all the outlet stores of a nationwide retailer. Manta
Ray, the user you created earlier, is the new account manager in the luxury
apparel department. She wants to use the Sales Data cube to create a dossier and
analyze retail revenue and marketing trends.

You want to ensure that she can only view data that is related to her accounts
whenever she creates a dossier using this dataset.

To add a dataset security filter to a dataset

1 In Workstation, on the left, click Datasets.

2 Right-click the Sales Data dataset and select Properties.

3 On the left, click Security Access.

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.

93 Implementing row-level data security © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

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.

7 From the Choose elements by drop-down list, choose Selecting in list.

• Qualification on filters data based on an attribute form. For example, to


allow users access to data for only those customers whose last names start
with the letter H, you can create an attribute form qualification defined
with the form Last Name, the operator Begins With, and the letter H as the
value.

• Selecting in list filters data based on the list of attribute elements


belonging to that attribute. For example, in a dataset containing the
Region attribute, you can use an attribute element list qualification to
allow access to data for only those regions that you specify in your filter.

8 On the right, select the following brands:

• Adidas

© 2022 MicroStrategy, Inc. Implementing row-level data security 94


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

• Calvin Klein

• Clarks

9 Click OK to close the Edit Qualification window.

10 Click Save, then click OK.

Challenge yourself (optional)

If you have time and want to challenge yourself, use the following high-level steps
to test your security filter.

1 In Workstation, double-click the Sales Data cube.

2 Add Brand, Cost, and Revenue to the dossier. Notice that all brands display.

3 Save the dossier as Revenue by Designer Brands, in a Getting Started folder.

4 In Workstation, on the left, select Environments. Right-click


AdminEA_Workstation and select Edit Environment Information.

5 Log into the environment as Manta Ray (MRay) with the password you
assigned to this user.

95 Implementing row-level data security © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

6 On the left, click Dossiers. Open your Revenue by Designer Brand dossier.
Notice the difference your security filter has on the data displayed.

Best Best practice for security filters


Practice
Inform your users of any security filters assigned to them or their user group. If
you do not inform them of their security filters, they may not know that the data
they see in their reports has been filtered, which may cause misinterpretation of
report results.

Summary of row-level data access security


As an administrator, you can use various MicroStrategy security features to
implement row-level data access. 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 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

© 2022 MicroStrategy, Inc. Implementing row-level data security 96


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

security, the location where the logic is implemented, as well as the MicroStrategy
feature, tool, and associated editor, are listed.

Location of Access MicroStrategy


Type of Security MicroStrategy Tool
Restriction Logic Feature

Row-level security for database Database Connection mapping Developer:


tables Connection Mapping
Editor
Security views

Separate data warehouse

Security filter: project attributes Intelligence Server Security filter for Developer: Security
project attributes Filter Editor

Security filter: datasets Security filter for Workstation: Dataset


datasets Properties Editor (also
Web and Developer)

Defining Library administration settings


With Workstation, you can view and edit all Library administration settings.
Administrators can make changes to server configurations, security settings,
enable or disable collaboration features, or changes how Library features display
to users within the interface.

97 Implementing row-level data security © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Securing User Privileges and Data Access 3

Exercise 3.7: Review Library administrative settings


1 In Workstation, click Environments.

2 Right-click AdminEA_Workstation, and click Properties.

3 Select Library.

4 Scroll through the settings to review the different administrative options


available for Library. Settings marked with a restart icon require you to
restart the Environment’s server before they take effect.

Click Cancel to close the Properties window without saving any changes.

© 2022 MicroStrategy, Inc. Implementing row-level data security 98


3 Securing User Privileges and Data Access Administration for Enterprise Analytics

99 Implementing row-level data security © 2022 MicroStrategy, Inc.


4
USER AUTHENTICATION

Goals:

• Understand the MicroStrategy security layers that support your corporate


security policies and needs

• Learn about the authentication modes available in a MicroStrategy


deployment.

• Administer a user’s account who is having trouble logging in

Security basics and authentication


Now that you have learned about creating users and groups, assigning privileges
and object permissions, security roles, and security filters, look at the bigger
picture of corporate security policies and techniques to implement those policies.

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.

© 2022 MicroStrategy, Inc. Security basics and authentication 100


4 User Authentication Administration for Enterprise Analytics

In MicroStrategy, this security approach is useful to look at in the following way:

• The first layer of security is on the network



You can implement security policies that allow connections from
designated networks, IPs, or ports.

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.

• The second layer of security is authentication



You only get to the second layer if you pass the first layer. At this security
layer, the software now cares about the user. Who is this person who wants
access?
 The software needs to identify the user, which means keeping a list of
users that you want to allow into your MicroStrategy system. But an
organization can have thousands of systems and they don’t want to define
users separately in each system. The solution to this scenario is to create
and maintain one user system that is specialized for authentication and
authorization. This system is what performs user authentication.

• The third layer of security is authorization



Authorization includes the user’s privileges and security roles.

As you learned earlier, this includes creating and managing users and user
groups; granting specific privileges to those users and groups; applying
security roles to specific users and groups to fine-tune access, and
applying object permissions to allow access to reporting objects.

101 Security basics and authentication © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics User Authentication 4

• The fourth layer of security is controlling access to data



As you learned earlier, this layer involves creating security filters for sets of
data, and then assigning those security filters to users and groups.
 This layer also includes setting up connection mapping if your database
security setup can work with security filters to enhance control over data
access.

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.

The MicroStrategy platform provides several methods for authenticating users,


including a standard system-based authentication as well as supporting your own
non-MicroStrategy authentication software systems you may already have in
place. Each is described below:

• Anonymous (Guest)—This is a demo type of authentication when you need


to assign public access to a project. For example, this is the type of
authentication configured for demo.microstrategy.com. When users access a
project, they are not validated by MicroStrategy and are logged immediately
into the project.

• Standard—When users access a project, they are prompted to enter their


MicroStrategy user login ID and password. Users are validated by the
metadata based on the login credentials they supply.

• LDAP/Active Directory—If you own a Lightweight Directory Access Protocol


(LDAP) server, users logging in are first authenticated by the LDAP server. If
authentication is successful, users are connected to the MicroStrategy
application without being prompted for login credentials again. LDAP
authentication is one form of single sign-on authentication.

• Database—Users can log into a MicroStrategy project using their data


warehouse credentials. As a result, you can leverage the security views set up
at the data warehouse level during data retrieval.

• Additional authentication methods exist for legacy systems. These include


Windows, Integrated, and Trusted Authentication Request:

© 2022 MicroStrategy, Inc. Authentication modes 102


4 User Authentication Administration for Enterprise Analytics


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.

You can configure all authentication modes in Developer. Several authentication


modes can also be configured in Workstation and MicroStrategy Web. The
authentication modes do not need to be identical.

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

Anonymous Anonymous Anonymous Anonymous

Standard Standard Standard Standard Standard

LDAP LDAP LDAP LDAP LDAP

Database Database

 The MicroStrategy Analytics platform also supports various authentication


modes for users accessing JSON, OData, or text files via URLs with basic
authentication, as well as Windows Pass-through authentication.
Additionally, MicroStrategy Web supports SAML authentication. It can
easily integrate with Identity Management platforms (IDPs) such as Active
Directory Federation Services (ADFS) to deliver single sign-on capabilities
using an industry-standard, SAML-based authentication protocol without
the need to write any code.

103 Authentication modes © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics User Authentication 4

Exercise 4.1: Configure authentication modes


In this exercise, you configure Standard authentication as the default login mode
for the MicroStrategy Analytics Modules project source in MicroStrategy Web and
Developer.

Configure authentication mode in Developer

1 On the remote desktop, double-click Developer to open it. Log in with the
credentials from your MicroStrategy Cloud email.

2 In Developer, right-click the MicroStrategy on AWS Iserver project source


and select Modify Project Source.

3 In the Project Source Manager, click the Advanced tab.

4 On the Advanced tab, under Authentication mode, ensure that Use login id
and password entered by the user (standard authentication) is selected.

5 Click OK, and then Yes.

Configure authentication mode in MicroStrategy Web

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.

3 On the left, under Intelligence Servers, click Default properties.

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.

© 2022 MicroStrategy, Inc. Authentication modes 104


4 User Authentication Administration for Enterprise Analytics

Password security and account lockout


When configuring an authentication method, you can enhance password
security. You can configure several account-related security options, such as:

• Account lockout policy

• Number of past password remembered

• Password complexity requirements

• Authentication policy

• Encryption level

105 Authentication modes © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics User Authentication 4

Exercise 4.2: Configure an account security policy


Best You can enhance the security of your environment with an account lockout policy
Practice that locks a user out after a set number of failed sign-in attempts. This policy helps
block potential malicious users who try to break into an account.

In this exercise, you perform the following:

• Configure the account and password security.

• Change the account lockout policy and the password complexity policy.

• Change a user password to match the password complexity rules.

• Test the account security changes by attempting to log in as Manta Ray three
times with an incorrect password.

• Log in as the mstr user and unlock Manta Ray’s account.

Change the account and password security policy

1 Navigate to the Environments page in Workstation.

2 Right-click AdminEA_Workatsion, and click Properties.

3 Click Security Settings.

4 Under Password Settings, in the Lock after (failed attempts) box, type 2.

5 In the Minimum password length box, type 5.

6 In the Minimum numeric characters in password box, type 1.

7 In the Minimum special characters in password box, type 1.

© 2022 MicroStrategy, Inc. Authentication modes 106


4 User Authentication Administration for Enterprise Analytics

8 Click OK to save your settings.

Change the user password

9 Click Users & Groups.

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.

Test the account lockout settings

1 Navigate to Environments.

2 Right-click AdminEA_Workstation, and click Edit Environment


Information.

3 Click Continue.

4 Enter MRay in the Username field, and then enter an invalid password, such
as Password123. Click Connect.

5 In the Invalid Login window, click OK.

6 Enter MRay as the user name again, and type an incorrect password for the
second time. Click Connect.

7 In the Invalid Login window, click OK.

107 Authentication modes © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics User Authentication 4

8 Type an incorrect password for MRay for the third time and click OK. After
three failed attempts, the user account is disabled.

Leave the login window open.

Unlock the mray user

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.

10 Navigate to Users & Groups.

11 Under All Users, right-click Manta Ray, and click Edit.

12 Check the Active User box to re-enable Manta Ray’s account, then click Save.

13 Navigate to the Environments page in Workstation.

14 Right-click AdminEA_Workatsion, and click Properties.

15 Click Security Settings.

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.

© 2022 MicroStrategy, Inc. Authentication modes 108


4 User Authentication Administration for Enterprise Analytics

109 Authentication modes © 2022 MicroStrategy, Inc.


5
CONNECTIVITY IN THE
MICROSTRATEGY ARCHITECTURE

Goals:

• Understand a variety of architectural configurations and their value in testing


and production.

• Establish connectivity between architectural components in the


MicroStrategy Analytics Platform architecture.

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).

• The direct connection or two-tier architecture setup consists of MicroStrategy


Developer connected directly to the metadata and data warehouse.

• The server connection or three-tier architecture is identical to the two-tier


architecture, except you have MicroStrategy Developer communicating with
the metadata and data warehouse through Intelligence Server.

• The server connection plus Web/Mobile or four-tier architecture is identical


to the three-tier architecture, except you also have MicroStrategy Web or

© 2022 MicroStrategy, Inc. Analytics architecture 110


5 Connectivity in the MicroStrategy Architecture Administration for Enterprise Analytics

MicroStrategy Mobile servers communicating with the metadata and data


warehouse through the Intelligence Server.

Direct connection in a two-tier architecture


The two-tier architecture is primarily used for troubleshooting purposes. In a
two-tier analytics platform architecture, Developer clients connect to the
metadata and data warehouse through open database connectivity (ODBC).The
diagram below shows an example of two-tier architecture:
Two-tier Architecture

Server connection in a three-tier architecture


In a three-tier analytics platform architecture, Intelligence Server connects to the
metadata and data warehouse through ODBC. MicroStrategy Developer connects
to Intelligence Server through Transmission Control Protocol/Internet Protocol

111 Analytics architecture © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Connectivity in the MicroStrategy Architecture 5

(TCP/IP). TCP/IP is a communication protocol used to connect to and


communicate with other computers on the Internet or the network.
Three-tier Architecture

Web/Mobile plus server connection in a four-tier


architecture
In a four-tier analytics platform architecture, the ODBC and TCP/IP requirements
are the same as that of a three-tier architecture. In addition, you must have a web
server to host MicroStrategy Web, which communicates with Intelligence Server
through TCP/IP. The four-tier architecture is used in production environments,

© 2022 MicroStrategy, Inc. Analytics architecture 112


5 Connectivity in the MicroStrategy Architecture Administration for Enterprise Analytics

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.

113 Analytics architecture © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Connectivity in the MicroStrategy Architecture 5

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

The following list briefly describes each connectivity component:

• ODBC—A standard database access method which enables an application to


access database data regardless of the database management system (DBMS)
that stores the data. An ODBC connection is also referred to as a data source
name (DSN). It represents a pointer to a specific database. In a MicroStrategy
environment, you create at least two ODBC connections:

One connection to the metadata

One connection to the warehouse

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.

© 2022 MicroStrategy, Inc. Establishing connectivity 114


5 Connectivity in the MicroStrategy Architecture Administration for Enterprise Analytics

• Server definition—A configured instance of Intelligence Server that specifies


metadata connectivity information and configuration parameters.
Server Definition

The metadata connectivity information included in the server definition is


stored in the registry in Windows environments. When Intelligence Server
starts, it first looks for the connectivity information in the registry to connect
to the metadata.

• Project source—Represents connectivity to the metadata. In a two-tier


architecture, the project source represents the connection between
Developer and the metadata.

When using Intelligence Server, such as in a three-tier or four-tier architecture,


a project source represents a connection between Intelligence Server and the
metadata.
Project Source

• MicroStrategy Web Administrator page—After you set up your project


source in three-tier, you can create a four-tier architecture to enable users to
access the projects over the web. To do so, you use the MicroStrategy Web

115 Establishing connectivity © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Connectivity in the MicroStrategy Architecture 5

Administrator page to establish connectivity between MicroStrategy Web and


Intelligence Server, as shown below.
Web-Intelligence Server Connectivity

• Database instance—A MicroStrategy object created in Developer that


represents a connection to a data source, such as a data warehouse.
Database Instance

When a project architect creates a project, he assigns a database instance to


that project. A project connects to only one primary database instance at a
time, but a database instance can be assigned to multiple projects. You can
also assign a secondary database instance to a project.

© 2022 MicroStrategy, Inc. Establishing connectivity 116


5 Connectivity in the MicroStrategy Architecture Administration for Enterprise Analytics

Whenever you need to make a connection to a data warehouse or a source


file, you need to create a database instance. You create database instances
using the Database Instances Editor or the Database Instance Wizard in
Developer. A database instance is associated with one or more database
connections and database logins.

 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.

• Database connection—Specifies the DSN and database login used to access


the data source. A database instance designates one database connection as
the default connection for MicroStrategy users. However, users and groups
can be mapped to other database connections using connection mapping.
Connection mappings allow you to assign a user or group in the
MicroStrategy system to a login ID on the data warehouse RDBMS. The
mappings are typically used to take advantage of one of several RDBMS data
security techniques (security views, split fact tables by rows, split fact tables by
columns) that you may have already created. Use a connection mapping if you
need to differentiate MicroStrategy users from each other at the data
warehouse level or if you need to direct them to separate data warehouses.
Database Connections

You create database connections in the Database Connections Editor in


Developer, within the Database Instances Editor. Any database connection

117 Establishing connectivity © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Connectivity in the MicroStrategy Architecture 5

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.

© 2022 MicroStrategy, Inc. Establishing connectivity 118


5 Connectivity in the MicroStrategy Architecture Administration for Enterprise Analytics

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

119 Establishing connectivity © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Connectivity in the MicroStrategy Architecture 5

Exercise 5.1: Establish a three-tier


architecture
After you install the MicroStrategy application, you need to establish connectivity
between various components in the MicroStrategy Analytics platform. You use a
project source to establish connectivity between the Developer users and
Intelligence Server, which in turn is connected to the metadata and the
warehouse.

Although an existing three-tier project source (MicroStrategy on AWS I-Server) is


pre-configured, you set up a new three-tier project source called MicroStrategy
Analytics Modules. The DSNs to the metadata and warehouse, the server
definition, and the database instance have already been created. You only need to
create the project source.

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.

Create a three-tier project source

1 On the Windows desktop, double-click the Developer shortcut if Developer is


not already open.

2 From the Tools menu, select Project Source Manager.

3 In the Project Source Manager window, click Add.

4 In the Project Source box, type MicroStrategy Analytics Modules.

5 In the Connection Mode drop-down list, leave Server selected.

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.

© 2022 MicroStrategy, Inc. Exercise 5.1: Establish a three-tier architecture 120


5 Connectivity in the MicroStrategy Architecture Administration for Enterprise Analytics

7 Accept all other defaults.

8 Click OK twice to close the Project Source Manager.

Log into Developer

9 Double-click the MicroStrategy Analytics Module project source name.

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.

Configure projects to load at Intelligence Server startup

11 Right-click MicroStrategy Analytics Module and select Configure


MicroStrategy Intelligence Server.

12 In the MicroStrategy Intelligence Server Configuration Editor, on the left pane,


expand Projects and select General.

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.

121 Exercise 5.1: Establish a three-tier architecture © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Connectivity in the MicroStrategy Architecture 5

Exercise 5.2: Establish database connectivity


At this point, you are almost done with your connectivity setup. With what you
have so far, you are able to access projects in MicroStrategy Developer and
MicroStrategy Web. You can browse through folders, edit reports and documents
to look at their definitions, build new metadata objects, and so on. However, to
execute any report or document, you still have to establish connectivity between
your project and the data warehouse with a database instance.

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.

Access the Database Instance Editor

1 In your remote cloud environment, access Developer and log in to the


MicroStrategy Analytics Modules project source using the login credentials
listed in the MicroStrategy Cloud email.

2 Under MicroStrategy Analytics Modules, expand Administration.

3 Expand Configuration Managers.

4 Select Database Instances.

5 In the Object Browser window, double-click Tutorial Postgres.

6 Answer the following questions, by exploring the Database Instances


Manager:
• What is the database connection type?

_____________________________________________________________

• What is the database connection (default)?

_____________________________________________________________

• What is the ODBC data source name?

_____________________________________________________________

• What is the name of the database login name?

_____________________________________________________________

© 2022 MicroStrategy, Inc. Exercise 5.2: Establish database connectivity 122


5 Connectivity in the MicroStrategy Architecture Administration for Enterprise Analytics

7 Click Cancel to close the manager.

Solutions

• Database connection type: PostgreSQL

• Database connection (default): TutorialWHLinux

• ODBC data source name: Tutorial_WH

• Database login name: Data

123 Exercise 5.2: Establish database connectivity © 2022 MicroStrategy, Inc.


6
MONITORING AND GOVERNING
THE ANALYTICS SYSTEM

Goals:

• Manage system resources to prevent bottlenecks in your environment.

• Use Platform Analytics to monitor your environments in real-time

• Administer Intelligence Server and MicroStrategy Web.

Managing system resources


No matter how well you have designed your reports or documents, or how many
deployment methods you use to deliver them to users, one of the primary factors
determining the success of your project is how quickly users can access that data
when they run reports or documents.

To deliver consistent and optimal performance to users, it is important to


configure your Intelligence Server to prevent bottlenecks. If there are too many
queued reports waiting to be executed, it means that there are too many users
waiting for their results. If bottlenecks do occur, you need to be able to observe
and respond to them promptly.

© 2022 MicroStrategy, Inc. Managing system resources 124


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

Intelligence Server provides a variety of tools designed to help you address


possible bottlenecks, including monitors (editors to track user activity and adjust
performance factors) and governors (settings).

 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.

Monitoring system and project activity


Monitors enable administrators to observe project activity on the server. Monitors
can provide a meaningful view into activity occurring within project sources. Too
many concurrent user connections or job requests could put an undue load on
the Intelligence Server or the warehouse database server. Being able to closely
monitor project activity enables administrators to quickly spot such problems
and respond to them.

Monitors in Developer
In addition to viewing activity in the project environment, you can use Developer
monitors to perform routine administrative tasks, for example:

• Cancel a stalled job with the Jobs Monitor

• Delete a report cache with the Reports Caches Monitor

• Idle a project with the Project Monitor


• Disconnect a user with the User Connections Monitor

For example, the image below shows part of the User Connections Monitor:
User Connections Monitor

The User Connections monitor displays a variety of information including the


time the user connected, the network address of the user’s machine, and the first
and last jobs the user ran.

125 Monitoring system and project activity © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

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

Managing running and stopped nodes and services


Your MicroStrategy installation likely consists of several machines that have
distinct installations of various MicroStrategy components and services.
Workstation provides a high-level view of the status of all machines, services, and
infrastructure components in your system. You can see the services installed on
each machine along with IP addresses, port numbers, and dependent services.
You can remotely view the status of each service, determine whether it is running,
and stop and start the service, as shown in the following example image.

© 2022 MicroStrategy, Inc. Monitoring system and project activity 126


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

127 Monitoring system and project activity © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

Exercise 6.1: Monitor your system’s services


Administrators must regularly monitor services, and may need to restart a service
that has stopped. There are also times when administrators must stop a service.

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.

To monitor your services

1 Open Workstation on your remote desktop, if it is not already open. On the


left, click Monitors.

© 2022 MicroStrategy, Inc. Monitoring system and project activity 128


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

2 Under AdminEA_Workstation, click Nodes. A high-level view of the status of


services associated with that environment displays.

3 To get a detailed view of every component’s services, click Services on the


left.

4 Expand any of the components to view the services running on that


component. For example, expand Identity and click Telemetry.

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.

• Red: Indicates that the node or service is currently not running.

As part of maintaining services at your organization, you can click to stop or


restart any service, with a clear view of what systems are impacted.

129 Monitoring system and project activity © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

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.

Managing the project modeling service


As part of project architecting, Workstation offers editors to create facts, metrics,
filters, and other critical project objects. Project architects can also use
Workstation to add, edit, or remove a project schema’s tables. These editors in
Workstation are supported by the Modeling service in Workstation. The Modeling
service is a gateway to your MicroStrategy system’s semantic graph, providing the
logic for creating, editing, and managing objects.
Modeling Service

A semantic graph is a network that defines conceptual relationships between


concepts. MicroStrategy’s metadata repository indexes and abstracts an
organization’s data into an enterprise semantic graph, allowing users to rapidly
build projects and deploy them on any device. The metadata repository is then
able to serve as the foundation for trusted and governed analytics.

© 2022 MicroStrategy, Inc. Monitoring system and project activity 130


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

As an administrator, you can troubleshoot and restart the Modeling service in


Workstation to support your project designers. In Workstation, access the
Modeling service from the Monitors area on the left, then click Services, then
expand the Intelligence Server set of services.

For details to create projects and objects, take the Project Architecting class.

Viewing installation and expiration information for


security certificates
Security certificates help you create secure connections between servers and
clients, as they communicate and share data and other information. For example,
security certificates help you ensure that the connection between mobile devices
and the Mobile Server are secure. Viewing your certificates in a central location
enables you to quickly identify certificates that expire in the near future. This
information helps you renew certificates in a timely manner, and troubleshoot
certificates that are causing problems for MicroStrategy users.

Monitoring and managing security certificates installed in your system is a critical


administrator task. For each certificate, you can view its associated service, the
node and port where the certificate is installed, and its expiration date. Click
Certificates on the left to view your class system’s security certificate information.

131 Monitoring system and project activity © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

Analyzing real-time data: Platform Analytics


Monitoring MicroStrategy in real-time positions you to maximize the value of
your MicroStrategy installation, and deliver an optimal experience to users.

Platform Analytics is a MicroStrategy platform monitoring tool that helps you


identify areas for improvement, anticipate problematic behavior, and identify
possible adjustments to administrative settings. Platform Analytics supports this
decision-making by capturing and analyzing environmental utilization and
performance statistics in real-time.

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.

Analyzing user engagement with projects


As part of making decisions about maintaining projects, you need to know how
projects are utilized by MicroStrategy users. The level of user engagement with a
project is critical to its success within the organization.

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

© 2022 MicroStrategy, Inc. Analyzing real-time data: Platform Analytics 132


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

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.

Monitor project activity data

1 In Workstation, on the left, click Projects.

2 Right-click the MicroStrategy Tutorial project and select Properties.

3 On the left, click Activity. The project activity data is displayed. Click OK to
close the window.

133 Analyzing real-time data: Platform Analytics © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

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.

Analyzing user engagement with reporting objects


You can analyze user interactions to determine how reporting objects are utilized.
Reporting objects include:
• Datasets

• 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.

© 2022 MicroStrategy, Inc. Analyzing real-time data: Platform Analytics 134


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

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.

135 Analyzing real-time data: Platform Analytics © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

Exercise 6.2: Check dossier usage statistics


You can analyze reporting object activity to understand how often a particular
object is executed, identify the day of the week when it is most likely to be
executed, and determine whether there are a significant number of errors that
need to be addressed. You can identify the users who most use a given object,
and then interview those users to determine whether a particular object’s
performance meets expectations, and modify the object accordingly.

You can use the same steps to view activity data for any reporting object.

Enable statistics

1 In Workstation, on the left, click Projects.

2 Right-click MicroStrategy Tutorial and select Properties.

3 On the left, click All Settings.

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.

Monitor dossier activity data

1 On the left, click Dossiers.

2 Right-click a dossier, and select Properties.

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.

Select Cancel to close this window.

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

© 2022 MicroStrategy, Inc. Analyzing real-time data: Platform Analytics 136


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

users at the bottom lets you reach out to get usage details from specific users who
experienced slow runtime or a higher error rate.

Usage data is gathered, processed, and displayed by MicroStrategy’s telemetry


tool, Platform Analytics. You can use Platform Analytics to monitor your entire
platform. Platform Analytics lets you simultaneously monitor and analyze
multiple MicroStrategy environments, such as your development, testing, and
production environments, as well as your various departmental environments, as
displayed in the following image:

Platform Analytics is optimized to minimize its demand on hardware resources,


ensuring that system data is captured and delivered with minimal administrative
and resource overhead.

Using telemetry data to optimize platform performance


and utilization
Platform Analytics includes its own MicroStrategy project with out-of-the-box
attributes and metrics that can be used to create custom reports and dossiers.
Several pre-configured dossiers are also included to help you get started with
monitoring. For example, the following Cube and Cache Monitoring dossier can

137 Analyzing real-time data: Platform Analytics © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

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.

By analyzing the statistics collected by Platform Analytics, you can understand


how the MicroStrategy platform is utilized, determine how your environment can
be improved, and make informed decisions on planning the administrative tasks
required to optimize the system.

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:

• Improve performance and stability: Analyze system performance and


dossier or report performance to deliver data in a timely manner.

• 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.

© 2022 MicroStrategy, Inc. Analyzing real-time data: Platform Analytics 138


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

• 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

139 Analyzing real-time data: Platform Analytics © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

Exercise 6.3: Viewing and refreshing the Platform


Analytics dossiers
The Platform Analytics project is already configured in your MicroStrategy Cloud
environment. In this exercise, you access the project, become familiar with some
predefined dossiers, and investigate the load on your environment.

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.

Add the Platform Analytics project to your environment

1 In Workstation, click Environments.

2 Right-click the AdminEA_Workstation environment and click Update


Project List.

3 Select the Platform Analytics project check box, then click OK.

4 Click Project on the left to see the Platform Analytics project.

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.

Access the Platform Analytics project

1 Double-click the Platform Analytics project.

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.

© 2022 MicroStrategy, Inc. Analyzing real-time data: Platform Analytics 140


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

Because the environment for this class was created recently, only some dossiers
display data.

Refresh the Platform Analytics cube

Although Platform Analytics collects environmental statistics in real-time, the


Intelligent Cube on which Platform Analytics dossiers are based, is scheduled
to refresh every hour by default, and therefore displays new data in the
dossiers every hour. In the next part of this exercise, you manually refresh the
cube.

4 In the Platform Analytics project, navigate to Public Objects, then Reports,


then Utilities. This folder contains the Intelligent Cubes on which the Platform
Analytics dossiers are based.

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.

7 Re-execute the dossiers in Public Objects\Reports\Dossiers to see if any new


data is displayed. For example, the Cube and Cache Monitoring dossier now
reflects the number of cube hits that occurred when you executed the
dossiers during this exercise, as in the example shown below.

141 Analyzing real-time data: Platform Analytics © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

Exercise 6.4: Investigating the load on your


MicroStrategy environments
Your MicroStrategy environments experience fluctuations in utilization. Peak load
periods likely require special attention. For example, if your environments are
cloud-based, you may want to increase hardware resources to accommodate
heavy usage during specific time periods. The following steps help you identify
peak load periods.

Identify peak load periods in your environment

1 In the Public Objects\Reports\Dossiers folder, open the Project Overview


dossier.

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

© 2022 MicroStrategy, Inc. Analyzing real-time data: Platform Analytics 142


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

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.

5 Close the dossier. Click No when prompted to save your changes.

The Platform Analytics data flow


It helps to understand how Platform Analytics data is captured, processed, and
distributed so you can best understand how to take advantage of what it offers
your organization and your administrative role. The Platform Analytics
architecture consists of the following components:

• Telemetry Producers: Send data generated by the Intelligence Server to the


Telemetry Server.

• Telemetry Server: A message broker that receives and temporarily houses all
the data sent by the producers.

• Telemetry Manager: Provides synchronization services for the Telemetry


Servers.

• Telemetry Cache: In-memory layer that speeds up the processing of the


telemetry by the Platform Analytics Store.

143 Analyzing real-time data: Platform Analytics © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

• Platform Analytics Store: Processes the telemetry and loads it to the


Platform Analytics repository.

• Platform Analytics Repository: PostgreSQL database that stores the


platform telemetry.

The following process describes how MicroStrategy platform information is


captured, processed, and distributed by Platform Analytics (PA) in real-time. The
flow of information is displayed in the following diagram:

1 Users log in to MicroStrategy projects, run reports against the Intelligence


Server, and perform administrative tasks.

2 The Intelligence Server producer logs the related statistics to the Telemetry
Server layer, which temporarily houses the statistics data.

 When you configure statistics logging, you enable a group of basic


statistics such as executions, sessions, prompt answers, subscriptions,
and others to be logged. If you need to perform troubleshooting tasks
in your environment, you can also temporarily log advanced statistics
to track job steps and SQL passes.

3 The Platform Analytics Services read messages from the Telemetry Server
layer, transform the data, and store it in the Platform Analytics repository.

4 In the Platform Analytics project, the Platform Analytics Intelligent Cube


retrieves data from the repository at the configured interval (every hour by
default). The last 30 days of data are stored in the cube.

© 2022 MicroStrategy, Inc. Analyzing real-time data: Platform Analytics 144


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

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.

Refreshing Platform Analytics data


The real-time telemetry data produced by the MicroStrategy platform is stored in
the Platform Analytics repository and transferred to an Intelligent Cube that
stores data for the last 30 days. By default, the Platform Analytics Intelligent Cube
is republished every hour.

145 Analyzing real-time data: Platform Analytics © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

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.

© 2022 MicroStrategy, Inc. Analyzing real-time data: Platform Analytics 146


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

Exercise 6.5: Create an incremental refresh schedule


By default, the Platform Analytics Intelligent Cube fully republishes every hour.
However, your CTO frequently accesses data from a few specific tables in the cube
throughout the day for her executive meetings and planning. You decide these
frequently used tables in the cube could benefit from getting the latest data twice
an hour, not just the default once an hour. To create an efficient data refresh
process that meets your organization’s needs, you decide to designate these
tables to retrieve new data at 30 minutes after the hour, every hour, in addition to
the default hourly refresh that occurs on the hour.

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

1 In Workstation, select Projects.

2 Double-click Platform Analytics.

3 Navigate to Public Objects\Reports\Utilities.

4 Right-click the Platform Analytics Cube dataset and select Schedule


Dataset Refresh.

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.

6 Select the check box for the following tables:


• lu_gateway_category

• lu_component_object_category

• lu_component_object_type

• lu_object_category

• lu_object_type

 Into your organization’s environment, work with your Database Architect


identify the tables that are most frequently updated and analyzed,
and apply the refresh schedule to those tables.

147 Analyzing real-time data: Platform Analytics © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

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.

8 At the bottom, in the Schedule drop-down list, select


PlatformAnalytics_Every_Hour_30. This refreshes these tables every hour,
on the 30s: 9:30, 10:30, 11:30, and so on. This extra refresh is in addition to the
default refresh on the hour that occurs for all tables in the Platform Analytics
cube.

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.

Placing limits on project use: Governors


Governors are settings that administrators can use to place limits or controls on
projects to keep overall system performance at acceptable levels. For example, a
governor may prevent a user from connecting to a project, keep a report from
running, or limit the size of a report result set. Governors can limit the number of
interactive and scheduled jobs that can simultaneously run on the server and the
number of users that can simultaneously connect to the server. You can also set

© 2022 MicroStrategy, Inc. Placing limits on project use: Governors 148


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

idle timeouts. If a user is connected with no activity, the server automatically logs
the user out after a certain period of time.

Governors enable administrators to set limits on a variety of parameters. When


the limit for a governor is exceeded, the governor is invoked.

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.

Governors across all projects: Server-level governors


The following image shows some of the server-level governors in Developer:
Server-Level Governors

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.

149 Placing limits on project use: Governors © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

Controlling a specific project: Project-level governors


In a project environment, you can experience bottlenecks if there are too many
users connecting concurrently, idle users are consuming available database
connections, or too many large jobs are running concurrently. The following
image shows some of the project-level governors in Developer:
Project-Level Governors

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

© 2022 MicroStrategy, Inc. Placing limits on project use: Governors 150


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

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.

151 Placing limits on project use: Governors © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

Exercise 6.6: Set usage limits using governors


You can use governors at the Intelligence Server level or the project level to set
usage limits on a variety of parameters. In this exercise, you change project
governors and then test the effects of your changes. This exercise gets you
familiar with modifying Intelligence Server governors and project-specific
governors, as well as seeing some error messages in the software.

Modify a project-level governor for the Human Resources Analysis Module


project. Then, change a server-level governor to limit the maximum number of
user sessions.

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.

Govern your environment

1 In Workstation, click Projects.

2 Right-click Human Resources Analysis Module, and click Properties.

3 Click All Settings.

4 In the All intermediate result rows for Document/Dossier views box, type
15.

If data retrieved from a database contains more than 15 rows, an error is


shown, and the report data is not displayed.

5 Click OK.

Modify a server-level governor

6 Navigate to the Environments page in Workstation.

7 Right-click AdminEA_Workstation and click Properties.

© 2022 MicroStrategy, Inc. Exercise 6.6: Set usage limits using governors 152
6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

8 Click Governing Settings.

9 In the Maximum number of user sessions box, type 1.

No more than a single user is able to simultaneously access the Intelligence


Server.

10 Click OK.

Test the project-level governor

11 In the Human Resources Analysis Module project, navigate to the Public


Objects\Reports\Benefit Analysis folder.

12 Run the Time Off Overview by Department report. In Workstation, this


report opens as a dossier.

An error message displays because the report returns more than 15 rows of
data.

13 Close the dossier.

14 Attempt to log into MicroStrategy Web as Manta Ray:

a In the MicroStrategy Cloud email, click Access MicroStrategy.

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.

c In the User name box, enter MRay.

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

Administering updates: Starting and stopping


the Intelligence Server
You can stop Intelligence Server to make system-wide updates, then restart
Intelligence Server once all updates are made. For example, when changing a
database instance link or performing maintenance, you may need to start, stop, or
restart the Intelligence Server.

To start and stop the server, you typically use the MicroStrategy Service Manager.

Service Manager is a centralized administrative tool that exposes various


MicroStrategy platform services. Using Service Manager, an administrator can
monitor and manage the status of various services (such as start/stop a service or
change a port), including the Exporting Engine service, the Kafka messaging
service, and the Collaboration REST Server service.

You can also start/stop Intelligence Server using a MicroStrategy Command


Manager script, from the command line, or from the Windows’ Service window.
For more information, refer to the MicroStrategy System Administration Guide
product manual.

155 Administering updates: Starting and stopping the Intelligence Server © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

Administering Web to manage the Web user


experience
Common Web administration activities include:

• Connecting to Intelligence Server

• Configuring default connection properties

• Enabling and monitoring logging and statistics

• Configuring security settings

• Redistributing MicroStrategy Office

• Deploying custom widgets

User preferences and project defaults


Users can change individual settings for their user preferences via the Preferences
link at the top of the MicroStrategy Web page. You can set the default values that
users see for these options to customize the Web user experience for your
organization.

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

You can define defaults for the following:

• The default start page

• 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.

• The default grid style to match your corporate standards

• Exporting reports to HTML

• Viewing prompts all on one page

• The login mode, for example, to LDAP authentication

157 Administering Web to manage the Web user experience © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

Exercise 6.7: Modify History List behavior for


users
In this exercise, you modify some user-level and project-level preferences for the
MicroStrategy Tutorial project, as follows:

• 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.

Modify History List settings

1 On the landing page, hover over MicroStrategy Web and click Launch.

If prompted, login to MicroStrategy Web using the login credentials listed in


the MicroStrategy Cloud email.

2 Click MicroStrategy Web.

Modify the default color theme

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.

5 At the top left, click Save.

Modify project-level preferences for History List and Security

6 To change project-level preferences, on the left, under Preferences Level, click


Project Defaults.

7 Under Preferences, click History List.

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.

10 On the left, under Preferences, click Security.

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.

12 Click Apply at the bottom.

Verify the changed preferences

13 Click the MicroStrategy icon.

14 Click Go to MicroStrategy Web.

15 Expand Shared Reports on the left and click Subject Areas.

16 Click the Human Resources Analysis subfolder.

17 Run the Employee Birthdays report.

18 Next to the MicroStrategy icon, click the Back arrow.

19 On the left, click History List.

The Employee Birthdays message is in your 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

Troubleshooting: Maximize the user


experience
An Intelligent Enterprise consistently monitors performance across the
Intelligence program to maximize efficiency and utilization of all BI applications.
To ensure users have the best experience with the organization’s MicroStrategy
environment, you should troubleshoot by:

• Monitoring log files

• Ensuring there is enough space for core dump files so MicroStrategy Technical
Support can best assist you if needed

Get details about errors with log files


The MicroStrategy Analytics platform provides a number of log files that can be
used for troubleshooting. By default, these log files are stored in the following
location:

• Windows: C:\Program Files (x86)\Common Files\MicroStrategy\Log

• Linux/Unix: /opt/mstr/MicroStrategy/log
Log files

A brief explanation of several log files useful for troubleshooting is provided


below:

• DSSErrors: DSSErrors.log is one of the most important trace files to use when
troubleshooting issues related to Intelligence Server.

When Intelligence Server encounters an error, it throws an exception. Some of


these exceptions are considered fatal, causing Intelligence Server to shut

© 2022 MicroStrategy, Inc. Troubleshooting: Maximize the user experience 160


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

down. These exceptions are sometimes logged in the DSSErrors.log as


unknown exceptions.

 Fatal exception messages by themselves may not be sufficient for


accurate diagnosis.

In case of unexpected shutdown, Intelligence Server also logs Server State


Dump (SSD) in the DSSErrors.log file. A SSD is a collection of information
related to the state of Intelligence Server at the time of an unexpected
shutdown of Intelligence Server. It provides insight into what was going on in
Intelligence Server when the shutdown occurred. This information can be
used to help diagnose the cause of the shutdown and avert subsequent
problems. Problems that can trigger an SSD include memory depletion or
exceptions.

• 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.

Core dump and call stack: Snapshots of the Intelligence


Server memory
When the Intelligence Server crashes, a core dump file is generated by the
operating system for the Intelligence Server (MSTRSvr) process. A core dump is a
snapshot of the Intelligence Server in memory at the time of the crash.

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

161 Troubleshooting: Maximize the user experience © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Monitoring and Governing the Analytics System 6

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.

© 2022 MicroStrategy, Inc. Troubleshooting: Maximize the user experience 162


6 Monitoring and Governing the Analytics System Administration for Enterprise Analytics

163 Troubleshooting: Maximize the user experience © 2022 MicroStrategy, Inc.


7
INTRODUCTION TO OPTIMIZING
PERFORMANCE

Goals:

• Improve system performance using caching, cubes, clustering, VLDB settings,


and scheduling and subscriptions.

Managing system performance


Efficiently delivering data enables users to have ready access to the information
they need to analyze. The better performance you can provide, the more
beneficial your project is to users.

Taking steps to prevent bottlenecks, such as setting governors, helps keep


bottlenecks from degrading performance. However, there are additional
measures you can take to ensure optimal performance.

It is important to configure your Intelligence Server in a manner that optimizes


performance. Performance gains can be achieved when:

• Users do not have to query the data sources as often

• You can automate reports

• You can make more processing power available to users to do their jobs

© 2022 MicroStrategy, Inc. Managing system performance 164


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

This chapter introduces areas of the software where performance optimizations


can be implemented. For a deep dive into performance tuning, including
determining where caches are stored and complex scenarios, take the Analytics
Performance Tuning class.

The following key areas of Intelligence Server provide options to speed up


reporting in MicroStrategy, depending on how your user community uses BI
capabilities:

• Caching

• Intelligent Cubes

• Scheduling and subscriptions

You can also use clustering to improve system performance. For more information
on clustering, refer to the System Administration Guide product manual.

Report, document, and dossier caching


Caching report results improves 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.

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.

165 Report, document, and dossier caching © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

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.

User experience can be further enhanced by scheduling reports to run during


batch window times. A batch window is the time available for an intensive batch
process operation, such as running subscriptions to update all the user’s caches.
By pre-caching reports in a batch, even the first report execution’s longer runtime
can be reduced. Scheduling is covered later in this chapter.

Report-level caching options are available in Workstation. Right-click the project,


select Properties, select Caches and Cubes on the left. Some caching options are
available on this menu, and you can click Advanced to view additional settings.

Best Report caching best practices


Practice
In a typical BI implementation, about 10% of reports benefit from caching. You
cannot pre-cache every report. The following are key factors that make
pre-caching every report impossible:
 The degree of personalization and security for the reports
 The amount of RAM available on the Intelligence Server
 The available batch window time

• Enable caching for frequently used reports only

• Disable caches for highly prompted reports or prompts on attributes, found


under the Advanced settings. If the majority of reports in a project are
prompted, and each prompt is likely to receive a different answer frequently,

© 2022 MicroStrategy, Inc. Report, document, and dossier caching 166


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

the probability of matching an existing cache is low. Caching these types of


report datasets does not provide significant benefits.
Workstation Setting for Disabling Prompt Report Caching in a Project

• 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.

• Enable XML caching for reports

167 Report, document, and dossier caching © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

• Allocate enough memory for report caches


Workstation Settings for Allocating Memory for Caches in a Project

• Establish a cache deletion and regeneration strategy that ensures that end
users can access the most recent data available

• After caching has been implemented, use MicroStrategy Platform


Analytics to determine which reports and documents generate caches
with a low hit ratio, and disable caching for these objects. This helps save
cache storage space.

Document and dossier caching


Documents and dossiers can be cached to improve system performance and
maintain a low memory footprint on the Intelligence Server. You can cache all
documents and dossiers across an entire project, or just cache a specific
document or dossier.

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.

© 2022 MicroStrategy, Inc. Report, document, and dossier caching 168


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

Document-level caching options are available in Workstation. Right-click the


project, select Properties, select Result Caches on the left, then click Advanced.

Best Document and dossier caching best practices


Practice
For best performance, follow these important considerations for document and
dossier caching:

• 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

• Use project-level caching only when a project contains a low number of


documents or dossiers that are simpler in design. Caching at the project level
creates caches that apply to all documents in a project (based on the specific
criteria you define for the subset of documents you want to have cached.) You

169 Report, document, and dossier caching © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

can enable document caching for PDF, Excel, HTML, and XML/Flash/HTML5
documents.
Workstation Settings for Document Caching

• Do not set up document or dossier caching on a per-user basis.

• 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.

• Schedule document and dossier caching during off-peak working hours so


that popular documents are pre-cached when users need to run them, and so
performance is not impacted during peak working hours.

• Dossiers are typically consumed by users in MicroStrategy Library. Therefore it


is important to make sure Library caching is enabled. To support users who
prefer to run dossiers in MicroStrategy Web (or who don’t have Library
permissions), ensure that HTML5 caching is enabled, which caches dossiers
accessed from Web.

© 2022 MicroStrategy, Inc. Report, document, and dossier caching 170


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

Exercise 7.1: Telemetry for caching


Caching enables users to retrieve valid report data quickly from Intelligence
Server memory instead of retrieving it from data warehouse.

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.

Determine current memory allocation for caches

1 In Workstation, click Projects.

2 Right-click the Human Resources Analysis project, and click Properties.

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.

Create a customized Platform Analytics dossier to track telemetry

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.

4 For the location to save the dossier, double-click Platform Analytics,


double-click Public Objects, then double-click the Reports folder. Click Save.

171 Exercise 7.1: Telemetry for caching © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

5 In the Datasets panel, click Existing Objects. The Add Existing Objects
window opens.

6 Type cache in the Search box to see attributes related to caches.

7 Double-click the following attributes to place them on your dossier:

• Cache Object

• Cache Object Type

• Cache Project

8 From the drop-down list at the top left, select Metrics.

9 You want to know the number of times the cache has been used, called the hit
count. In the Search box, type hit.

10 Double-click the Hit Count metric to place it on the dossier.

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.

© 2022 MicroStrategy, Inc. Exercise 7.1: Telemetry for caching 172


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

12 You want to be able to see the information as it changes in the database,


without having to refresh the cube. To do this, at the bottom left, change the
Data Access Mode from In-Memory to Connect Live.

13 Click Add to add these objects to your dossier’s dataset.

Create a filter for users

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.

15 Drag the Cache Project attribute to 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.

Add objects to the visualization

17 Click the Editor pane. Drag the Cache Object Type and Cache Object
attributes to the Rows zone.

173 Exercise 7.1: Telemetry for caching © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

18 Drag the Hit Count, Cache Size (KB), and Cache Expiration Timestamp
(UTC) metrics to the Metrics zone.

Save and close your dossier

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.

20 Click to Save the dossier and then close it.

Share the telemetry dossier with other administrators

1 In Workstation, on the left, click Dossiers if it is not already selected.

© 2022 MicroStrategy, Inc. Exercise 7.1: Telemetry for caching 174


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

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.

175 Exercise 7.1: Telemetry for caching © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

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.

Generate usage data for the Human Resources Analysis project

1 Leave the dossier open in your browser. Return to Workstation, and click
Projects.

2 Double-click the Human Resources Analysis project, then navigate to the


Public Objects, then Reports, and then the Dashboards and
Scorecards folder.

3 Double-click the HR Summary Dashboard to open it.

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.

6 Double-click the HR Summary Scorecard and click the Presentation Mode


icon to run the scorecard and create more usage data. Close the scorecard,
and click Yes to confirm.

© 2022 MicroStrategy, Inc. Exercise 7.1: Telemetry for caching 176


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

View telemetry data

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.

In-memory sets of data: Intelligent Cubes


It may not always be feasible to create caches for individual reports. To create
caches, each report has to first run against the data warehouse. In addition, in
some projects, many of the reports may return overlapping data, and therefore
many caches may contain redundant data, which can overload the system with
unnecessary caches. To overcome these types of challenges, you can group

177 In-memory sets of data: Intelligent Cubes © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

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.

Intelligent Cubes are also known as In-memory Cubes.

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

In this example, 20 users need to see employee compensation-related data from


20 different reports each day. Each report on average runs five minutes in the data
warehouse. If each user queries the data warehouse for the result set, collectively
their requests consume almost two hours of processing time. However, if you
create a cube to store data for these reports, the data warehouse is accessed only
when the cube is first published. All 20 users hit the Intelligent Cube. The
processing time is reduced to five minutes plus the time for the retrieval of the
slice of the cube’s data, which in most cases takes only seconds.

© 2022 MicroStrategy, Inc. In-memory sets of data: Intelligent Cubes 178


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

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.

• MTDI cubes: Automatically created by the Intelligence Server for business


users and analysts, as they create a dossier and use Data Import to import
their data. They consist of multiple in-memory tables and are configured to be
auto-partitioned. MTDI cubes let the business user determine who should

179 In-memory sets of data: Intelligent Cubes © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

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.

© 2022 MicroStrategy, Inc. In-memory sets of data: Intelligent Cubes 180


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

Exercise 7.2: Use Data Import to create an MTDI Cube


Users can import data from different data sources into the MicroStrategy
metadata. Once imported, the data can be mapped to define attributes and
metrics, and then published as a cube. You can import data from external files
such as Excel or CSV files, data on the web, a table in a database, or even the
results of a Freeform SQL query with minimal project design requirements.

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.

To import data from a local file

1 From your cloud landing page, hover over MicroStrategy Web and click
Launch.

2 Click MicroStrategy Web. MicroStrategy Tutorial’s Shared Reports page is


displayed.

3 At the top left, click Create, and select Add External Data.

4 In the Connect to Your Data window, click File from Disk.

5 In the Upload Your Files window, click Choose Files.

6 Navigate to and select the Forecast Data.xlsx file you received from your
instructor, and click Open.

181 In-memory sets of data: Intelligent Cubes © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

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:

Clean the data

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.

10 Change the name of the Customer Address column to Address.

© 2022 MicroStrategy, Inc. In-memory sets of data: Intelligent Cubes 182


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

11 Change the name of the Customer City column to City.

Publish the data as an Intelligent Cube

12 Click Finish to publish as an in-memory Intelligent Cube.

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

Create a report based on the Intelligent Cube that you created from the imported
data.

1 On the Start Your Analysis window, click Create Report.

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.

183 In-memory sets of data: Intelligent Cubes © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

4 On the toolbar, select Save.

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.

10 Right-click the selected objects and click Add to Grid.

11 In the toolbar, click Run Report.

12 In the toolbar, click Graph to view the report as a graph.

13 Click Save

14 Save the report as Category Forecast (Graph) in the My Reports folder and
click OK.

15 Click Return to Original Report.

© 2022 MicroStrategy, Inc. In-memory sets of data: Intelligent Cubes 184


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

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.

Managing Intelligent Cubes


Administrators typically monitor cube usage, such as hit count, last update time,
and memory size, to determine which cubes are effective and which are not being
used.

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

Improving performance by cleaning up cubes


You can free memory and improve system performance when you manage
Intelligent Cubes.

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.

185 In-memory sets of data: Intelligent Cubes © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

• 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.

When to use Intelligent Cubes


As with report caching, not all reports, documents, or dossiers in a project are
good candidates for cubes. Before designing cubes, look at the system usage to
analyze the distribution of reports by frequency of usage and by average user
wait time. This analysis can provide a good indication of which reports can benefit
from cube creation.

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.

© 2022 MicroStrategy, Inc. In-memory sets of data: Intelligent Cubes 186


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

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:

• Highly used reports

• Multiple overlapping reports

• Ad-hoc analysis reports

Cubes for highly-used prompted reports


Highly-used, prompted reports with high average wait times are great candidates
for cube optimization. These can be the most performance-demanding reports in
a BI application and tend to show a high level of execution variability that is
introduced predominantly by the use of prompts and security filters. Caching may
not be effective for this category of reports because of the individualistic nature
of prompts and security filters and, as a result, most reports in this category
submit many highly similar database queries, each incurring the average wait
time and causing significant database workload.

For this category of reports, the recommendation is to create one cube


specifically designed to support each highly used prompted report.
Using Cubes for Highly Used Prompted Reports

187 In-memory sets of data: Intelligent Cubes © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

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.

Cubes for multiple, highly used overlapping reports


This set of reports is usually characterized by the fact that many reports are
actually variations of an original report design. Commonly, end users create
personalized versions of IT-supplied reports. In one case of a financial customer,
over 1300 user-created reports could be traced to a small originating core set of
only 12 reports. Because slightly personalized reports tend to use up valuable
memory with almost identical data structures, caching is ineffective. However,
these reports cause a heavy workload on the database, which spends cycles
executing many similar queries, each with the average wait time.

For this category of reports, the recommendation is to create an Intelligent Cube


containing all the common attributes and metrics for each subset of overlapping
reports.
Using Cubes for Highly Used Overlapping Reports

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.

© 2022 MicroStrategy, Inc. In-memory sets of data: Intelligent Cubes 188


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

Cubes for frequently used ad-hoc analysis reports


These reports are generally created by end-users on-the-fly, to answer specific
customized queries. Some customers report that over half of all their reports are
ad hoc reports. Commonly, ad-hoc reports share common attributes and metrics
as they focus on the same general business areas. Because caching is not efficient
for this class of reports, since they cannot be predicted, it causes many ad-hoc
queries of similar data, creating a heavy database workload.

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.

Database optimizations: VLDB properties


You can adjust settings called VLDB (Very Large Database) properties to enable
MicroStrategy products to take advantage of the unique optimizations that
different databases offer. VLDB properties can often improve query response
times.

There are over 100 settings that affect how the MicroStrategy Engine handles
functionality such as:

• Join options (star join, full outer join, and so on)

• Metric calculation options (null and zero check during division operations)

189 Database optimizations: VLDB properties © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

• Query optimizations (subqueries and driving tables)

• Table types (temporary or derived tables)

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.

Setting VLDB properties


The VLDB Properties Editor displays settings specifically for the object from which
you access the editor.

In MicroStrategy Developer, you can define VLDB properties for the following
objects:
• Database Instance

• Project

• Template

• Metric

• Attribute

• Transformation

The following section describes one commonly adjusted VLDB property to


optimize report SQL, as an example. VLDB properties are covered in more detail in
the Analytics Performance Tuning class, and also are taught where applicable in
appropriate classes, such as metrics classes or project architecting classes. For
details on each VLDB property, with examples, see the Supplemental Reference for
System Administration product manual.

Optimizing report query SQL


You can optimize the report query SQL by means of VLDB settings. For example,
the SQL Global Optimization property enables you to eliminate redundant SQL
passes as a way of optimizing report SQL.

© 2022 MicroStrategy, Inc. Database optimizations: VLDB properties 190


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

The following table provides high level details on each one of the five
optimization options for this specific VLDB property:

Level Level Description Notes

Level 0 No Optimization Queries are not optimized

Level 1 Remove Unused And Redundant, identical, and equivalent SQL


Duplicate Passes passes are removed from queries during SQL
generation

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

191 Database optimizations: VLDB properties © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

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.

Scheduling subscriptions for performance


When users run a report, document, or dossier, Intelligence Server executes the
request immediately. One way to improve system performance for report
executions is to have popular reports and dossiers run automatically, at a specific
time or based on a specific system event, rather than having all reports executed
manually by individual users.

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.

Intelligence Server provides scheduling functionality that enables administrators


to set up reports, documents, and dossiers to run automatically based on

© 2022 MicroStrategy, Inc. Scheduling subscriptions for performance 192


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

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.

– Manually: In Developer, right-click the event in the Object Viewer and


select Trigger.

– Automatically: Use a Command Manager script. For example, if you


want to automatically trigger a warehouse load event after the
warehouse load occurs, you can run a command line at the end of the
batch load script that calls the script file, which then results in the
triggering of all schedules associated with that event. Command
Manager is covered later in this course.

193 Scheduling subscriptions for performance © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

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:

• History List: A History List subscription sends a report or dossier


automatically to users’ History Lists on a specified schedule.

• Cache Update: A Cache Update subscription creates caches for frequently


used reports and dossiers on a specified schedule.

• Cube Refresh: A Cube Refresh subscription republishes an Intelligent Cube


on a specified schedule. This avoids transferring redundant data from the data
querying layer to the analytical engine, to reduce peak memory usage.

• Mobile: A Mobile subscription sends a report or dossier automatically to a


user’s mobile device on a specified schedule.

Allowing users to personalize subscriptions


When you create a subscription, you can grant users the ability to control some of
the subscription details, such as when their delivery occurs, various
personalization options such as delivery format (PDF, Excel, and so on), and
unsubscribing. The image below shows the My Subscriptions page in
MicroStrategy Web for a subscriber:
Recipient’s My Subscriptions Page in MicroStrategy Web

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

© 2022 MicroStrategy, Inc. Scheduling subscriptions for performance 194


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

delivering often unneeded reports, documents, and dossiers on a regular


schedule.

The first step in controlling subscription impact on system performance, is to


evaluate your system’s subscriptions based on simple best practices.

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.

Best Best practices for subscriptions and scheduling


Practice
• Do not create multiple subscriptions. Combine multiple subscriptions. For
example, if you need to subscribe multiple users to the same content, do not
create a separate subscription for each user. Instead, create one subscription
for the content and include users as the recipients.

• Schedule subscription deliveries to occur when your Intelligence Server is


experiencing low traffic (when the system load is lighter).
• Executing simultaneous reports can strain system resources. If you have many
reports or tasks that need to be executed on the same time-based schedule,
consider creating several similar schedules that trigger 15 minutes apart.

• Plan a monitoring and clean-up strategy for unused subscriptions.



Create a monitoring check list based on these best practices and on your
users’ subscription needs and habits. Monitor subscriptions in Workstation
to check whether all are still current and in use by the recipients.
 As part of your clean-up strategy, filter the list of subscriptions so that you
can zero in on problematic subscriptions.

• 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.

195 Scheduling subscriptions for performance © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

Exercise 7.3: Monitoring and managing subscriptions


User subscriptions are a valuable tool for MicroStrategy analysts, but it is easy to
wind up with an overwhelming number of subscriptions that are hard to manage.
To evaluate subscriptions and optimize them, create a set of user subscriptions,
while implementing several best practices, such as minimizing the number of
subscriptions created and running subscriptions at optimal times.

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.

Monitor subscriptions for individual recipients

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.

© 2022 MicroStrategy, Inc. Scheduling subscriptions for performance 196


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

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.

6 Click Recipients to see who is receiving the subscription. This subscription is


only received by the MSTR User. Close the window.

Create a user group

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.

197 Scheduling subscriptions for performance © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

• 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.

1 In Workstation, click Users & Groups under Administration.

2 Click the Plus icon next to Groups to create a new user group.

3 In the Create New Group window, do the following:

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

© 2022 MicroStrategy, Inc. Scheduling subscriptions for performance 198


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

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.

4 Click Create Group. The group is created.

Create a simple performance-optimized subscription

Now that the user group has been created, you can make the subscription Peter
requested.

1 Click Projects, then click MicroStrategy Tutorial. Navigate to Public Objects,


/Reports/MicroStrategy Platform Capabilities/MicroStrategy Report
Services/MicroStrategy Widget Library.

2 Right-click Region Category Analysis, and click New Subscription from


“Region Category Analysis”.

3 Name the subscription Region Category Analysis - Regional Sales Team.

4 Click the drop-down next to Type, and select History List.

5 In the Schedule drop-down list, select the Monday Morning schedule.

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.

199 Scheduling subscriptions for performance © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

6 Click in the Users or Groups pane, and select Regional Sales Team from the
drop-down.

7 Click Save.

View the subscription in Workstation

Next, verify that the subscription was created correctly, and is active.

1 In Workstation, navigate to the Subscriptions page.

2 Click the Refresh icon .

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.

© 2022 MicroStrategy, Inc. Scheduling subscriptions for performance 200


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

Edit and optimize an existing subscription

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.

1 Right-click the Sales by Income Bracket (caching enabled) 11/25/19


10:25:06 PM, and select Edit.

2 Rename the subscription to Sales by Income Bracket - Regional Sales Team.

3 Next to Schedule based on, select Event,

4 In the Schedule drop-down, select On Database Load.

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.

201 Scheduling subscriptions for performance © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

Ensure subscriptions are accurate

1 On the Subscriptions page in Workstation, click the Refresh icon .

2 Click Filter.

3 In the Filter panel, click Name.

4 Type Regional Sales Team in the search field.

5 Select both subscriptions that show: Region Category Analysis - Regional


Sales Team and Sales by Income Bracket - Regional Sales Team.

© 2022 MicroStrategy, Inc. Scheduling subscriptions for performance 202


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

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.

Best As an administrator, you should create a monitoring checklist based on


Practice subscription best practices to ensure optimal performance. Use the Subscription
Monitor in Workstation to find subscriptions that are not following best practices.

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.

Alerting: Deliver reports when a condition is met


Alerting enables users to trigger delivery of reports and documents using
conditions. For example, when profit goes below a specified number, the
subscription automatically executes and an alert message is sent to the
subscribers. The condition specified by the user is saved in the subscription itself.

As an administrator, you can specify alerting conditions and subscribe multiple


recipients to alert messages. When the subscription schedule triggers, if the
condition is met, either the report that contains the alert, or another designated
report or document, is delivered to subscribers.

203 Scheduling subscriptions for performance © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

Exercise 7.4: Configure alert-based


subscriptions
Alerting proactively delivers reports and documents when certain conditions are
met so that users can quickly take appropriate action based on that information.

In this exercise, you create an alert-based subscription to the Yearly Revenue


Growth by Customer Region report. The report must be sent to the subscribers’
email and History List if the Percent Growth metric is below 10%. As the
administrator, you need to subscribe yourself, MicroStrategy Web Users, and the
San Francisco - Category Managers contact group. In addition, allow recipients to
change delivery settings, but do not allow them to unsubscribe.

Configure an alert for a report

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.

3 Click MicroStrategy Web to open the Shared Reports page.

4 Click the Subject Areas folder.

5 Click the Customer Analysis folder.

6 Click the Yearly Revenue Growth By Customer Region report to execute it.

© 2022 MicroStrategy, Inc. Exercise 7.4: Configure alert-based subscriptions 204


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

Define the condition that triggers the alert notification

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.

9 In the Operator drop-down list, select Less than.

10 In the Value box, type 0.1.

11 Beside the Value box, click Apply.

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.

13 In the Format window, in the Name box, type Problem Region.

14 On the Font tab, in the Font list, select Arial Black.

15 In the Style list, select Bold.

205 Exercise 7.4: Configure alert-based subscriptions © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

16 In the Size list, select 11.

17 In the Color drop-down list, select Red.

18 Click Apply.

19 Click OK.

A preview of the format displays next to the condition. Leave the Alerts Editor
open.

Subscribe recipients to the Alert report

1 In the Alerts Editor, expand Delivery Settings.

2 Under Alerts Subscription, in the Schedule drop-down list, select Books


Closed.

3 Click To to subscribe multiple recipients to this report.

4 In the Recipients Browser, select the San Francisco - Category Managers


contact group and click the arrow to move it to the To list.

© 2022 MicroStrategy, Inc. Exercise 7.4: Configure alert-based subscriptions 206


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

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.

9 To define specific permissions for recipients, expand Advanced Options.

207 Exercise 7.4: Configure alert-based subscriptions © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

10 Select the Allow recipients to change delivery settings check box to allow
subscribers to edit the subscription, as shown below:

11 Click OK to create the subscription.

View the subscription

12 Click the MicroStrategy icon and return to the Tutorial Project. Select My
Subscriptions.

On the My Subscription page, under Email Subscriptions, the Yearly Revenue


Growth by Customer Region subscription is displayed, as in the image below:

On the My Subscriptions page, the Action icon indicates that the subscriber can
change delivery settings.

Trigger the event to deliver the report to subscribers

1 In Developer, connect to the MicroStrategy Analytics Modules project source


using the login credentials listed in the MicroStrategy Cloud email.

2 In the Folder List, expand Administration, then Configuration Managers,


then select Events.

© 2022 MicroStrategy, Inc. Exercise 7.4: Configure alert-based subscriptions 208


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

3 In the Object Viewer, right-click the Books Closed event and select Trigger.

4 In the MicroStrategy Developer - Server Administration window, click OK.

Triggering the Books Closed event triggers the alert-based subscription,


which delivers the report to the recipients email inboxes and to the users’
History Lists.

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.

Scheduling administration tasks


In addition to scheduling the execution of reports and documents, you can
schedule certain administrative tasks. For example, you can automatically delete
all History List messages on a monthly schedule, or idle a project once a week for
maintenance and then resume it an hour later.

209 Exercise 7.4: Configure alert-based subscriptions © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

Exercise 7.5: Schedule cache deletion


Best You should proactively delete existing cached data when the data in the
Practice warehouse is refreshed. This ensures that users are making decisions based on the
most recent data instead of older cached data.

In this exercise, you schedule caches to be deleted automatically in the


MicroStrategy Tutorial project whenever your data warehouse is refreshed.

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.

Create a report cache

1 In Developer, open the MicroStrategy Analytics Module. In the MicroStrategy


Tutorial project, on the left, expand Public Objects, then Reports, then
Subject Areas, then Supplier Analysis.

2 Double-click the Unit Tracking by Supplier report to run it. This creates the
cache of the report.

3 Close the report without saving any changes.

4 On the left, expand Administration, System Monitors, then Caches, and


select Reports.

5 In the Cache Monitor Options window, select MicroStrategy Tutorial and


click OK.

The Unit Tracking by Supplier report cache is displayed.

Schedule the Delete Caches task

1 In Developer, on the Administration menu at the top, point to Scheduling,


and select Schedule Administration Tasks.

© 2022 MicroStrategy, Inc. Exercise 7.4: Configure alert-based subscriptions 210


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

2 In the Schedule Administration Tasks window, in the Available projects list,


select the MicroStrategy Tutorial project.

3 In the Choose one of the following actions drop-down list, select Delete
caches.

4 Select the On Database Load schedule, then click OK.

Check the scheduled task in the Scheduled Maintenance Monitor

The Scheduled Maintenance Monitor provides information about scheduled


project and project source maintenance tasks.

1 Under System Administration, click Scheduled Maintenance. The


DSSDeleteMultipleCache task is displayed.

To perform common schedule management tasks at any time, right-click a


scheduled task and select one of the following options from the menu:

• Quick View: Displays detailed information about the selected task and its
schedule. You can print or save this information.

211 Exercise 7.4: Configure alert-based subscriptions © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

• Refresh: Updates the Scheduled Maintenance Monitor with the most recent
information.

• Expire: Cancels the scheduled task.

2 In the Folder List, expand Administration, expand Configuration Managers,


and click Events.

3 In the Object Viewer, right-click Database Load and select Trigger.

A message is displayed that the event is triggered successfully. The scheduled


task associated with the event is executed, deleting all caches.

4 Click OK.

Verify cache deletion

5 In the Folder List, expand Administration, expand System Monitors, expand


Caches, and click Reports.

6 Press F5 on your keyboard to refresh the caches.

The Unit Tracking by Supplier report cache is deleted.

Individual user settings to improve system


performance
Best Limiting user memory usage for Data Import
Practice
Users utilize MicroStrategy’s Data Import feature when they import data into
MicroStrategy to create dossiers and reports based on the data. Data Import can
ingest data from a wide variety of sources, such as data warehouses, Excel, or the
results of a custom database query. When users use Data Import, the data is held
in the Intelligence Server memory. To prevent a user from using up a large chunk

© 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

Delivering subscriptions to email, file, or


printer
If you want to deliver subscribed reports or documents to a user’s email, a file
location, via file transfer protocol (FTP), or to a printer, you can do so using
Distribution Services, which is an add-on component of Intelligence Server. As
with other subscriptions, standard MicroStrategy security credentials are applied
for each user subscribed to receive a report or document. With Distribution
Services subscriptions, you can also compress and password-protect reports,
documents, or dossiers that are subscribed to for delivery.

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.

213 Delivering subscriptions to email, file, or printer © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

The following image shows the elements necessary to create this type of
subscription:
Subscription Components

Subscriptions have the following components:

Component Description

Content MicroStrategy reports, dossiers, and documents represent the main


content of MicroStrategy Web subscriptions.

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.

You configure transmitters, devices, schedules, and recipients to enable


Distribution Services functionality for end users. You use Developer to configure
these subscription components.

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

© 2022 MicroStrategy, Inc. Delivering subscriptions to email, file, or printer 214


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

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.

Bursting element-based data


Bursting provides an efficient way to generate separate, smaller files based on
attribute elements included in a report’s page-by or in a document’s grouping
field.

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 results in better performance since it only generates a single


MicroStrategy Intelligence Server job, regardless of the number of recipients in
the page-by field. Reports or documents are executed only once, then sliced into
individual pages, and sent to different email address.

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

215 Delivering subscriptions to email, file, or printer © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Introduction to Optimizing Performance 7

performance since it only generates a single Intelligence Server job, regardless of


the number of recipients in the page-by field. Reports and documents are
executed only once, then sliced into individual pages and sent to different email
addresses. Reports and documents can use the bursting feature if they contain at
least one attribute, with an email attribute form, in the page-by field.
Email Bursting

You can have multiple attributes in the page-by field.

© 2022 MicroStrategy, Inc. Delivering subscriptions to email, file, or printer 216


7 Introduction to Optimizing Performance Administration for Enterprise Analytics

217 Delivering subscriptions to email, file, or printer © 2022 MicroStrategy, Inc.


8
MANAGING THE PROJECT LIFE
CYCLE

Goals:

• Manage object migrations across different environments as part of creating


new objects, testing them in a non-production environment, then migrating
them to production.

Project life cycle management overview


Most projects have a separate environment for each major phase of the project
life cycle. These environments are typically:

• A development environment, for object development and creation as well


as for updates to existing objects

• A testing environment where newly developed objects are moved, to test


new objects in the context of the full project

• A production environment where successfully tested objects are finally


moved, to be used in end users’ daily business activities

© 2022 MicroStrategy, Inc. Project life cycle management overview 218


8 Managing the Project Life Cycle Administration for Enterprise Analytics

The process of moving objects across these environments is called project life
cycle management.
Migration Across Project Environments

Each environment contains a separate project that represents a different version


(development, test, or production) of a single project. You migrate objects across
the three distinct MicroStrategy projects.

Creating related projects: Duplicating projects


You establish different versions (development, testing, and production) of the
same project to set up and maintain your project life cycle. Maintaining the
project life cycle involves migrating objects through each version of the project.
When copying or moving objects across projects, the source and destination (also
called target) projects must be related. This means that the projects must have
the same schema ID. You create related projects by duplicating projects.

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.

219 Project life cycle management overview © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing the Project Life Cycle 8

Exercise 8.1: Duplicate the MicroStrategy Tutorial


project
For the management of your project life cycle, you typically create two or more
environments. You can then move objects seamlessly from one environment to
another for effective testing or for use in the production environment.

In this exercise, you use Object Manager to duplicate the existing MicroStrategy
Tutorial project to create a test project named MicroStrategy Tutorial – Test.

Duplicate the MicroStrategy Tutorial project

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.

3 In the Open Project Source window, click Cancel.

4 In MicroStrategy Object Manager, from the Project menu, select Duplicate


Project.

5 In the Project Duplication Wizard, in the Welcome window, click Next.

© 2022 MicroStrategy, Inc. Project life cycle management overview 220


8 Managing the Project Life Cycle Administration for Enterprise Analytics

6 In the Source Project Location window, in the Available Project Sources


drop-down list, select MicroStrategy Analytics Modules, as shown in the
image below:

7 Under Authentication, type the login credentials from the MicroStrategy


Cloud email. Then click Next.

8 In the Source Project Selection window, under Available Projects, select the
MicroStrategy Tutorial project. Then click Next.

9 In the Duplicate Project Location window, in the Available Project Sources


drop-down list, select MicroStrategy Analytics Modules.

10 Under Authentication, select With the login id and password provided


below.

11 Type the login credentials from the MicroStrategy Cloud email. Then click
Next.

12 In the Duplicate Project Creation window, in the Destination project name


box, overwrite the suggested name by typing MicroStrategy Tutorial - Test.

13 Click Next.

14 In the Select Languages to Duplicate window, accept the default option, All
languages, and click Next.

221 Project life cycle management overview © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing the Project Life Cycle 8

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.

© 2022 MicroStrategy, Inc. Project life cycle management overview 222


8 Managing the Project Life Cycle Administration for Enterprise Analytics

19 In the Log Options window, clear the Event log, Inconsistent object log, and
Statistics log check boxes, then click Next.

If a message is displayed about overwriting the event log, click Yes.

20 In the Summary window, click Finish. A window displays the progress of the
duplication.

It takes several minutes to duplicate a project.

21 When the duplication is complete, a message displays specifying that


duplication is finished. Click OK.

22 Click Exit to close the Project Duplication Wizard.

Object migration methods and best practices


Best MicroStrategy recommends the following best practices for project life cycle
Practice management:

• Use at least three environments: development, test, and production.

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

development environment and then copy them to the testing environment to


undergo testing again.

Before migrating objects, you should obtain users’ acceptance to ensure that
the objects meet their requirements.

• Allow only one-way migration of objects.

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.

• Create and change objects only in the development environment.

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:

• Object Manager: Useful for creating an initial copy of a project, as well as


migrating objects related to incremental or smaller changes to a project, such
as an individual report. Recommended for migrating objects from the
development environment to the test environment.

• Project Merge Wizard: Effective for large-scale migration, such as copying all
project objects.

• Update package: A file containing a set of object definitions and conflict


resolution rules. An update package enables you to copy objects from the
source project and import them into the destination project, and is
particularly useful when you may need to update the objects in several folders

© 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.

Migrating objects from development to testing: Object


Manager
You use Object Manager to migrate individual objects or groups of objects across
projects. It is especially useful for moving objects from the development
environment to the testing environment. When you open a project in Object
Manager to capture the object information, you lock the project for all other
users, which prevents unexpected changes to objects that might compromise
object integrity.

With Object Manager, you copy objects across projects, duplicate projects,
compare objects across projects, and view object dependencies.

For copying to projects in a remote location, Object Manager enables you to


create update packages, which are stand-alone files containing object
information. The update package can be distributed and applied to a remote
destination project.

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.

When a user attempts to open an object in a locked project, a message displays


informing the user that the object is locked, as shown below:

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.

Administrator’s read-only access


Locking a project prevents metadata inconsistencies. However, sometimes an
administrator needs to access Object Manager simply to review or audit a project,
or conduct an impact analysis on proposed object changes, and has no intention
of migrating objects at the moment. However, when Object Manager is accessed,
MicroStrategy users get locked out even if an administrator is simply accessing
Object Manager without migrating or performing other changes.

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:

• Open configuration in read-only mode: Allows administrators to use Object


Manager and lock project and schema objects, while still allowing
MicroStrategy users to make changes to configuration objects such as users
and groups.

• Open project in read-only mode: Allows administrators to use Object


Manager and lock configuration objects, while still allowing MicroStrategy
users to modify project and schema objects in projects.

These administrator read-only modes let administrators control what types of


objects users can make changes to, during the time an administrator is using
Object Manager for tasks that don’t require locking users out of all object changes
entirely.

When connecting to a project or project source in one of these administrative


read-only modes, consider the following:

• 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.

• The administrator cannot copy objects across projects. If you connect to a


project using Object Manager in a read-only mode, you can still move, copy,
and delete objects within the project (as allowed by which read-only mode
you choose), but you cannot copy objects across projects.

• The administrator cannot create an update package, which is a file containing


object definitions and conflict resolution rules that are imported into a

© 2022 MicroStrategy, Inc. Object migration methods and best practices 226
8 Managing the Project Life Cycle Administration for Enterprise Analytics

destination project. If needed, you can change the default preferences by


configuring Object Manager to allow the creation of update packages in
read-only mode.

Maintaining the life cycle by migrating


objects
Object Manager enables you to copy MicroStrategy objects within the same
project or across related projects. To copy objects across projects, the projects
must be related. The means the projects must be duplicates of each other or
duplicates of a common project, and thus have the same schema ID. You can copy
project and schema objects within a project or across projects. You can copy
configuration objects at the project source level.

Parent and child dependencies


When you copy an object, Object Manager searches for that object’s child
dependencies and copies those objects too. For example, when you copy a folder,
Object Manager copies all objects in that folder, any subfolders of that folder, and
all objects in the subfolders. Similarly, when an attribute or fact is migrated from
one project to another using Object Manager, all dependent tables are also
migrated. This includes warehouse tables, MDX tables, and XDA tables.

You can search for dependencies in Object Manager and Developer.

Parent dependencies

When an object is used by the definition of other objects, a parent dependency is


established. For example, in the MicroStrategy Tutorial project, the Select a
Category prompt is used on many reports. Therefore, this prompt has parent
dependencies with all of those reports.

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.

Best Best practices for copying project and schema objects


Practice
• Before copying and pasting objects, back up your metadata because you
cannot undo the paste action.

227 Maintaining the life cycle by migrating objects © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Managing the Project Life Cycle 8

• Paste schema objects into the appropriate Schema Objects subfolders or


descendant folders only. For example, if you are copying a hierarchy, you
should only paste the hierarchy into the Project\Schema Objects\Hierarchies
folder.

• 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

Copying configuration objects


Configuration objects include such objects as database connections, database
logins, groups and users, schedules, languages, and so on. You can copy
configuration objects within a project source or across project sources.

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

The table below describes the different kinds of conflicts:

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.

User Action Description

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

User Action Description

Replace The destination object is replaced with the source object.


• If the conflict type is Exists Identically Except for Path or Exists Identically
Except for Distribution Services Objects, the destination object is updated
to reflect the path or Distribution Services addresses and contacts of the
source object.
• Replace moves the object into the same parent folder as the source object.
If the parent path is the same between source and destination, but the
grandparent path is different, Replace can seem to do nothing because
Replace puts the object into the same parent path.
• Non-empty folders in the destination location never have the same version
ID and modification time as the source, because the folder is copied first
and the child objects are then added to it, thus changing the version ID
and modification times during the copy process

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.

Automatic table mapping when copying attributes and


facts
When you copy an attribute or fact from one project to another, Object Manager
copies and updates any tables on which the attribute or fact definition is based.
This includes warehouse tables, MDX tables, and XDA tables.

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

Excluding migration of dependencies


When you copy an object, Object Manager checks for any child dependents of
that object and copies them as well. You can control the depth of the dependency
checking, which can increase the efficiency of the migration process.

You can use the following preferences to exclude certain types of dependent
objects during migration.

Limiting dependency searches for child and parent attributes

These options can improve performance as they avoid unnecessary searches if


the schema objects are not being modified in the metadata.

• Exclude all parent attributes from an attribute: Excludes all parent


attributes in the hierarchy when migrating an attribute.

• Exclude all child attributes from an attribute: Excludes all child attributes in
the hierarchy when migrating an attribute.

 Disabling the options for dependency searches on parent and children


attributes should only be used when the metadata schema has not
been modified.

Limiting dependency searches for mapped tables

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 non-lookup tables from an attribute: Excludes non-lookup tables


mapped to an attribute.

• 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.

Migration details in a shareable file: Update


packages
An update package is a file containing a set of object definitions and conflict
resolution rules. An update package enables you to copy objects from the source
project and import them into the destination project, and is particularly useful

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.

Types of update packages include:

• Project update packages: Contain project and schema objects from a single
project.

• Configuration update packages: Contain configuration objects from a single


project source, and therefore created at the project source level.

• 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.

Two conflict resolution rules are specific to update packages:

User Action Description

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

Best Best practices for update packages


Practice
• If you do not add dependent objects to the package, make sure that they are
available in the destination project. If the dependent objects do not exist in
either the destination project or in the update package, the update package
cannot be applied.

• 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.

• Project access information for users and groups included in a configuration


update package, such as privileges, security roles, and security filters, is not
included in a configuration update package because this information can be
different for each project.

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.

Alternatives for creating and importing update


packages: command line, Command Manager, and more
For details to create, import, and execute update packages using the command
line, Command Manager, or System Manager, see the System Administration Guide.

Automatically creating a package from a command line


You can create update packages using a command line. You must first create an
XML file that contains a list of the objects to be migrated and conflict resolution
rules for those objects. Then you execute the instructions in that XML file using

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:

• The user does not need access to Object Manager.

• The user does not need access to the source project.

Sample package creation XML files for project update packages and configuration
update packages can be found in the Object Manager folder.

Importing a package using Command Manager scripts


This method enables you to import an update package without using Object
Manager. Since the Command Manager scripts can be scheduled to run at a
certain time, you can import the update package when the load on the
destination project is light.

The update package cannot recalculate the object client cache size, and it cannot
update the schema logical information. These tasks must be performed manually.

Importing a package using the command line


MicroStrategy provides a command line utility for importing update packages
without the need to open Object Manager.

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.

Copying objects across unrelated projects


Related projects are duplicates of each other and therefore have the same schema
ID. You can copy objects across unrelated projects using an update package. For
example, if you want to copy the Cost fact from the MicroStrategy Tutorial project
to the Human Resources Analysis Module project, you can create a package with
the Cost fact and all of its dependents, and then import that package into the
unrelated destination project.

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

Exercise 8.2: Create an update package


In this exercise, you duplicate a report in the MicroStrategy Tutorial project. In the
Windows machine in your cloud environment, as you only have permissions to
save a file in a folder under the C: drive, you create a folder called MSTR. Next, you
create an update package containing the new report in that folder and save it in
the MSTR folder.

Create a duplicate report

1 In Object Manager, at the top, click the Open Project Sources icon .

2 Select MicroStrategy Analytics Modules and click Open.

3 Log in using the login credentials from the MicroStrategy Cloud email.

4 In the MicroStrategy Tutorial project, open the Public Objects\Reports\


Subject Areas\Sales and Profitability Analysis folder.

5 Right-click the Call Center Performance report, and select Copy.

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.

Create an update package

Create the MSTR folder

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.

1 From the Windows taskbar, click File Explorer.

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

Create the update package

3 In Object Manager, select the MicroStrategy Tutorial project.

4 From the Tools menu, select Create Package.

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.

7 Double-click the New Call Center Performance report to move it to the


Selected Objects pane.

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.

10 Click Proceed at the top left.

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.

12 Close Object Manager.

Migrating entire projects


Like MicroStrategy Object Manager, the Project Merge Wizard is designed to help
administrators migrate objects across project environments. The Project Merge
Wizard enables you to migrate entire projects, for example, when you want to
start by synchronizing two related projects by comparing them, then copy
objects from one project to the other.

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.

© 2022 MicroStrategy, Inc. Migrating entire projects 236


8 Managing the Project Life Cycle Administration for Enterprise Analytics

• 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.

237 Migrating entire projects © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing the Project Life Cycle 8

Exercise 8.3: Merge projects using the Project Merge


Wizard
In this exercise, you make a change to the MicroStrategy Tutorial - Test project.
Then you merge the MicroStrategy Tutorial - Test project into the MicroStrategy
Tutorial project.

Modify the source project

1 In Developer, log in to the MicroStrategy Tutorial - Test project using the


login credentials from the MicroStrategy Cloud email. If you don’t see the
MicroStrategy Tutorial - Test project, close Developer, reopen it, and log in.

2 Navigate to the Public Objects\Reports\Subject Areas\Human Resources


Analysis folder.

3 Open the Employee Headcount by Region report.

4 In Design View, add the Country attribute (located under Attributes\


Geography) to the template.

5 Save the report and close Developer.

Merge the projects

1 From the Windows taskbar, click Search Windows.

2 In the Search Windows box, search for and click Project Merge Wizard.

3 On the Introduction page, click Next.

4 On the Specify Source Data Source page, from the Available Project Sources
drop-down list, select MicroStrategy Analytics Modules.

5 Under Authentication, click With the login id and password provided


below.

6 In the Login id and Password boxes, type the credentials from the
MicroStrategy Cloud email. Then click Next.

© 2022 MicroStrategy, Inc. Migrating entire projects 238


8 Managing the Project Life Cycle Administration for Enterprise Analytics

7 On the Specify Source Project page, from the Available projects list, select
the MicroStrategy Tutorial - Test project. Then click Next.

8 On the Specify Destination Data Source page, in the Available Project


Sources drop-down list, select MicroStrategy Analytics Modules.

9 Under Authentication, click With the login id and password provided


below.

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.

12 On the Explain Rules page, 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.

239 Migrating entire projects © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Managing the Project Life Cycle 8

16 On the Specify Rules at Folder Level page, click Add.

17 In the Select Objects window, browse to and click the Public Objects folder.

18 Click OK.

19 Under the Rule column, select Use Older.

20 Click Next.

21 On the Specify Rules at Object Level page, 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.

25 If a message about overwriting the ProjectMerge.log file is displayed, click Yes.

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.

27 Under Copy ACL Option, select Replace.

28 Click Next.

© 2022 MicroStrategy, Inc. Migrating entire projects 240


8 Managing the Project Life Cycle Administration for Enterprise Analytics

29 On the Summary page, click Finish.

The merging progress is displayed on a status page. This process may take
several minutes.

30 When the process completes, a message window displays. Click OK.

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.

241 Migrating entire projects © 2022 MicroStrategy, Inc.


9
TRACKING OBJECT CHANGES

Goals:

• Log object changes using change journaling.

• View and filter object changes, track changes to individual objects, and purge
the change journal.

Track changes to objects: Change journaling


Change journaling refers to tracking information about changes made to
projects, schemas, and configuration objects in a MicroStrategy environment.
Whenever any of these objects are created, modified, or deleted, a corresponding
transaction is recorded in the change journal. Use change journaling to control
and audit your MicroStrategy environment, quickly detect irregular activity, and
promote best practices among architects and report developers.

Change journal entries are stored in the metadata tables.

© 2022 MicroStrategy, Inc. Track changes to objects: Change journaling 242


9 Tracking Object Changes Administration for Enterprise Analytics

Actions that are recorded in change journaling


New journal entries are added whenever there is a change in the metadata. At
least one transaction—though often more than one—is logged in the change
journal depending on the nature of the change. For example, when you create a
new metric, two transactions are recorded: one for the new metric, and one for
the parent folder that now contains this new metric. When you modify an existing
metric, only one transaction is recorded, just for that metric.

User actions resulting in a change journal entry


These are some of the actions that create an entry in the change journal:

Action Description

Objects Creating a new object


Creates multiple entries in the change journal:
• One entry for the new object
• One entry for its parent folder

Modifying an object’s definition

Saving an object

Renaming an object

Moving an object from one folder to another


Creates multiple entries in the change journal:
• One entry for the moved object
• One entry for the source folder
• One entry for the destination folder

Deleting an object
Creates multiple entries in the change journal:
• One entry for the deleted object
• One entry for its parent folder

Creating a connection map

Properties Modifying the properties of an object, such as the Access


Control List or description

Modifying server definition properties

Modifying project properties

243 Track changes to objects: Change journaling © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Tracking Object Changes 9

Action Description

Operations Performing a bulk update operation, such as a schema


update or project duplication

Purging the Change Journal logs

Modifying project or configuration objects using Object


Manager, Command Manager, or the MicroStrategy SDK

These are some of the actions that do not create an entry in the change journal:

Action Description

Executions Executing a report or document

Subscriptions Subscribing to a report or document

Unsubscribing from a report or document

Renaming a subscription

Prompts Answering prompts

Configuration objects Creating Distribution Services objects such as contacts,


transmitters, and devices

Documenting changes with Comments


When a Developer user performs any action that results in an entry in the change
journal, she is prompted to document it with more details in the Comments box,
before saving her change. Sometimes the Comments box is embedded within a

© 2022 MicroStrategy, Inc. Track changes to objects: Change journaling 244


9 Tracking Object Changes Administration for Enterprise Analytics

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:

The Change Comments window is displayed for MicroStrategy Developer users.


When MicroStrategy Web or MicroStrategy Office users create, modify, or delete
objects, the transactions are logged in the change journal but these users are not
prompted to provide comments for the transaction.

245 Track changes to objects: Change journaling © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Tracking Object Changes 9

Viewing the Change journal for an object


You can view the history of changes made to an individual object in the object’s
Properties window, under Change Journal on the left.

The following image shows an example of changes made to a report in the


report’s Properties window:

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).

Monitoring object changes across a project


You can monitor change journal transactions across a project to see changes
logged for any object in the project. You view project-wide changes to objects
using the Change Journal Transactions Monitor, by expanding the project source’s
Administration and expanding System Monitors. A sample view of the monitor is
shown below:

© 2022 MicroStrategy, Inc. Track changes to objects: Change journaling 246


9 Tracking Object Changes Administration for Enterprise Analytics

Controlling display and monitor performance


As the amount of logged information can number in the tens of thousands of
records, you can filter the transactions in the monitor by a specific object or by a
user. You do this by right-clicking a transaction and selecting either Filter View by
User or Filter View by Object. You can also double-click an entry for a quick,
close-up view.

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

Change Journal Monitor filter

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

247 Track changes to objects: Change journaling © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Tracking Object Changes 9

type, and transaction source. You can also limit the search to a specific time
period.
Change Journal Monitor Filter

Sending or archiving the change journal contents


You can export and save the contents of a change journal to a text file, which can
then be saved to an archival location or emailed to MicroStrategy technical
support for assistance with a problem.

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.

The name of an exported change journal contents file is


AuditLog_MMDDYYhhmmss.txt, where:

• MMDDYY is the month, date, and last two digits of the year

• hhmmss is the timestamp, in 24-hour format

This file is saved by default in C:\Program Files\Common Files\MicroStrategy\.

Purging selected change journal contents


You can purge recorded change journal transactions based on a selected date. All
entries older than the selected date are purged from the change journal. You can
purge the change journal for an individual project, or for all projects in the
metadata.

 Once entries are purged from the change journal, they cannot be
recovered. MicroStrategy recommends archiving your change journal
entries before purging.

© 2022 MicroStrategy, Inc. Track changes to objects: Change journaling 248


9 Tracking Object Changes Administration for Enterprise Analytics

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.

249 Track changes to objects: Change journaling © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Tracking Object Changes 9

Exercise 9.1: Monitor transactions in a change


journal
With change journaling, you can monitor the transactions logged in the change
journal for most object manipulations performed by users. In this exercise, you
perform the following changes in the MicroStrategy Tutorial project and monitor
the transactions logged in the change journal for each change:

• Create a new Test folder in the Reports folder.

• Create a Quarterly Revenue report with the following objects:


 Quarter and Category attributes on the rows
 Revenue metric in the columns

• Perform different manipulations to the report. After each action, you answer a
set of questions about how change journaling works.

Monitor changes

1 In Developer, log into the MicroStrategy Analytics Modules project source


using the login credentials listed in the MicroStrategy Cloud email.

2 Expand MicroStrategy Tutorial.

Create a new Test folder

3 In the Public Objects\Reports folder, right-click anywhere in the empty white


space and create a new folder named Test.

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.

5 In Developer, on the left, expand Administration, expand System Monitors,


and click Change Journal Transactions.

 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?

________________________________________________________________

What are their change types?

________________________________________________________________

6 To view transaction details:

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.

• To view a column that is not displayed, right-click in the white


empty space in the Change Journal Transactions Monitor, select
View Options, and select the column(s) you want to see. You can
also disable columns (for example, User Name, Source, and Project
Name) for a clearer view in the monitor. Click OK.

What are the transaction types and change types displayed in the monitor?

________________________________________________________________

Create a Quarterly Revenue report in the Test folder

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)

• Save the report as Quarterly Revenue.

How many transactions are recorded in the Change Journal Transactions


Monitor after you save the report? Right-click in the monitor and click Refresh
to see the transactions.

________________________________________________________________

251 Exercise 9.1: Monitor transactions in a change journal © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Tracking Object Changes 9

Manipulate the report

8 Rename your Quarterly Revenue report in the Test folder, to Quarterly


Category Breakout.

How many transactions are recorded in the Change Journal Transactions


Monitor? (Remember to right-click in the monitor and select Refresh to see
the latest transactions.)

________________________________________________________________

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?

________________________________________________________________

How many transactions are recorded in the Change Journal Transactions


Monitor?
________________________________________________________________

10 Create a History List subscription to the Quarterly Category Breakout report


for the administrator on the Books Closed schedule. (To do this, right-click the
Quarterly Category Breakout report, point to Schedule Delivery To, and
select History List. In the Schedule drop-down list, select Books Closed,
then click OK.)
How many transactions are recorded in the Change Journal Transactions
Monitor? Why?

________________________________________________________________

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.)

How many transactions are recorded in the Change Journal Transactions


Monitor?

________________________________________________________________

© 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.

• Question: What are their transaction types and change types?

Answer: All transactions are Save objects types. The change types are Touch for
the Reports folder, and Create and Change for the Test folder.

In the Test folder, create a Quarterly Revenue report.

• Question: How many transactions are recorded in the Change Journal


Transactions monitor when you save the report?

Answer: There are two new transactions: one for the Quarterly Revenue report,
and one for the Test folder.

• Question: What are their change types?

Answer: The change types are Create for the Quarterly Revenue report, and Touch
for the Test folder.

Rename the Quarterly Revenue report to Quarterly Category Breakout.

• Question: How many transactions are recorded in the Change Journal


Transactions monitor?
Answer: There is one new transaction for the Quarterly Category Breakout report.

• 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

• Question: How many transactions are recorded in the Change Journal


Transactions monitor?

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.

• Question: How many transactions are recorded in the Change Journal


Transactions monitor? Why?

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 many transactions are recorded in the Change Journal


Transactions monitor?

Answer: There is one new transaction for 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:

• Automate administrative tasks using MicroStrategy’s scripting tool, Command


Manager.

• Build and automate administrator workflows out of admin and developer


tasks, using System Manager.

Perform bulk administrator tasks: Command


Manager
Command Manager is an administrator tool that enables you to create scripts to
perform various bulk administrative functions. For example, the following
Command Manager script is designed to apply a specific security filter to a user or
a group of users in a specific project. You replace the placeholders in brackets < >
with your organization’s information and execute the script, which then performs
the specified action(s) in the metadata.

APPLY SECURITY FILTER "<sec_filter_name>" [FOLDER "<location_path>"] TO


([USER] "<login_name>" | [USER] GROUP "<group_name>") ON [PROJECT]
"<project_name>";

© 2022 MicroStrategy, Inc. Perform bulk administrator tasks: Command Manager 256
10 Automating Administrative Tasks Administration for Enterprise Analytics

Command Manager scripts significantly speed up many common administrator


tasks, such as:

• Creating, modifying, and deleting configuration objects (schedules, users,


groups, and so on)

• Managing caches

• Modifying Intelligence Server and project configuration settings

• Triggering event-based schedules

• Assigning privileges to users and groups

• Creating, modifying, and deleting attributes, facts, filters, and metrics

• Publishing, listing, and deleting Intelligent Cubes

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

Alternatives for accessing and using Command


Manager
In this class, you use Command Manager in its standard GUI format. You can also
launch and use Command Manager using a command line or a CLE interface,
each supported in both Windows and Unix:

• Command line interface (using CmdMgr.exe): Executes existing Command


Manager scripts using parameters in command line mode.

• 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.

Automating routine tasks using Command


Manager scripts

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:

CREATE DBLOGIN "<dblogin_name>" [LOGIN "<database_login>"]


[PASSWORD "<database_pwd>"];

© 2022 MicroStrategy, Inc. Automating routine tasks using Command Manager scripts 258
10 Automating Administrative Tasks Administration for Enterprise Analytics

The following image displays out-of-the-box scripts, in Command Manager’s


Choose Outline Window:
Choose Outline Window

Outlines are organized based on general administrator task areas.

Script outline syntax


Learn the following script components so you can take advantage of these
time-saving features. A script outline syntax contains the following components:

• 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.

For example, the Create_DBLogin_Outline script contains the token CREATE


DBLOGIN, which, when executed, creates database logins.

• 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.

For example, the Create_DBLogin_Outline script contains the placeholder


“<dblogin_name>”

• Brackets [ ]: Square brackets denote optional tokens. Delete the brackets


before you execute the script.

For example, in the Create_DBLogin_Outline script, the LOGIN and


PASSWORD tokens are optional. You can retain them and replace the
respective placeholders with literal text, or you can delete them. If you delete

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.

CREATE DBLOGIN "<dblogin_name>" [LOGIN "<database_login>"]


[PASSWORD "<database_pwd>"];

• 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.

APPLY SECURITY FILTER "<sec_filter_name>" [FOLDER "<location_path>"] TO


([USER] "<login_name>" | [USER] GROUP "<group_name>") ON [PROJECT]
"<project_name>";

• Semi-colon: Placed at the end of the script and denotes completion of the
script.
Command Manager Script Elements

Creating and executing scripts


You create and execute scripts in Command Manager’s script window. A script
window can contain the contents of a single script or multiple scripts. To include
multiple scripts, simply add more script outlines for each additional script to
include.

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

For example, consider the following scripts:

• CREATE DBLOGIN "Training" [LOGIN "Training"] [PASSWORD "Password"];

This script still contains the square brackets, which are not recognized
characters. When executed, the script results in errors.

• CREATE DBLOGIN "Training" LOGIN "Training" PASSWORD "Password";

This script contains only reserved word tokens followed by literal text
enclosed in quotation marks, and therefore executes properly.

Command Manager uses asynchronous execution, which means that while a


script is executing, you can create additional scripts and execute them without
the need to wait until the execution of the original script completes.

When the script successfully executes, a successful task completion message is


displayed on the Messages tab. If the script fails, an error message is displayed on
the Messages tab.

Saving and encrypting scripts


You can save any scripts that you create for future use. You can also encrypt scripts
to avoid exposing sensitive information such as logins and passwords in plain
text.

261 Automating routine tasks using Command Manager scripts © 2022 MicroStrategy, Inc.
Administration for Enterprise Analytics Automating Administrative Tasks 10

Exercise 10.1: Create a group and users with Command


Manager scripts
Two new sales analysts have joined your organization and are using
MicroStrategy to create reports. As both of these new users have the same user
profile at the data warehouse level, your DBA has created a single database login
to which both sales analysts should be mapped.

As an administrator, you are tasked with the following:

• Create a MicroStrategy group for the Sales Analysts.

• Create two MicroStrategy user accounts, one for each of the following new
sales analysts:

Rebecca Jamison

Tonya Barker

• Add each analyst to the new Sales Analysts group.

To create users and groups using Command Manager scripts

1 On the Windows machine in your cloud environment, use the desktop’s


Search box to search for and click Command Manager.

2 In the Login window, click Connect to a Project Source.

3 In the Project Source drop-down list, ensure MicroStrategy Analytics Modules


is selected, and log in using the login credentials listed in the MicroStrategy
Cloud email.

Create a group account

4 On the toolbar, click the Insert Outline icon to open the Choose Outline
window.

5 In the Choose Outline window, expand the User_Group_Outlines folder, and


click Create_User_Group_Outline.

6 Click Insert.

7 Close the Choose Outline window.

© 2022 MicroStrategy, Inc. Automating routine tasks using Command Manager scripts 262
10 Automating Administrative Tasks Administration for Enterprise Analytics

Create the group

8 Customize the script, so it displays as follows:

CREATE USER GROUP "Sales Analysts" DESCRIPTION "Sales Analysts";

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

12 In Command Manager, in the script window, delete the previous script.

13 On the toolbar, click the Insert Outline icon.

14 In the Choose Outline window, expand the User_Outlines folder and select
Create_User_Outline.

15 Click Insert, then close the Choose Outline window.

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.

• Each new user password is: password1!

• 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

• Each user account is enabled.

• Each user is a member of the Sales Analysts group.

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:

• CREATE USER "rjamison" PASSWORD "password1!" FULLNAME "Rebecca


Jamison" ALLOWCHANGEPWD TRUE ALLOWSTDAUTH TRUE CHANGEPWD
TRUE PASSWORDEXP IN 60 DAYS ENABLED IN GROUP "Sales Analysts";

• CREATE USER "tbarker" PASSWORD "password1!" FULLNAME "Tonya


Barker" ALLOWCHANGEPWD TRUE ALLOWSTDAUTH TRUE CHANGEPWD
TRUE PASSWORDEXP IN 60 DAYS ENABLED IN GROUP "Sales Analysts";

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.

Automating and standardizing system


processes: System Manager
System Manager is a cross-platform product that eases end-to-end deployment,
administration, and migration processes that typically involve multiple
MicroStrategy products and multiple system processes. In System Manager, you
define workflows that combine and automate many system tasks. These include
checking for server status, backing up projects, sending alert emails after system
status changes, rebooting servers, and so on. System Manager workflows build
consistency into standardized administrator tasks, and enforce best practices for
various areas of task completion.

© 2022 MicroStrategy, Inc. Automating and standardizing system processes: System Manager 264
10 Automating Administrative Tasks Administration for Enterprise Analytics

Command Manager scripts can be included in System Manager workflows to


create automated systems that incorporate processes external to MicroStrategy.

Best In addition to automation, System Manager enables you to standardize common


Practice processes into set workflows to ensure consistency and enforce best practices.
With automated workflows established, you can assure that repetitive processes
are carried out in an approved order.

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

Task workflow and components


In System Manager, you create a workflow to execute, by combining processes,
connectors, and/or decisions to determine an order of actions. Like flowcharts,
workflows contain routines (processes), condition statements (decisions), arrows
(connectors), and start and end points (entry and exit processes). Parameters are
variables that can be shared among tasks, updated during the workflow, and used
to represent secure or dynamic information you must provide at runtime.

Examples of these workflow components are described briefly below:

• 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

package, executing a Command Manager script, retrieving Intelligence Server


status, or running other System Manager workflows. Processes that perform
actions external to MicroStrategy may launch virtual machine instances,
execute SQL, send emails, or unzip files, among other operations.

• 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.

• Decisions determine the next process in a workflow based on specific


outcomes of previous processes, rather than just the simple success or failure
of a process.

• Parameters are dynamic information that can be added to processes and


decisions. Instead of including a static input value to a process, you supply the
name of a dynamic parameter such as a username or password, as a
parameter. Parameter values can be updated in a workflow, shared across
multiple, non-consecutive processes, and saved independently from a
workflow. This enables inputs to processes that involve secure information,
such as login credentials, to be supplied only at runtime.

By combining processes, connectors, decisions, and optional parameters, you can


build a powerful and flexible workflow that incorporates your most important
administrative tasks.

Most of these components are added to a workflow by dragging them to a


workflow canvas. Details about a workflow and processes can then be defined in
the workflow canvas.

The following high-level steps outline the workflow creation process:

1 Open a new workflow canvas.

2 Add processes and decisions.

3 Update process properties and create parameters.

4 Add connectors and split and merge connectors.

5 Designate entry processes and add exit workflow processes.

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

Processes are grouped based on the following administrative task areas:

• MicroStrategy Products: These processes enable you to perform


MicroStrategy functionality related to tasks like object migration, BI
environment creation and maintenance, and other administrative tasks.
Examples include Import Package, Get Service Status, and Intelligence Server,
which enables you to execute Command Manager scripts.

• System Tools: These processes support tasks external to MicroStrategy.


Examples include Execute SQL, Send Email, Wait, and Download Using FTP.

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

Processes have properties, a description, and exit codes.

• 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.

To view descriptions of exit codes, in a workflow canvas, click a process. At the


bottom of the Properties and Parameters pane, click Show Descriptions.
Email, Find and Replace File Content, and Launch Instance Exit Codes

Entry and exit processes

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

Entry processes are designated by green flags in the image below:


Entry Processes

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

to the user-defined value of 3. If the comparison is true, the decision outputs a


success exit code. Otherwise it outputs a failure exit code:
Parameter/Exit Code Comparison

In the example above, the Checking if Intelligence Server is Running decision


tailored the exit codes from the previous process to fit the needs of the workflow.

Decisions are found in the Connectors and Processes pane toolbar:


Decision

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.

Sometimes a workflow may need several processes running in parallel to


complete before continuing. You can converge parallel processes to a Merge
Execution process that ensures different paths reconvene. The Merge Execution
process waits until all source processes are executed (or a user-defined period of
time that starts after the completion of the fastest process). If not all processes

© 2022 MicroStrategy, Inc. Automating and standardizing system processes: System Manager 272
10 Automating Administrative Tasks Administration for Enterprise Analytics

execute in time, you can use a failure connector to determine subsequent


behavior. Otherwise, a success connector can continue the workflow.
Split Execution and Merge Execution

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

The number of processes that execute simultaneously may be limited to the


number of CPUs on the system. You can change this limit manually. If there are
more parallel processes than the limit, extra processes are added to a queue and
executed in order.

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.

Validating and testing a workflow


After you create a workflow, you are ready to validate it and then test it, before
executing it. Validating a workflow with System Manager’s validation feature
ensures all required values and components are present. Validations do not
guarantee a workflow executes properly.

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.

• At least one exit process exists.

• 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.

To test individual processes without executing the entire workflow, in a workflow


canvas, right-click a process and select Execute Process.

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

Exercise 10.2: Create a workflow to automate


History List refresh
You use System Manager to standardize common processes into set workflows to
ensure consistency and enforce best practices.

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.

As part of this exercise, you do the following:

• Use Developer to schedule delivery to History List for a couple of reports.

• 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 a Command Manager script to trigger an event.

• 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.

Schedule reports in Developer

1 In Developer, in the MicroStrategy Analytics Modules project source, log in


to the MicroStrategy Tutorial project using the login credentials from the
MicroStrategy Cloud email.

2 Under the Public Objects\Reports\Subject Areas\Human Resources


Analysis folder, right-click Call Center Timeliness, point to Schedule
Delivery To and select History List.

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.

Delete existing History List and report caches

1 In the Folder List for the MicroStrategy Tutorial project, select History and
delete any existing History List messages.

2 In the Folder List, expand Administration, expand System Monitors, and


then Caches.

3 Under Caches, click Reports.

4 In the Cache Monitor Options window, do the following:

a Select MicroStrategy Tutorial.

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.

Create a Command Manager script to trigger an event

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.

3 On the toolbar, click Insert Outline .

4 In the Choose Outline window, expand the Event_Outlines folder and click
Trigger_Event_Outline.

5 Click Insert, then close the Choose Outline window.

6 Customize the inserted script to display as follows:

TRIGGER EVENT "Books Closed";

7 On the toolbar, click Check Syntax and correct any errors.

8 Save the script as Trigger Event in the C:\MSTR folder and click Save.

9 Exit Command Manager.

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.

Create the workflow

1 On the Cloud machine’s Windows task bar, click the Search icon, then search
for and click System Manager.

2 In the System Manager window, click New Workflow.

© 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.

4 Drag the Intelligence Server process onto the workflow canvas.

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:

• Select Connect to a Project Source.

• In the Project Source box, type MicroStrategy Analytics Modules.

• 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

Validate and execute your workflow

1 On the toolbar, click Validate Workflow.

2 Do one of the following:

• If the workflow is valid, in the System Manager message window, click OK.

• If the workflow does not validate, click Details to identify workflow


problems, fix the issue, and validate again.

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.

5 From the File menu, click Save Workflow As.

6 In the Save As window, navigate to the C:\MSTR folder and save the workflow
as TriggerEventWorkflow.smw. Click Save. Minimize System Manager.

Verify History List and cache creation

1 In Developer, in the MicroStrategy Analytics Modules project source, open


the MicroStrategy Tutorial project. If you need to log in, use the login
credentials from the MicroStrategy Cloud email.

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.

3 In the Folder List, expand Administration, expand System Monitors, then


Caches, and click Reports. On the right, the caches for your reports 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.

Python is an object-oriented programming language, meaning actions in Python


are performed on objects. For example, if you want to perform an administrative
task on a user, such as granting them a security role, first create an object that
represents a user. Then, create an object that represents a security role. Once the
objects are made, use additional scripts to perform the necessary actions on the
objects.

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

© 2022 MicroStrategy, Inc. Administration automation 284


A Appendix A: Automating Administrative Tasks with Python Administration for Enterprise Analytics

into your MicroStrategy environment. This book focuses on the system


administration modules in mstrio.

Managing scripts in Workstation


MicroStrategy Workstation is your one-stop shop for scripts. With Workstation,
you can upload, certify, edit, maintain, share, and run your scripts. Workstation
shows you key information about your scripts, such as whether a script is certified,
what environment it is connected to, who owns the script, when it was last run,
and the status of the script.

Large organizations could have hundreds of scripts to manage. Use Workstation


to filter your scripts to make organizing and maintaining them easier.

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,

285 Managing scripts in Workstation © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Appendix A: Automating Administrative Tasks with Python A

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.

Editing and creating scripts


After you upload a script to Workstation, making changes to the script is easy with
the script editor. Workstation’s script editor features a simple color-coded
interface.

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.

© 2022 MicroStrategy, Inc. Editing and creating scripts 286


A Appendix A: Automating Administrative Tasks with Python Administration for Enterprise Analytics

Running scripts in Workstation


Of course, you are not uploading and editing scripts in Workstation just for fun,
you can run scripts in Workstation as well. Once a script is certified, right-click the
script and click Run to execute it directly from Workstation. You can also run a
script from the script editor. After running a script in the script editor, a console
displays to show the output of the script.

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:

• Successful : The script’s execution was successful.

• Stopped : The script’s execution was stopped. This is often manually


triggered by an administrator.

• 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.

287 Running scripts in Workstation © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Appendix A: Automating Administrative Tasks with Python A

• 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.

• For stopped runs, the log is blank.

Certifying scripts: Maintaining a single version of the


truth
Scripts can only be certified by users with the Certifier role. Users with this role
also have the ability to run uncertified scripts, to make testing easier.

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.

Managing access to MicroStrategy objects: Permissions


and ACLs
The MicroStrategy platform provides the following security features that the you
can leverage for controlling access scripts:

• Permissions—Define the type of access users have.

• 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.

© 2022 MicroStrategy, Inc. Running scripts in Workstation 288


A Appendix A: Automating Administrative Tasks with Python Administration for Enterprise Analytics

Exercise 1: Grant the certifier role to manage


scripts
You are in charge of onboarding the new hires for the analytics department at the
Home Office Corporation, a company that sells and distributes office supplies. You
want to use scripts to expedite and automate this process.

Begin by connecting to Workstation, granting the Certifier role to the


Administrator, and then upload Python scripts to the environment.

Transfer your workshop files to the Windows machine in your environment

1 Save the exercise files, Create_Groups.py, Add_Users.py, and


Code_Snippets.txt, to your local machine.

2 Access your environment’s RDP machine.

3 Press Ctrl+Alt+Shift to open the Guacamole clipboard.

Press Ctrl+Option+Shift if using a Mac.

4 Under Devices, click the Shared Drive icon to open the File Transfer menu.

5 Click Upload Files.

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

7 Select the Add_Users.py and Create_Group.py files, then click Open.

8 Click Clear in the File Transfers window.

9 Press Ctrl+Alt+Shift to close the Guacamole clipboard.

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.

Access Workstation as the Administrator

You are currently connected to Workstation as the mstr user. In order to use
mstrio, you need additional administrative privileges.

1 Open Workstation, and navigate to the Environments page.

2 Right-click AdminEA_Workstation, and click Edit Environment


Information.

3 In the Editing Environment window, click Continue.

4 In the Username box, type Administrator, and use the Password from your
Welcome to MicroStrategy on Cloud email.

5 Select Remember Me, then click Connect.

6 Ensure MicroStrategy Tutorial is selected.

7 Select Remember Selected Projects, and click OK.

© 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

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.

1 In Workstation, under Administration, click Users & Groups.

2 Click All Users. Right-click Administrator, then click Edit.

3 In the Edit User window, click Project Access & Roles.

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

Exercise 2: Create a user group with mstrio to


improve onboarding efficiency
Now that you have the necessary privileges as the Administrator, create a user
group for the new hires at the Home Office Corporation. A team member wrote
scripts to help you automate the onboarding process. Upload the pre-written
scripts to the environment, explore the contents of the Create User Group script,
and then run it.

Upload scripts to Workstation

1 In Workstation, click Scripts.

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.

3 Navigate to the desktop folder, and double-click the Create_Group 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

4 In the Save As window, navigate to the MicroStrategy Tutorial, Public


Objects folder. Right-click the white space in the window and click New
Folder.

5 Type Scripts in the New Folder name box and press Enter.

6 Double-click the Scripts folder, then click Save.

7 Click Upload New Script.

8 Navigate to the desktop folder and double-click the Add_Users file. This file is
used in a later exercise.

9 Save this file in the Scripts folder.

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.

Certify the scripts

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

Explore the Create User Group script

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.

1 Click Projects. Navigate to the scripts folder, located at Micro Strategy


Tutorial/Public Objects/Scripts.

2 Right-click Create_Group.py and click Edit.

• 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 lines of code under the #connect to an mstr environment comment


establish a connection between mstrio and the environment.

Python is an object-oriented programming language, so scripts are structured


around individual objects, which can be a variable or function.

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

project. If you wanted to connect to a different project, simply enter a


different project name between the two quotation marks.

• 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

Execute the Create User Group script

1 Click Run to execute this script. A console displays at the bottom of the
window, showing the output of the script.

2 Close the script editor.

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.

4 Close the Log file.

Verify the results of the script

5 Click Users & Groups.

© 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.

Set script ACLs

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.

2 Right-click Create_Group.py and click Get Info.

3 In the Create_Group window, click Security Access.

4 In the Search Bar, type Crisby and click Crisby Abram.

5 Click View to open a drop-down list of permissions, and select Modify.

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

Exercise 3: Edit and run the Add Users script


Next, you want to create accounts for the new hires at the Home Office
Corporation. The script you were given is pretty close to what you need, but
requires some edits before it can be used.

For this script, the user information is entered directly into the script. You can also
create users from a csv file using mstrio.

Edit the Add Users script

1 Click Projects. Navigate to the scripts folder, located at Micro Strategy


Tutorial/Public Objects/Scripts.

2 Right-click Add_Users.py and click Edit.

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.

6 Type password_modifiable = True,. Then, press Enter. This setting allows a


user to modify their own password, to implement a safer security practice.

© 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

7 On the new line, type require_new_password = True,. This requires a user to


set a new password the first time they log in. Make sure you include the
comma at the end of the lines.

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.

9 Now that you finished editing the script, click Save.

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.

View the new users

1 Navigate to the Users & Groups page in Workstation.

2 Click Groups, then expand the New Hires group. If you do not see the new
users, click Refresh.

3 Right-click Sting Ray, and click Edit.

The User Must Change Password at Next Log In box is selected, because of the
line you added to the Create Users script.

4 Click Project Access & Roles.

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.

5 Close the Edit User window.

6 Right-click Gary Bronson and click Edit.

7 Click Project Access & Roles. Gary has three roles for the Tutorial Project,
since he was also assigned the Certifier role.

8 Close the Edit User window.

© 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

Exercise 4: Create a new script to assign


dossiers to the user group
The new analysts need to be able to view certain dossiers to perform their tasks.
To do this, create and execute a script that assign dossiers to their Library.

Create a script to assign users dossiers

1 Click the Plus sign next to Scripts to create a new script.

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

from mstrio.connection import Connection,


get_connection

from mstrio.users_and_groups.user_group import


UserGroup

from mstrio.project_objects import Document, Dossier

3 Create the connection to your environment by entering the following code:

#connect to environment

project_name = "MicroStrategy Tutorial"

conn=get_connection(workstationData,project_name)

4 Create the New Hires group object by entering the following code:

#select group

group=UserGroup(conn, “New Hires”)

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

Your script now looks like the following image.

5 You want to assign several dossiers to the New Hires group. Create a list of
dossiers with the following code:

#list of dossiers to publish to group

doss_to_publish = {

"doss1": {

"type" : "dossier",

"name" : "Multinational Bank Dossier"

},

"doss2": {

"type" : "dossier",

"name" : "Life as a New Hire"

},

"doss2": {

"type" : "dossier",

"name" : "Retail Sales Report"

© 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:

# publish dossiers to group's library

for i in doss_to_publish:

dos = Dossier(connection=conn, name=


doss_to_publish[i]["name"])

dos.publish(recipients=[group.id])

The completed script matches this image.

7 Save the script in the scripts folder as Add_Dossiers.

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.

Access the Library as Everest Davis

1 In the Welcome email, click the Access MicroStrategy Platform link. If


prompted, log in with the credentials provided in the Welcome email.

2 Hover over Library, and click Launch.

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.

6 As an Analyst, Everest’s library already contained several dossiers. Click the


Sort By drop-down list and select Date Added. You can see the dossiers you
assigned were recently added to his Library.

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

Configuring MicroStrategy Library to display data


through the web browser
As a security protection, when MicroStrategy Library is installed on-premise, it
does not display your data through non-MicroStrategy platform sites. As a result,
the MicroStrategy HyperIntelligence Chrome extension cannot underline words
on web pages and web apps, and cannot display your cards.

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.

You can enable data to be embedded on specific web pages or enable


embedding on all web pages. Consult your organization’s security protocols to
determine what restrictions might be in place for certain web pages.

These steps are not necessary for this class, because MicroStrategy Cloud
environments allow this behavior by default.

 The following steps are not to be performed as an in-class exercise. They


are for reference only.

© 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

Enable Library to embed data

1 In the Chrome browser, open your environment’s Library Admin page:

https://env-XXXXX.customer.cloud.microstrategy.com/
MicroStrategyLibrary/admin

Replace XXXXX with your environment name, which is listed in the


MicroStrategy Cloud email.

2 Enter the user name and password from your MicroStrategy Cloud email.

3 On the left, click Library Server.

4 Scroll down to Security Settings. Next to Allow Library Embedding in Other


Sites, click All.

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

Access Linux machine using PuTTY

You launch Xming and then PuTTY to connect to your Linux environment from
the Windows box in your cloud environment.

Launch Xming

1 On your Windows desktop, double-click Xming.

 Xming is an open source application that enables you to use client


applications like PuTTY to connect to remote computers and securely
forward X11 sessions from Windows computers.

2 Minimize the Xming window.

Launch PuTTY

You launch PuTTY, which is an open source Secure SHell (SSH) and telnet client for
Windows, to connect to a Linux machine.

3 On the Windows desktop of your cloud environment, double-click PuTTY.

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

Leave the Port value as 22.

5 In the PuTTY Configuration window, under Connection, expand SSH, and


select X11.

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.

8 Double-click MySession to open it to access your Linux machine.

• If a security message is displayed, click Yes.

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.

Restart the web server

11 On the console, type cd /opt/apache/tomcat and press Enter.

12 To see the folders in this directory, type ls 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.

14 To stop the web server, type ./shutdown.sh 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.

Keep Library session alive without


re-authentication
When you have MicroStrategy installed on-premises, Library and
HyperIntelligence users may be required to re-authenticate several times
throughout the course of the day. This is a security default that is built into the
MicroStrategy software. HyperIntelligence and Library users are required to log in
again in any of the following scenarios:

• 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

Administrators can extend the user session to a full day.

 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.

Installation and deployment vitals


To have a fully configured production ready environment in less than 30 minutes,
you can deploy MicroStrategy in the Cloud (on Azure or AWS). This
straightforward process, plus all necessary administration skills for managing a
cloud-based environment, are covered in Education’s Administration for
MicroStrategy on Cloud class. This cloud-specific course is designed for the
Platform Administrator, and the training focuses on the management and
optimization aspects of the BI platform, rather than the operating system or
infrastructure it is hosted on.

Installing any enterprise software in your own infrastructure (on-premises)


requires network and system administration expertise that are not in the scope of
this course. To learn more about these skills, take MicroStrategy Education’s
System Administrator class.

© 2022 MicroStrategy, Inc. Installation and deployment vitals 316


C Appendix C: Installing MicroStrategy Administration for Enterprise Analytics

Installation and deployment details


The brief discussion below provides details on your access options, whether you
choose a cloud-based approach or on-premise installation.

MicroStrategy Cloud deployment

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.

• Self-service solution—The self-service solution enables you to deploy and


manage your own dedicated, fully-configured, and operating MicroStrategy
Analytics platform with complete flexibility. You can maintain full control over
the AWS or Azure account in which the MicroStrategy platform is hosted.
MicroStrategy Cloud offers three pre-configured and optimized environment
editions (Team, Department, and Enterprise), ranging from an all-in-one
configuration to an enterprise-grade, clustered, distributed, and redundant
system. You can choose the specific compute infrastructure that meets your
needs based on cost or usage requirements. You also can easily manage your
MicroStrategy environment (such as Start, Stop, Restart, and Resize), on
demand or using the MicroStrategy Cloud provisioning system’s Scheduling
services.

• Fully-managed solution—In the fully-managed cloud deployment option,


the expert MicroStrategy Cloud team creates and manages your private cloud
instance, providing maximum performance, security, and customization. This
service includes a complete environment with features like intrusion
detection, firewalls, load balancers, and networking pre-configured for the
MicroStrategy environment. The MicroStrategy Cloud team also provides
upgrades, full-stack maintenance and patching, monitoring, compliance
certification management, and 24x7 technical support.

The fully-managed cloud deployment option offers the following advantages:



Fast startup with zero capital expenditure, and minimal financial,
operational, and schedule risk
 An integrated and tuned business intelligence (BI), database, and ETL
 The ability to build once and use across many interfaces

The ability to easily and quickly scale up and out as your user base’s needs
expand, for example, to new departments, and grow, for example, to take
advantage of additional MicroStrategy products

317 Installation and deployment vitals © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Appendix C: Installing MicroStrategy C

On-premise deployment

The on-premise installation option involves deploying the MicroStrategy


products on your infrastructure, with your organization managing and
maintaining all aspects of your environment, including:

• Performance tuning

• Managing security

• Troubleshooting issues

• Monitoring the environment

Intelligence Server installation and activation


Best If you choose to install and configure MicroStrategy software yourself, the
Practice following high-level instructions and best practices are a good starting point to
orient yourself to on-premise installation. For complete information and detailed
steps to install MicroStrategy on your organization’s premises, see the
MicroStrategy Installation and Configuration Guide, a MicroStrategy product
manual.

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.

Express and custom installations


When installing, you can choose a quick, default install of products on a single
server using the Express Install, or you can install MicroStrategy across multiple
servers and select which products to install using the Custom Install.

Installation options are discussed briefly here. Refer to the MicroStrategy


Installation and Configuration Guide product manual for detailed installation steps.

Install default products on a single server quickly:


Express installation
An Express installation enables you easily install the entire platform on a single
node environment. The Express installation includes the complete platform,
including MicroStrategy Analytics and Mobility, installed on your Windows server,
as well as the required third-party software libraries.

© 2022 MicroStrategy, Inc. Intelligence Server installation and activation 318


C Appendix C: Installing MicroStrategy Administration for Enterprise Analytics

If you are using the Express install to upgrade a previous MicroStrategy


installation, the MicroStrategy Analytics Platform includes a stand-alone utility
you can use to remove legacy files that might conflict with a newer version of
MicroStrategy. You do not have to manually remove unwanted registry or
configuration files.

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.

Install on multiple servers and choose products: Custom


installation
The Custom Install option enables you to install MicroStrategy on an environment
with multiple servers, and to select which MicroStrategy products to install. This
type of installation is intended for production environments, as well as for test
environments that mirror a production environment.

See the latest MicroStrategy Readme for supported and certified third-party
applications that work alongside your MicroStrategy platform.

Best Installation best practices


Practice
The following best practices can help speed up the installation and potentially
improve security and performance:

• PDF Export Engine: The MicroStrategy Analytics Platform includes an export


engine to enhance the ability to share dossiers in PDF format. The export
engine is in the installation as part of the Intelligence Server bundle of
products, and is a separate micro-service. You can install the export engine on
a separate machine, thereby reducing the load on the Intelligence Server
machine and ensuring that the distribution jobs do not compete for
Intelligence Server resources.

• Dedicated servers:

Intelligence Server: As the Intelligence Server performs a wide variety of
memory-intensive processes, including caching, scheduling, and cube

319 Express and custom installations © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Appendix C: Installing MicroStrategy C

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.

 For a development, proof-of-concept, or test environment, all the


components can be installed on a single server, as the stress level on
this environment is limited to a single user or a small team.

• 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.

• Hardware and software requirements: Refer to the MicroStrategy Readme


for the version you are installing and ensure that your environment meets the
specified hardware and software requirements.
The information in the Readme provides general guidance on hardware
requirements to support the MicroStrategy product suite. Your actual
hardware requirements may vary depending on the complexity of your
MicroStrategy environment, the deployment strategy of MicroStrategy
features, user requirements, expected peak usage requirements, and response
time expectations.

• Use MicroStrategy experts when needed: In addition to MicroStrategy


Technical Support, MicroStrategy’s Expert.Now is an on-demand, interactive
service for organizations that own a MicroStrategy Architect Pass. Expert.Now
connects you via video chat with MicroStrategy experts for assistance and
advice on a wide range of topics. In Workstation, on the left, under Resources,
click Expert.Now.

© 2022 MicroStrategy, Inc. Express and custom installations 320


C Appendix C: Installing MicroStrategy Administration for Enterprise Analytics

Activating your installation: Making the most of


technical support
After you install the MicroStrategy products in your environment, you have 30
days to activate your installation. To activate your installation, request an
activation code from MicroStrategy. You can request the code when you install
MicroStrategy using the MicroStrategy Installation Wizard, or after the installation
using the MicroStrategy License Manager.

As part of the activation process, you provide information about the


characteristics of the server installation:

• Installation Name

• Installation Location

• Production

• Development

• Testing

• Training

• Other

• Installation Use

MicroStrategy uses this information to provide you with personalized technical


support for your software configuration.

Activating in silent mode


If deploying MicroStrategy in silent mode using scripts, once the installation is
done you can run License Manager and provide the activation parameters and a
response file with the activation information (such as system information and
user contact information). You receive the activation code via email, which you
can apply to your installation to activate it. Detailed steps to create a response file
and install using silent mode are in the MicroStrategy Installation and
Configuration Guide.

321 Express and custom installations © 2022 MicroStrategy, Inc.


Administration for Enterprise Analytics Appendix C: Installing MicroStrategy C

Accessing resources: Connect with the Community


You can access various resources, including MicroStrategy Community, from
within Workstation (at the bottom of the left pane, under Resources) or simply log
into microstrategy.com.

For example, in Workstation, click Getting Started to watch video tutorials


organized by roles. Video tutorials cover common tasks such as connecting to an
environment, building a dossier, and refreshing a dataset. You can also access the
product documentation to find detailed steps.

Click Community to access the MicroStrategy Community Discussions forum and


learn from product experts and other MicroStrategy users.

Installing Workstation
These steps show you how to install Workstation on your local computer, from the
Cloud environment you use in this class.

You can install MicroStrategy Workstation on a Windows or Mac machine.

© 2022 MicroStrategy, Inc. Installing Workstation 322


C Appendix C: Installing MicroStrategy Administration for Enterprise Analytics

Install Workstation on your local computer

Download the install files

1 On the MicroStrategy Cloud landing page, hover over MicroStrategy


Workstation and click Mac or Windows, as appropriate. The MicroStrategy
Workstation installation zip file is downloaded to your browser.

Install Workstation

2 Extract the contents of the MicroStrategy Workstation installation zip file onto
your local computer.

3 Open the new MicroStrategy Workstation folder and double-click


WorkstationSetup.exe to start the installation.

4 If prompted, allow the application to make changes to your computer.

The Workstation installation process takes a few minutes to complete.


Workstation opens when the installation is finished.

323 Installing Workstation © 2022 MicroStrategy, Inc.


Copyright Information
All Contents Copyright © 2022 MicroStrategy Incorporated. All Rights Reserved.

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.

You might also like