Tag Archives: mobile

Creating a custom radio button in MicroStrategy Mobile to change panels

Hello there,

I would like to share this implementation that I did for mobile devices. In this case, I had to create a custom radio button using an HTML Container with CSS and JavaScript to change the panels of a panel stack.

The trick is to create anchors with your URL API parameters to change the panels based on the click of the radio button.

I have one function per button in this case, but you can improve it to use only one.

You just need to create an HTML Container and past this code below:

<!DOCTYPE html>

<html lang="en-gb">


<meta charset="UTF-8">


margin-bottom : 1.5em;


input[type=radio   ]:not(old){

width     : 2em;

margin    : 0;

padding   : 0;

font-size : 1em;

opacity   : 0;


input[type=radio   ]:not(old) + label{

display      : inline-block;

margin-left  : -2em;

line-height  : 1.5em;


input[type=radio   ]:not(old) + label > span{

display          : inline-block;

width            : 0.875em;

height           : 0.875em;

margin           : 0.25em 0.5em 0.25em 0.25em;

border           : 0.0625em solid rgb(192,192,192);

border-radius    : 0.25em;

background       : rgb(224,224,224);

background-image :    -moz-linear-gradient(rgb(240,240,240),rgb(224,224,224));

background-image :     -ms-linear-gradient(rgb(240,240,240),rgb(224,224,224));

background-image :      -o-linear-gradient(rgb(240,240,240),rgb(224,224,224));

background-image : -webkit-linear-gradient(rgb(240,240,240),rgb(224,224,224));

background-image :         linear-gradient(rgb(240,240,240),rgb(224,224,224));

vertical-align   : bottom;


input[type=radio   ]:not(old):checked + label > span{

background-image :    -moz-linear-gradient(rgb(224,224,224),rgb(240,240,240));

background-image :     -ms-linear-gradient(rgb(224,224,224),rgb(240,240,240));

background-image :      -o-linear-gradient(rgb(224,224,224),rgb(240,240,240));

background-image : -webkit-linear-gradient(rgb(224,224,224),rgb(240,240,240));

background-image :         linear-gradient(rgb(224,224,224),rgb(240,240,240));


input[type=radio]:not(old):checked +  label > span > span{

display          : block;

width            : 0.5em;

height           : 0.5em;

margin           : 0.125em;

border           : 0.0625em solid rgb(115,153,77);

border-radius    : 0.125em;

background       : #000;



function clickLvl() {

var event = document.createEvent('MouseEvent');

event = new CustomEvent('click');

var a = document.getElementById('lvlLink');



function clickVP() {

var event = document.createEvent('MouseEvent');

event = new CustomEvent('click');

var a = document.getElementById('vpLink');



function clickDivision() {

var event = document.createEvent('MouseEvent');

event = new CustomEvent('click');

var a = document.getElementById('divisionLink');



function clickDepartment() {

var event = document.createEvent('MouseEvent');

event = new CustomEvent('click');

var a = document.getElementById('departmentLink');



function clickClass() {

var event = document.createEvent('MouseEvent');

event = new CustomEvent('click');

var a = document.getElementById('classLink');






<a id="lvlLink" href="mstr://?evt=2048076&psName=ttl|comp&pName=Panel3531|Panel3531"></a>

<a id="vpLink" href="mstr://?evt=2048076&psName=ttl|comp&pName=Panel3535|Panel3535"></a>

<a id="divisionLink" href="mstr://?evt=2048076&psName=ttl|comp&pName=Panel3534|Panel3534"></a>

<a id="departmentLink" href="mstr://?evt=2048076&psName=ttl|comp&pName=Panel3533|Panel3533"></a>

<a id="classLink" href="mstr://?evt=2048076&psName=ttl|comp&pName=Panel4483|Panel4431"></a>
<div class="buttons">

<input id="radio1" type="radio" name="radio" value="1" checked="checked" onclick="clickLvl()"><label for="radio1"><span><span></span></span>Button 1</label></div>

<input id="radio2" type="radio" name="radio" value="2"><label for="radio2" onclick="clickVP()"><span><span></span></span>Button 2</label></div>

<input id="radio3" type="radio" name="radio" value="3"><label for="radio3" onclick="clickDivision()"><span><span></span></span>Button 3</label></div>

<input id="radio4" type="radio" name="radio" value="4"><label for="radio4" onclick="clickDepartment()"><span><span></span></span>Button 4</label></div>

<input id="radio5" type="radio" name="radio" value="5"><label for="radio5" onclick="clickClass()"><span><span></span></span>Button 5</label></div>


Each input is a different radio button.

Just let me know if you need help with this code.

Hope it helps.

God bless you!

URL API to renew Mobile cache

Hello there,

Today let’s talk about how to force the mobile app to get the new cache from IS using an URL API.

To do that, just add one of those URLs as a link:

mstr://?evt=2048030&useCache=0, refresh against data warehouse and generate new cache in Intelligence Server. 

mstr://?evt=2048030, refresh against existing Intelligence Server cache;

mstr://?evt=2048030&useCache=1, refresh against existing Intelligence Server cache;

mstr://?evt=2048030&useCache=, refresh against existing Intelligence Server cache;

Hope it helps!

God bless you!

Source: https://community.microstrategy.com/t5/SDK/TN44852-How-to-Purge-Server-Cache-and-Refresh-a-Report-Service/ta-p/194578

Problems with MicroStrategy Mobile Connectivity? Fiddler can help you

Hello there,

I found an excellent TN that explains a way to troubleshoot MicroStrategy Mobile connectivity issues.

Just follow the steps described in this TN:


Hope it helps!

God bess you!

Creating Link in Android

Hello there!

Today let’s talk about a quick tip: Creating links for MicroStrategy Mobile in Android.

Sometimes when you want to open a report/document using a link in Android it doesn’t works.

For Android, you have to use the link like this:


Hope it helps.


God bless you!

iOS crashing Intelligence Server

Hello there!

Today I will talk about a serious problem that I had with MicroStrategy 9.3.1 and the later version of MicroStrategy 9.4.1 iOS update 4.

I was collecting statistics for mobile in every project that I had. So, the problem is the combination of MicroStrategy 9.3.1, MicroStrategy 9.4.1 iOS update 4 and Enterprise Manager collecting mobile statistics.

When any user using iPhone or iPad tried to connect to a project, MicroStrategy Intelligence Server crashed…

To solve this problem you have to update to MicroStrategy 9.4.1 or do a workaround.

Edit the project configuration of all projects that you have, go to statistics and uncheck mobile clients (mobile clients manipulations and mobile clients location).


Restart your Intelligence Server and it will be good!

Hope it helps!

God bless you!

Reset MicroStrategy Mobile App

Hello there!

Today let’s talk about how to erase every project configured in your MicroStrategy Mobile App and reset to factory settings.

The easiest way to do that is to:

1. Open Safari App (iOS) or Chrome App (Androido) in your mobile device;

2. Go to: http://www.microstrategy.com/config;

3.  Tap “Restore MicroStrategy App Defaults”;


Now your MicroStrategy Mobile will be reset to the factory settings.

Hope it helps.


God bless you.

7 Exciting Mobile BI Announcements in MicroStrategy World 2014 – Barcelona

Hello there!

Len O’Toole wrote another excellent post about some exciting news for MicroStrategy Mobile announced in MicroStrategy World 2014 – Barcelona.


Here is what he wrote:


One key differentiation between MicroStrategy and other vendors is their absolutely fantastic Mobile BI tool-set. One of these key features is Transaction services. This year, Hugh Owen announced some pretty exciting features in this area.

Input Controls & Conditional Logic: Input Controls can now be used as Selectors. In additional, when used with the new Conditional Logic feature, developers can now build Transaction Services dashboards that display information dynamically based on what data is being entered / selected by the Input Controls. For instance, on a mobile survey, selecting gender as Female can now dynamically change the values of the following questions to be more appropriate for female survey participants. Awesome stuff. Can’t wait for this killer feature to arrive.

Local Transactions: Having consistent network connectivity is not mandatory any more. New features coming down the product line will allow improved offline Transaction Services. Any inputs made in Offline Mode will be maintained in a local data cube (?). When connectivity is enabled, local transactions are synced with the MicroStrategy Mobile Server and visa versa.


Information Windows are coming to MicroStrategy Mobile for iPhone. Designers can also alter transparency of these windows producing some really slick looking pro-effects.

Background Data Refresh for apps is now possible for normal Mobile BI apps – not just News-Stand enabled apps.

And the most awesome feature of all is the new List View Object widget. This widget will allow you to display a flexible list grid containing images / text for just about anything. To me, this screams store front and product browsing. Imagine adding a grid like this with a “Buy Now” button on top of a Transaction Services document… This opens up a whole new area of possibilities for your MicroStrategy Mobile App – Sweat!


In the pipeline are Custom Shapes & Polygons that can be used with your Mobile BI App. Custom Shape files can be of anything – Store maps – Geographic regions etc…

Mapping will also be enhanced to allow Multiple Data Visualization Layers on the same map. For example: One layer could be a Density Map while another layer on the same map could be pins indicating store locations. Right now, we are restricted to one or the other – not both at the same time.

Indoor Mapping Integration is coming. Used in conjunction with proximity technologies like Apple iBeacons, we can now build Mobile BI apps with real-time location data of all mobile devices within the Geo Fenced area. This is a pretty exciting feature that will open up a whole new area of Mobile BI app goodness.


MicroStrategy is also pushing in to the area of Proximity Services. Hugh demo’d a scenario of a cell tower inspector. Upon arrival at a tower, the Mobile BI app detected the ‘beacon’ signal from the tower. This triggered a Microstrategy document to be refreshed and pushed to the mobile device. When the tower inspector opens the Microstrategy Tower Inspection App, it already has all the tower information displayed. It even anticipates the next action of the inspector by opening up the Survey Widget.

I’m getting weak at the knees thinking about the possibilities surrounding Proximity Services !!


At last, the MicroStrategy Mobile BI App for Android is getting a face-lift. In fact, the whole app has been rebuilt as an Android Native App versus the previous Web App. This refines the overall experience with enhanced animations and slick visualizations.


Also announced was Support for Windows 8 Mobile Devices. I am writing this post on a Windows 8 Surface tablet and absolutely think that this will be a huge win for MicroStrategy over the coming year. Microsoft’s latest Surface Pro has shown that it will be a major contender in the Enterprise Tablet Space. Being Windows friendly, Microstrategy Mobile should see mega adoption within the Enterprise – Watch This Space…


Top priority for all enterprises these days is Security. Thankfully, MicroStrategy is leading the way in this space with their Usher Mobile Identity App. Hugh Owen announced that Usher Integration with the Mobile BI framework is in the works. I’m a big fan of the Usher secure technology and can see a bright future for it. Being integrated in to the Mobile BI framework is a brilliant enhancement.

In addition, Microstrategy announced expanded integration with Device Management Vendors including – Mobile Iron, Airwatch and Citrix.


MicroStrategy is creating and innovating its tools. I believe that in less then one year, we are going to work with a 100% better solution from MicroStrategy.

God bless you!