MicroStrategy kent een uitgebreide analytical toolset, die nog te weinig gebruikt wordt in de praktijk. Wist je dat MicroStrategy maar liefst 50+ statische functies standaard ingebouwd heeft? Maar tegenwoordig gaat het woord analytics ook hand in hand met het steeds populair wordende R. Dus dat betekent R plugin op MicroStrategy. Daarmee kun je namelijk naast het ingebouwde voor-gedefinieerde spul ook zelf je functies programmeren. Dat zal de database marketeers of de die-hard analisten in ons klantenbestand als muziek in de oren klinken.
Je kunt R zowel lokaal als op de server draaien. Ik heb het spulletje nu lokaal op mijn laptop draaien. De server installatie komt later, zodra dat gebeurd is kan iedereen R metrieken gebruiken, op web als desktop, zonder daarvoor iets extra’s te installeren. En dat betekent dus ook echt overal, in je rapporten, reporting services documenten en dashboards of Visual Insight analyses. Als je ook zelf nieuwe R functies wilt bouwen en deployen, dat gaat wel via de lokale plugin packs dan kun je deze naar de server “publiceren” waarna ze voor iedereen bruikbaar zijn.
Voor lokale installatie moet je eerst een R plugin pack installeren en dan eenmalig je project upgraden met R analytical functions, dat gaat eenvoudig met een wizard. Of je maakt een nieuw project aan (nadat je de R plugin pack hebt geinstalleerd) en dan werkt het gelijk al. Vervolgens dien je een lokale R server in te richten (kwestie van download, next next finish). En dan kun je los!
Nu een simpel voorbeeld van een R metriek, welke een lineaire regressie functie aanroept in R.
RScript<[StringParam9]=””, [_RScriptFile]=”SeasonalForecasting.R”, [_InputNames]=”Target, Trend, Season”>(Revenue; [Month Index]; [Month of Year])
In dit R script wordt deze formule berekend:
Voor deze functie zijn 3 variabelen nodig. Deze variabelen zijn gewoon simpele MSTR metrieken.
- Target=Revenue (realisatiecijfers om de forecast op te baseren)
- Trend= Month index (Doorlopend Maandnummer 1t/m 48 voor 4 jaar)
- Season=Month of Year (Maandnr 1 tm/12 om de seizoenen te herkennen)
Zodra je de rapportage draait, zal MicroStrategy de bovenstaande variabelen uitrekenen, en als input aan de R server aanbieden, naast uiteraard het aanroepen van de juiste functie (SeasonalForecasting.R) Er zitten bij de R integration pack al standaard een heleboel handige R functies (Arima, kMeansClustering,NaiveBayes,NueralNetwork,RandomForest etc). Ook compleet met een PDF inclusief uitleg.
Vervolgens berekent de R server de resultaten en zal het resultaat in je R metriek getoont worden. Zie hieronder een voorbeeld van de de variabelen:
En vervolgens de output (R forecasting is de berekening uit R).
En uiteraard schreeuwt dit om visualisatie:
De rode lijn is de voorspelling uit R, hij zit er af en toe naast maar volgt aardig het groene lijntje. Wat betreft de toekomst (2013) ziet het er rooskleurig uit, met een kleine dip in Januari. Dit is uiteraard een simpel voorbeeld, maar geeft wel aan wat de mogelijkheden zijn binnen MicroStrategy. Het maakt dus eigenlijk niet uit wat je in R wilt laten berekenen, de mogelijkheden zijn onbeperkt, je kunt immers je eigen scripts maken. En de input zijn de variabelen uit je DWH. Wel moeten we bekijken hoe dit in de praktijk gaat werken. Hoe performed het (met veel data)? Is het stabiel? En wat is de belasting op de BI server? ( of de R server, indien nodig).
Door Rick Tijsen