For a purely internal project to better analyze IdeaPlace data, i came across a sittuation that data consist of many relational tables. Tried merging them on Lumira, but i had many questions to answer with data, and each question required different kind of table merges and calculations. I had to find another way!
If you’re curious, one of my questions was, which customers are active on ideaplace and whose ideas are they voting for? I’d get customer information from the e-mail addresses of members.
A better idea could be putting this data in a database and querying with Lumira, but it would require setting up servers, it would require too much effort. Also, i’d have to remember all table relations and make up my SQL query from memory, still i’m not happy with this method.
1) Microsoft Access?? What is it good for?
Actually a BusinessObjects Universe is perfect fit for my sittuation, but it would require a BI Server, which is no good for an agile scenario like mine. Even though i posted my idea to Allow Local Universe Support For SAP Lumira here i currently have 9 votes (would you vote for my idea?) and it is probably not coming anytime soon, i had to try another option :
I decided to try Microsoft Access, and it is supposed to be a “Database” right? I loaded my individual excel files as “Tables”.
At that point i discovered something ! You can also create pre-define “Queries”. It allows you to create your table joins visually and you can even define parameters to get input from the user!!! Very powerful :
See the image : Now that’s what i needed!!!
I also defined 2 parameters to filter data, Idea Session Name and Idea Category :
Finally I created my query, adding all the fields and calculations i want. perfectly re-usable!
2) Back To The Lumira Part
Now how do i use this within Lumira? Microsoft Access is not in the connection options for Lumira. It may be used with “Generic JDBC” option but that would leave me alone with a “copy-paste” sheet where i had to find or create a working SQL query out of my mind. But i want to use this very useful query in Access with the parameters…. There comes my new challenge : Creating a Data Access Extension that is re-usable and can utilize predefined queries with parameters. Wow looks like it’s lots of work. No actually it’s 250 lines of code (depending on your white-space preferences) 🙂
3) Most Of It’s Already Done By Someone Else Again
Ok i may not be the fastest, but i know where to search… Google!!! Quickly found a way to utilize MsAccess within Python.
Here are some parts of the quick&dirty codes of my extension :
4) Use Your New Extension And Get Insights
Let’s see what this new extension will bring us as insights :
* First lets start Lumira and select our connector (see i have a cool collection here):
* At the second step it will ask you to chose access database file :
* Afterwards, it will read the DB and provide you a list of pre-defined queries to choose one :
* Next step is to get prompts dynamically from the database and popup to get user input (see i use % as wildcard because i used a “LIKE” statement in my query :
*Here we go. All the data beautifully joined and filtered for my taste 🙂 Now i can visualize it.
Note: i changed the data not to expose customer names,
* Here comes the insight. One can easily analyze the interactions between customers and SAP through ideas and votes. Well we started with extensions, we can also use some extension-magic on the visualization part too.
You can see on the right cluster that these customers are voting on the ideas that SAP employees created.
Obviously there are many social interactions going on in this platform. Thanks to SAP Lumira we can analyze them now to understand and make better-informed decisions!
5) Final Comments, Code, Executable And Call To Action
I think i will be using this extension often because it will improve my productivity with different datasets and pre-defined queries.
As usual, you can find my python code and executable on GitHub. One word of warning, these extensions are not officially supported by SAP, but you can use them as an example of what can be done, and if you are familiar with these technologies please feel free to contribute and improve them.
Does this extension help you work more “Agile” within Lumira? Please share your toughts and comments here.
Want to have a look at my other posts?