Leveraging Usage Analytics for maintaining a healthy environment

mceclip1.png Analytical Need

In this article, we can find a suggested approach on how to better maintain our Sisense environment. The current tools and methodologies take us to an encumbering and challenging work. By creating a dedicated dashboard to show our environment status and add actionable widgets we can make such work much easier.
The final output of this article is a dashboard which will present our environment status (e.g. unused dashboards/Elasticubes/Users and low/high usage components). + actionable drill-down dashboards (powered by BloX) which make these dashboards much more actionable.

mceclip3.png Solution

Effort estimation: ~1 hour
Technical Skills required: Low

Usage Analytics

Usage Analytics is part of this solution. Extending the default number of days stored (default is to keep only 30 days of usage) is optional but will provide a clearer status of your environment.
1. Enable Sisense Usage Analytics - Follow this article to enable the Usage Analytics.
2. Optional: Extending the number of days stored
In the Sisense configuration manager, under the "Services" tab, locate "Usage service" and update the usage.csvRotateDays to the desired period. 
*Warning! Increasing the number of days to a higher number than 30 days might affect server performance. Mainly during the usage Analytics cube build. It is strongly recommended to test the cube stability, capacity and performance before scheduling it to a frequent build.

Get unused Dashboards/Elasticubes/Users data

The Usage Analytics presents information on Sisense objects that had at list one usage. In case we had no usage by a user it won't appear in the Usage Analytics data. This is the reason why we need to call some metadata API's to fetch the missing information.
The process per each API call mentioned below is as follows:
1. Make sure you are logged in as an Admin user
2. Copy the API URL, change if required to the server location, and Paste the URL in the HTML address/Postman/etc. (It includes the required fields for this solution)
3. Convert the JSON to a CSV format. I Recommend this online converter: 
4. Download the CSV output and rename
Users API:
Dashboards API Call (for a user which has access to all dashboards)
Or Dashboards API Call (Admin)
Elasticubes API:

Usage Analytics Re-Design to support Unused objects data

The Usage Analytics Elasticube is not a standard cube and the internal queries are being rewritten on each build. The only way to add additional data is by adding new entities/dimensions. This is the reason why the cube structure is not a classic star schema.
Steps to adjust the Usage Analytics Elasticube for the suggested solution:
1. Download the Usage Analytics cube file, import and replace the existing Usage Analytics model
2. Adjust the file data sources to the CSV sources created in the previous step
3. In case CSV table names were changed, adjust the custom sql based tables (DimDashboards Extended, DimElasticubes, and Dim Users Extended)
4. Build!

Healthy Environment Dashboards

1. Check that the OOTB Usage Analytics dashboards work properly. They shouldn't be affected by the adjustments we've made.
2. Import attached dashboards