Skip to main content

mstrio – Python and R wrappers for the MicroStrategy

mstrio – Python and R wrappers for the MicroStrategy REST APIs


Connecting to MicroStrategy 

Create a connection to the Intelligence Server using Connection() and  connect() in Python and R, respectively. Required arguments for the  Connection() function are the URL for the MicroStrategy REST API server, MicroStrategy Intelligence Server username and password, as well as the MicroStrategy project name. By default, the  connect() function anticipates your MicroStrategy Intelligence Server username and password. LDAP authentication is also supported. Use the optional argument  login_mode=16  in the  connect() function for LDAP authentication. 


Extract data from cubes and reports 

To extract data from MicroStrategy cubes and reports, use the  get_cube() and  get_report() functions. Use your connection object and the ID for the cube or report that you are fetching. You can get the ID by navigating to the cube or report within MicroStrategy Web, right-clicking on the desired cube, and selecting Properties. Alternatively, you can use MicroStrategy Developer in a similar manner.  The  get_cube() and  get_report() functions will return a data frame with the requested data. 


Upload data to MicroStrategy 

Create a new in-memory dataset with the create_dataset() function. You'll need to provide a name for your cube, as well as a name for the table that will contain the data. At this time, only one table per cube is supported. The create_cube() function will return the datasetID and tableID, which can be used to update a dataset with new data. 


Add or update a dataset with new data 

Once a dataset has been created, you can both update the data within the cube and add new data to it with the  update_dataset() function. Note that you'll need to pass in both the datasetID and tableID for the target dataset and table within the dataset, respectively. These are returned by the  create_dataset() function. 
The  update_policy  parameter controls the update behavior. Currently supported update operations are: 
  • add (inserts entirely new data) 
  • update (updates existing data) 
  • upsert (simultaneously updates existing data and inserts new data) 
  • replace (truncates and replaces the data)
This Knowledge Base article introduces "mstrio," Python and R packages which provide an interface for the MicroStrategy REST APIs. With a few lines of code, data scientists can extract data from cubes and reports and publish entirely new datasets for consumption by other analysts. 
This provides data scientists access to trusted, operational business data using Python and R, which is used in an overwhelming number of data science projects today. With mstrio, data scientists can quickly push their findings into a MicroStrategy dataset, enabling decision-makers to act on the insights. 

Connecting to MicroStrategy 

Create a connection to the Intelligence Server using Connection() and  connect() in Python and R, respectively. Required arguments for the  Connection() function are the URL for the MicroStrategy REST API server, MicroStrategy Intelligence Server username and password, as well as the MicroStrategy project name. By default, the  connect() function anticipates your MicroStrategy Intelligence Server username and password. LDAP authentication is also supported. Use the optional argument  login_mode=16  in the  connect() function for LDAP authentication. 

Extract data from cubes and reports 

To extract data from MicroStrategy cubes and reports, use the  get_cube() and  get_report() functions. Use your connection object and the ID for the cube or report that you are fetching. You can get the ID by navigating to the cube or report within MicroStrategy Web, right-clicking on the desired cube, and selecting Properties. Alternatively, you can use MicroStrategy Developer in a similar manner.  The  get_cube() and  get_report() functions will return a data frame with the requested data. 

Upload data to MicroStrategy 

Create a new in-memory dataset with the create_dataset() function. You'll need to provide a name for your cube, as well as a name for the table that will contain the data. At this time, only one table per cube is supported. The create_cube() function will return the datasetID and tableID, which can be used to update a dataset with new data. 

Add or update a dataset with new data 

Once a dataset has been created, you can both update the data within the cube and add new data to it with the  update_dataset() function. Note that you'll need to pass in both the datasetID and tableIDfor the target dataset and table within the dataset, respectively. These are returned by the  create_dataset() function. 
The  update_policy  parameter controls the update behavior. Currently supported update operations are: 
  • add (inserts entirely new data) 
  • update (updates existing data) 
  • upsert (simultaneously updates existing data and inserts new data) 
  • replace (truncates and replaces the data). 

Comments

  1. Hi, Thanks for sharing. Very informative and very useful for me.
    PYTHON TRAINING IN HYDERABAD


    ReplyDelete
  2. Hi, Thanks for sharing. Very informative and very useful for me.
    High speed internet Hyderabad

    ReplyDelete
  3. Hi, Thanks for sharing. Very informative and very useful for me.
    open plots in shadnagar

    ReplyDelete
  4. Hi, Thanks for sharing. Very informative and very useful for me.
    HMDA layout near Shadnagar

    ReplyDelete
  5. Hi, Thanks for sharing. Very informative and very useful for me.
    Fiber optic internet Hyderabad

    ReplyDelete
  6. Hi, Thanks for sharing. Very informative and very useful for me.
    Middle Eastern food near Belmont Ave

    ReplyDelete
  7. Hi, Thanks for sharing. Very informative and very useful for me.
    top plots dealers in hyderabad

    ReplyDelete
  8. Hi, Thanks for sharing. Very informative and very useful for me.
    suite with Whirlpool room in kochi

    ReplyDelete

Post a Comment

