Published on InterSystems Developer Community (https://community.intersystems.com)

Home > Using the IRIS Analytics Business Intelligence REST API

Article
José Pereira · Dec 26, 2020 2m read
Open Exchange

Using the IRIS Analytics Business Intelligence REST API

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:

//jsfiddle.net/jrpereirajr/74ep301q/15/embedded/result/
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]


Getting all dimensions from a specified cube:

Method: POST
Endpoint:

/api/deepsee/v1/:namespace/Info/Filters/:cube

Example:

http://localhost:52773/api/deepsee/v1/myapp/Info/Filters/AsthmaPatients

Response example:

//jsfiddle.net/jrpereirajr/74ep301q/17/embedded/result/
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]


Getting all measures from a specified cube:

Method: POST
Endpoint:

/api/deepsee/v1/:namespace/Info/Measures/:cube

Example:

http://localhost:52773/api/deepsee/v1/myapp/Info/Measures/AsthmaPatients

Response example:

//jsfiddle.net/jrpereirajr/74ep301q/19/embedded/result/
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]


Getting all members from a specified dimension:

Method: POST
Endpoint:

/api/deepsee/v1/:namespace/Info/FilterMembers/:cube/:dimension

Example:

http://localhost:52773/api/deepsee/v1/myapp/Info/FilterMembers/AsthmaPatients/[AgeD].[H1].[Age Group]

Response example:

//jsfiddle.net/jrpereirajr/74ep301q/20/embedded/result/
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]


Executing a MDX query:

Method: POST
Endpoint:

/api/deepsee/v1/:namespace/Data/MDXExecute

Body:

{
    "MDX": "<query text>"
}

Example:

http://localhost:52773/api/deepsee/v1/myapp/Data/MDXExecute
{
    "MDX": "SELECT NON EMPTY HEAD(NONEMPTYCROSSJOIN([GenD].[H1].[Gender].Members, {[Measures].[Allergy Count]}), 2000, SAMPLE) ON 0,NON EMPTY [AgeD].[H1].[Age Group].Members ON 1 FROM [AsthmaPatients] %FILTER %OR({[PatGrpD].[H1].[Tested].&[Yes]})"
}

Response example:

//jsfiddle.net/jrpereirajr/74ep301q/24/embedded/result/
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]


Now, you can grab all raw data from server, you can use a lot of JavaScript libraries and/or frameworks to create riches UI. You can check out an example using Angular and Angular Material here.

#Analytics #InterSystems IRIS #InterSystems IRIS BI (DeepSee)
Check the related application on InterSystems Open Exchange

Source URL:https://community.intersystems.com/post/using-iris-analytics-business-intelligence-rest-api