Hi developers! How to build an analytics solution with InterSystems IRIS? ![](/sites/default/files/inline/images/images/screenshot_2021-08-12_at_13_59_58.png) To begin with, let's agree on the points of what is the analytics solution - and this could be a very wide topic. Let's limit the set of solutions to those you can present in the [Analytics contest](https://community.intersystems.com/post/intersystems-iris-analytics-contest). There are three kinds of analytics solutions that we will review here: **monitoring**, **interactive analytics**, and **reporting**.  **Monitoring** The typical monitoring solution consists of an online dashboard with KPIs that are being actively updated. The key use case is of monitoring is to visually observe the KPI of fresh data every moment to react in case of an emergency. **Interactive Analytics** This solution supposes a set of interactive dashboards with filters and drill-downs. The key use case is to explore the data with filters and drill-downs making business decisions upon graph and table data visualization. **Reporting** Reporting solution provides a set of static (usually) reports in a form of HTML or pdf documents that deliver the data in graph and text form in a predesigned form and could be sent via email. The typical use case of a reporting system is to obtain reports on a given period that will illustrate the status of the product, process, service, sales, etc that is crucial for the business. How InterSystems products could be used to build such solutions? Let's discuss this below! ## **Monitoring Solutions** There is a set of proven and industry-wide accepted tools that are being used for monitoring visualization. Amongst them, Zabbix and Grafana are the most popular. Grafana can be used as a monitoring tool for the data in IRIS and there is an [InterSystems Product SAM](https://openexchange.intersystems.com/package/SAM) that uses Grafana for visualization of the health of a particular IRIS system. Also, you can use some community-driven solutions to visualize your data using Grafana, for example, [this one.](https://openexchange.intersystems.com/package/Grafana-Plugin-for-InterSystems) ![MetricsPanel](https://raw.githubusercontent.com/caretdev/grafana-intersystems-datasource/main/img/MetricsPanel.png) ## **Building Interactive Analytics** The typical approach in building an interactive analytics solution is to set up a data warehouse cube with dimensions and measures and then use the tool to set up dashboards that are fed by data sources from the cube. There are two tools with InterSystems IRIS that could be used for that: [IRIS BI](https://www.intersystems.com/products/intersystems-iris/big-data-analytics/) and [Adaptive Analytics](https://www.intersystems.com/resources/detail/intersystems-adaptive-analytics/). At first, we consider you already have an InterSystems IRIS server with data you want to build the analytics solution for. There is a bunch of ways to import data to your IRIS server, e.g. via ODBC/JDBC driver or with [csvgen](https://openexchange.intersystems.com/package/csvgen) or [csvgen-ui](https://openexchange.intersystems.com/package/csvgen-ui) module, or by installing zpm packages with data, such as [samples-bi](https://openexchange.intersystems.com/package/Samples-BI) or [dataset-titanic.](https://openexchange.intersystems.com/package/iris-dataset-titanic) **IRIS BI** With IRIS BI you can build IRIS BI cubes using IRIS BI Architect. It can be hosted on the same IRIS machine or on a separate in case of performance requirements. Then you can build pivots(MDX) and KPI(SQL) using IRIS BI Analyser as data sources and after that create IRIS BI Interactive Dashboards to visualize the data of these data sources. That can be hosted on the same or separate IRIS server. The alternative to IRIS BI dashboards could be the usage of [MDX2JSON](https://openexchange.intersystems.com/package/MDX2JSON) that provides JSON API for the pivots and this data could be visualized by [DeepSee Web](https://openexchange.intersystems.com/package/DeepSeeWeb) tool or with any JS frontend framework that consumes JSON. Here are examples of such solutions: Samples BI ([online](https://samples-bi.demo.community.intersystems.com/dsw/index.html#/USER/Widget%20Examples/All%20Charts.dashboard), User namespace, [repository](https://openexchange.intersystems.com/package/Samples-BI)), Covid-19([online](http://covid-19.demo.community.intersystems.com/dsw/index.html#/irisapp/Covid19), [repository](https://openexchange.intersystems.com/package/covid-19-analytics)), and Game Of Thrones ([online](http://35.205.133.201:52773/dsw/index.html#/USER/Overview.dashboard), User namespace, [repository](https://openexchange.intersystems.com/package/Game-Of-Throne-Analytics)). ![](/sites/default/files/inline/images/images/screenshot_2021-08-12_at_12_55_29.png) ![Screenshot 2020-09-29 at 14 05 59](https://user-images.githubusercontent.com/2781759/94550750-f07e7c00-025c-11eb-8531-cbd48928a525.png) ![Dashboard](https://user-images.githubusercontent.com/2781759/84485495-e6803f80-aca4-11ea-9b93-769aab44fcac.png) **Adaptive Analytics** You also can build it with InterSystems Adaptive Analytics. Here you use AtScale to set up a data warehouse cube hosted on the AtScale server connected with IRIS BI data-server. Once you have the AtScale server setup you can build interactive dashboards using any tool that can be used to build interactive dashboards, such as Tableau, PowerBI, or Excel. Check an [example of an Adaptive Analytics solution](https://openexchange.intersystems.com/package/HoleFoods-Adaptive-Analytics-Sample) and [the story.](https://community.intersystems.com/post/announcing-adaptive-analytics-sample-application) ![](https://community.intersystems.com/sites/default/files/inline/images/images/image(1854).png) **Building a Reporting Solution** The reporting solution can be built with the InterSystems Reports solution. You will need Logi Composer to create reports connecting to IRIS via JDBC driver and then deliver reports with a Logi Report server. You can manage Docker containers to host the Logi report server as described here. Check the [story of InterSystems Reports sample](https://community.intersystems.com/post/how-difficult-it-create-report-using-intersystems-reports) and [how to run Reports Server in a Docker container](https://community.intersystems.com/post/running-intersystems-reports-containers). ![](https://community.intersystems.com/sites/default/files/inline/images/report.png) Colleagues! What do you think about that? Of course, there are also iKnow, PMML, IntegratedML, Embedded Python, and Apache Spark topics you may mention. I invite you to share your experience with building this or that analytics approach with IRIS and also I invite you to participate in [the Analytics contest](https://community.intersystems.com/post/intersystems-iris-analytics-contest) and build your demo of Analytics solution using IRIS BI, Adaptive analytics, and InterSystems Reports!