#InterSystems IRIS BI (DeepSee)

17 Followers · 324 Posts

InterSystems Business Intelligence enables you to embed business intelligence (BI) into your applications so that your users can ask and answer sophisticated questions of their data. Specifically, your application can include dashboards, which can include the following:

  • Interactive widgets that execute queries designed for specific user roles or for specific areas of your user interface.
  • Controls such as drop-down lists and data choosers that enable users to modify these queries.
  • Interactive drill options that enable users to view the displayed data in different ways.
  • Options to export, print, and send alerts to other users.
  • An option to launch the Mini Analyzer, which supports free-form analysis.
  • Execute custom actions that are provided as buttons or other controls.

In contrast to traditional BI systems that use static data warehouses, Business Intelligence is kept closely in synchronization with the live transactional data, as required for your business.

Learn more.

InterSystems staff + admins Hide everywhere
Hidden post for admin
Question Evgenii Ermolaev · Feb 2, 2021

Following instructions on this page https://docs.intersystems.com/latest/csp/docbook/Doc.View.cls?KEY=D2IMP… I am trying to create a Data Connector to be used as a base class for a cube with update support.
That page suggests that putting an SQL query inside XData block is not suitable for a Data Connector that supports updates.
Later it also suggests that to enable updates your SQL query must include 

WHERE $$$RESTRICT

Providing an example of it in XData block example like this

<sql>SELECT A,B,C FROM MyApp.MyTable WHERE $$$RESTRICT</sql>
2
0 295
Question Benjamin Pickett · Apr 16, 2021

When creating pivots in DeepSee, there is the ability to group date dimensions by Day, Week, Month, Quarter, Year.  For some of our reporting the Week option is desired.  However the display looks like the image shown below.  Notice the "YYYYW##" formatting.

Is there any ability within DeepSee to modify the display of grouped week dates?  E.g. instead of 2020W14 it could be 03/30/2020-04/05-2020, or even just the start or end date, etc.

2
1 205
Question Krishnamuthu Venkatachalam · Mar 26, 2021

Dear Folks,