Popular posts from this blog

MicroStrategy URL API Parameters

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

Prompt-in-prompt(Nested Prompts) in Microstrategy

Prompt-in-prompt(Nested Prompts) in  Microstrategy Nested prompts allows you to create one prompt based on the other and other bases on another, nested prompts allows us to prompt the highest level(Like year) to middle level(like Quarter, then to the low level(like Month). Here you can see how to  create a 3-level deep nested prompt that will prompt the user to select a year, then a quarter within that year, then a month within that quarter. Prompt-in-prompt is a feature in which the answer to one prompt is used to define another prompt. This feature is only implemented for element list prompts . The following procedure describes how to achieve this: Create the highest level filter. This is a filter which contains a prompt on an attribute element list. Create a filter on the attribute "Year." Click "prompt on attribute element list" and click "Next" through the rest of the screens to accept the default values. Do not set any additio...

Types of prompts in Microstrategy

Types of prompts in Microstrategy The different types of prompts allow you to create a  prompt  for nearly every part of a report. Prompts can be used in many objects including reports, filters, metrics, and custom groups, but all prompts require user interaction when the report is executed. The correct prompt type to create depends on what report objects you want users to be able to base a filter on to filter data, as described in the list below. Filter definition prompts   allow users to determine how the report's data is filtered, based on one of the following objects: Attributes in a hierarchy : Users can select prompt answers from one or more attribute elements from one or more attributes. The attribute elements that they select are used to filter data displayed on the report. This prompt lets you give users the largest number of attribute elements to choose from when they answer the prompt to define their filtering criteria. For example, on a repor...

Microstrategy Dossiers explained

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

Control the display of null and zero metric values

Show   Control the display of null and zero metric values in a grid report You can determine how to display or hide rows and columns in a grid report that consist only of null or zero metric values. You can have MicroStrategy hide the rows and columns in the following ways: Hide rows and columns that consist only of null metric values Hide rows and columns that consist only of zero metric values Hide rows and columns that consist only of null or zero metric values (default) Once you have defined how MicroStrategy hides null and zero metric values in the grid, you can quickly show or hide the grid using the Hide Nulls/Zeros option in the Data menu, as described below, or by clicking the  Hide Nulls/Zeros  icon  in the Data toolbar. To determine how null and zero metric values are displayed or hidden in a grid report Open the report in Edit mode. From the  Tools  menu, select  Report Options . The Report Options...

Apply or Pass-through functions in Microstrategy

Ap ply (Pass-Through) functions MSTR Apply functions provide access to functions or syntactic constructs that are not standard in MicroStrategy but are provided by various RDBMS systems.. Syntax common to Apply functions Apply Function Name   ("expression with placeholders", Arg1, Arg2, Arg3, …ArgN) where: Apply Function Name  – is a generic name used for the predefined pass-through functions described above expression with placeholders  – is the string describing the actual expression or syntax that the engine uses while generating the SQL and which is sent to the RDBMS. The placeholders are represented by #0, #1, and so on. "#" is a reserved character for MicroStrategy. Arg  – is an argument that replaces the parameter markers in the pattern. Arg1 replaces #0, Arg2 replaces #1, and so on. There are   five  pre-defined Apply functions to replace regular, predefined functions of the same type. For more details, cli...

MicroStrategy VLDB properties with Hive

 Recommended VLDB Properties for use of  MicroStrategy 9 with Hive 0.7x The recommended VLDB optimizations for Hive 0.7x are listed below. These values are set by default when the "Hive 0.7x" database object is used (set at  Configuration Managers > Database Instances > Database Instance > Database connection type ) Selected Default VLDB Properties for Hive 0.7x  VLDB Category  VLDB Property Setting  Value   Tables  Fallback Table Type  Permanent Table  Tables  Maximum SQL Passes Before FallBack   0 (no threshold)  Tables  Maximum Tables in FROM Clause Before FallBack  0 (no threshold)  Tables  Drop Temp Table Method  Drop after final pass   Tables  Table Creation Type  Implicit Table  Query Optimizations   Sub Query Type   Use Temporary Table, falling back to IN (SELECT COL) for cor...

Email Subscription in Microstrategy

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

Fiscal Week, Fiscal Month, Fiscal Quarter and Fiscal Year calculations in Microstrategy

Fiscal Week, Fiscal Month, Fiscal Quarter and Fiscal Year calculations in Microstrategy FiscalWeek Returns the numeric position of a week within a fiscal year, for a given  input date. This function is useful in financial reporting when the start of the fiscal year is different than the start of the calendar year. Syntax FiscalWeek< firstWeekDay ,  firstMonth >( Date / Time ) Where: • Date / Time  is the input date or timestamp. • firstWeekDay  (default value is 1) is a parameter that determines which day of the week is considered as the first day of the week. You can type an integer value from 1 to 7, with 1 representing Sunday, 2 representing Monday, and so on until 7 representing Saturday. • firstMonth  (default value is 1) is a parameter that determines which month is considered as the start of the fiscal year. You can type an integer value from 1 to 12, with 1 representing January, 2 representing February, and so on until ...