I have recently studied deepsee and developed few dashboards needed for our web app users. I am trying to embed them in our existing web app which uses angular with delegated user access. I need to embed the native IRIS dashboard into it. ( I can't use Highcharts or any other js tools). 

How do I setup the dashboards to work with delegated authentication (Without providing access to management portal or other parts) ? Also should I use the default csp/{Namespace}/_DeepSee.UserPortal.DashboardViewer.zen? or any other web application URL ?

Thanks

1
0 259
Question JAQUELINE KRIEGER · Aug 27, 2018

Hi community, 

 The question that I have , it's very simple. I developed a pivot that contains two rows, the first it's a date and the other another field. I need to orde by date in descending order and I can´t find where I can do this. I saw that it's a option Sort members, but it's based  in a condition of the measures. 

Can someone help me with this. 

Thanks in advance. 

3
0 847
Question Lee Cascio · Feb 1, 2021

In addition to charts on a dashboard we have a request to have a crosstab which would be populated by some entries queried out of an error log.  It's basically a detail query with mostly text data.  I have tried making a pivot widget for this using both a cube and kpi source, and while succeeding with the KPI, it leaves a lot to be desired. 

3
0 239
Question Lee Cascio · Jan 13, 2021

How do we return a member from a set?  For example if I want a calculated measure to return the NAME of the date with the max transactions, to get the set ordered I might do something like:

ORDER([TransactionDate].[YearMonthDate].[Date].MEMBERS, [Measures].[TransactionCount], DESC)

But how do I access the first member in the set as a member so that I can get to the properties such as the member NAME (what I want to return in this case)?

In some MDX implementations like Microsoft there are kind of backdoor functions for this like:

4
0 580
Article Evgeny Shvarov · Mar 20, 2020 3m read

Hi colleagues!

Every day Johns Hopkins University publishes new data on coronavirus COVID-19 pandemic status.

I built a simple InterSystems IRIS Analytics dashboard using InterSystems IRIS Community Edition in docker deployed on GCP Kubernetes which shows key measures of the disease outbreak.

This dashboard is an example of how information from CSV could be analyzed with IRIS Analytics and deployed to GCP Kubernetes in a form of InterSystems IRIS Community Edition.

Added the interactive map of the USA:

13
3 1118
Question Lee Cascio · Jan 5, 2021

The documentation says that the MDX extended function %TIMERANGE returns a member.

However it seems like it produces a set of time members from the description ("a range of members").  Perhaps behind the scenes it is making a calculated member?  I am able to plug the return "value" from %TIMERANGE into the SUM function, which takes a set as an argument, and I get a correct answer.  So SUM((%TIMERANGE(...)) works, however COUNT(%TIMERANGE(...)) does not work and returns a cryptic error:

Should we be able to use %TIMERANGE as a set argument to any mdx function that takes a set argument?

2
0 214
Question Lee Cascio · Jan 4, 2021

In the MDX Query Tool I can't seem to get the NOW relative syntax to work correctly.  If I just use ".&[NOW]" it works, but something like ".&[NOW-1]" or ".&[NOW-1d]" (for dates extracted using DayMonthYear) it throws an error.

So this works:

But if I change .&[NOW] to .&[NOW-1] I get this cryptic error message.

Also, can you use member functions off of NOW?  For example can you do something like: [TransactionDateFilter].[H1].[Date].&[NOW].PREVMEMBER ???

8
0 427
Article José Pereira · Dec 27, 2020 2m read

Hi guys.

That time I'll show you a way to use a machine learning model implemented using IntegradeML as source for an IRIS analytics cube dimension.

Creating the ML model:

Execute this SQL in order to create a new ML model using IntegratedML SQL extension:

CREATE MODEL AppointmentsPredection 
PREDICTING (Show) 
FROM (SELECT 
  Canal, 
  CreacionDate, 
  CreacionHora, 
  Edad, 
  Especialidad, 
  Latencia, 
  ReservaDate, 
  ReservaHora, 
  Sexo, 
  Tipo 
FROM dc_myapp_model.MedicalAppointments

Now, you can train you model:

0
0 261
Article José Pereira · Dec 26, 2020 2m read

Did you know that you can get IRIS Analytics features as an REST API?

In this article I'll show some endpoints of IRIS Analytics Business Intelligence REST API, used in my project iris-analytics-notebook to create a pivot table component in Angular.

Getting all cubes in namespace

Method: POST Endpoint:

/api/deepsee/v1/:namespace/Info/Cubes

Example:

http://localhost:52773/api/deepsee/v1/myapp/Info/Cubes

Response example:

<iframe style="width:100%; height:200px;" src="//jsfiddle.net/jrpereirajr/74ep301q/15/embedded/result/" allowfullscreen="allowfullscreen" allowpaymentrequest frameborder="0"></iframe>
0
0 320
Article José Pereira · Dec 25, 2020 2m read

Hi guys!

I'd like to present you my new project: iris-analytics-notebook, a notebook approach to use IRIS analytics capabilities.

Project description

In past few years, notebooks tools like Jupyter are gaining popularity due its natural way to express ideias.

An almost unipresent tool for data scientists, notebook can also help to improve the impact of analytics tools for all sort of users.

This project is my attemp to implement a simple notebook system, combining IRIS Analytics capabilities, with a custom notebook system - largelly inspired by Jupyter notebooks.

With this project you can:

0
0 282
Question Henrique Dias · Dec 16, 2020

Hi everyone, 

I'm creating something to test the Analytics capabilities. 

I have a table with 100k records. Consulting the data using ^%G or SELECT, everything is working fine. 

But, when I create a Cube using this same class as Source, the Build results in only 1 fact.

I would like to know if anyone else faces the same situation before and have some guidance. 

Some details:

6
0 330
Article Sam Duncan · Dec 2, 2020 2m read

InterSystems IRIS Business Intelligence provides the Cube Registry as an interface for managing and scheduling build and synchronize tasks for your cubes. The Cube Event Monitor is a new tool on Open Exchange to help you keep track of those events' status and performance, the number of records being updated, and any build errors (errors when processing individual records) that have occurred. The tool consists of the following components:

1
1 457
Article Jin Kim · Mar 19, 2020 10m read

Hi Developers and Interface Engineers!

I'd like to share with you how you can help your organization today obtain a better understanding of key message processing metrics (i.e. average message processing times, number of inbound messages, number of outbound messages, etc.)! Given the embedded IRIS database powering integration, you already have all the data you need -- you just need to put the data to use and present them in a user-friendly format!

3
1 859
Article José Pereira · Aug 26, 2020 3m read

Hi guys.

Recently, I get interest in FHIR in order to run for the IRIS for Health FHIR contest. As a beginner on this topic, I've heard somewhat about it, but I didn't know how complex and powerful was FHIR. As pointed out by @Henrique.GonçalvesDias here, you can model several aspects of the patient history and other related entities.

Fortunately, the DC provide very nice material about FHIR and how IRIS for Health could help us to deal with such complexity.

5
0 404
Article Evgeny Shvarov · Aug 2, 2020 1m read

Hi Developers!

As you know the application errors live in ^ERRORS global. They appear there if you call:

d e.Log() 

in a Catch section of Try-Catch.

With @Robert Cemper's approach, you can now use SQL to examine it.

Inspired by Robert's module I introduced a simple IRIS Analytics module which shows these errors in a dashboard:

5
1 405
Question Lucas Bourré · Jul 16, 2020

Hello Community, 
I hope you're going well.

I am programming a daily reporting that will send by e-mail when people will add a dashboard as favorite by clicking on the star :

I asked Intersystems WRC on how to automatically generate a report with some line coding, but I heard there is no way to do this without a headless Browser.

I downloaded google-chrome to use the "--headless"  and "--print-to-pdf" function , to print the HTML content of my dashboard into a PDF.  ( I will use $ZF function to launch the generation ). 

4
0 371
Article Peter Steiwer · Jun 26, 2020 1m read

Now available on Open Exchange is a library of third party charts available to use within DeepSee/InterSystems IRIS BI dashboards. To start, simply download and install, select the new portlet as the widget type, then select the chart type that you desire. If you don't find the type of chart you are looking for, you can easily extend the portlet to implement your desired chart type. These new chart types can be used within existing dashboards or you can create new dashboards using them.

0
0 1178
Question Lucas Bourré · Jun 17, 2020

Hello Community,

I hope you are well.
I encounter a problem on IRIS for Unix 2020.1  when I try to create a PDF from a simple Dashboard on Deepsee : 

When I click on this widget , a tab appear and is loading for ~30 seconds, then shows 'error loading the PDF File ' :

 

I am also using DeepSee Web, and i encounter a problem if I try to Export the graph as a PDF : 

Is there a link between both problem ? ( If I fix the print widget, the PDF Export will also be fixed ? ) 

9
0 388
Article Evgeny Shvarov · Jun 12, 2020 3m read

Hi Devs!

Last weekend I had been testing the newborn csvgen module and was looking for a CSV file to test - thus I came across an interesting datafile on Data.World  with Game of Throne episodes statistics. Death statistics. These folks documented all the murders through all the 8 seasons and noted where, who, from what clan with what weapon had killed another one.

So I imported it and made an IRIS Analytics dashboard.

You Know Nothing, Jon Snow | You Know Nothing, Jon Snow | Know ...

Don't worry, Jon,  with this dashboard we can figure out something ). See the details below.

0
2 805
Article Eduard Lebedyuk · Mar 4, 2016 7m read

It was InterSystems hackathon time and our team, consisting of Artem Viznyuk and me had Arduino board (one) and various parts of it (in overabundance). And so like that our course of action was set - like all other Arduino beginners, we decided to build a weather station. But with data persistent storage in Caché and visualization in DeepSee!

8
0 1855
Question Evgeny Shvarov · Mar 7, 2018

Hi, Community!

I'm using Git with DeepSee and when I need to do a commit to the git repo I'm exporting ALL the pivots and dashboards from the namespace. But I can forget to do that) And it can take time for a large system.

What is the way to manage automatical export of DeepSee artefacts which we are editing in UI (Cubes, Pivots, Dashboards, Pivot Variables, Term lists, Shared Measures) into files every time when I push Save button?

5
0 553
Question Newlyn Erratt · May 1, 2020

As the title mentions, I'm trying to determine how best to handle an issue with nested data.  Essentially I have a setting like the following:

Object A has a transient property with an array of Object B. I want to create a level with a list of Object B.  I also want this level to contain properties belonging to each object B. 

So I have a layout of something like

  1. Dimension:ObjectBD
    1. Level: Object B is list
      1. Object B property 1
      2. Object B property 2
1
0 284