Home Applications iris-table-stats

iris-table-stats Works

InterSystems does not provide technical support for this project. Please contact its developer for the technical assistance.
5
1 reviews
0
Awards
36
Views
1
IPM installs
0
0
Details
Releases (1)
Reviews (1)
Issues
Data completeness analysis app for columns of persistent classes

What's new in this version

Initial Release

IRIS Table Stats

iris-table-stats is an InterSystems IRIS backend module for exploring persistent classes and measuring how well their fields are populated.

It is intended for data quality and data knowledge use cases:

  • list persistent classes available in the current namespace
  • browse records of a selected class
  • calculate per-column population stats
  • find records where a selected column is empty

The module exposes a REST API under /iris-table-stats/api.

What This Repo Provides

After installation, the backend exposes endpoints such as:

  • GET /iris-table-stats/api/classes
  • GET /iris-table-stats/api/classes/{className}/data
  • GET /iris-table-stats/api/classes/{className}/stats
  • GET /iris-table-stats/api/classes/{className}/empty-records?columnName=...
  • GET /iris-table-stats/api/_spec

The /stats endpoint is especially useful to understand how complete a table is. For each property of a persistent class, it reports:

  • populated count
  • empty count
  • populated percent
  • empty percent

Typical Use Case

This project is useful when you want to answer questions like:

  • which tables in this namespace are worth exploring
  • which columns are mostly empty
  • which columns are consistently populated
  • which records are missing values in a specific field

That makes it a good fit for demo environments, imported datasets, discovery projects, and data-quality reviews.

Install On A Target IRIS With IPM

If your target IRIS does not yet have IPM/ZPM installed, install it first.

Then open an IRIS terminal in the target namespace and install the backend package.

Example:

USER>zpm
USER:zpm>install esh-iris-table-stats

## Recommended Frontend

Recommended UI:

  • iris-class-explorer
    • GitHub: https://github.com/evshvarov/iris-class-explorer

The frontend is intended to work together with this backend and provides a class explorer UI on top of the API.

Install the frontend package with IPM as well:

USER>zpm
USER:zpm>install iris-table-stats-frontend
</code></pre>
<h2>Related Dataset Packages</h2>
<p>You may find useful the following several demo or sample datasets.</p>
<p>Recommended companion packages:</p>
<ul>
<li><code>iris-dataset-countries</code>
<ul>
<li>Open Exchange: <code>https://openexchange.intersystems.com/package/iris-dataset-countries</code></li>
</ul>
</li>
<li><code>Health-Dataset</code>
<ul>
<li>Open Exchange: <code>https://openexchange.intersystems.com/package/Health-Dataset</code></li>
<li>Author: Jury</li>
</ul>
</li>
</ul>
<p>These packages give you realistic persistent classes to inspect through this API and make the population stats endpoints much more meaningful.</p>
<p>Example UI screenshots:</p>
<p>Data view:</p>
<p><img src="https://github.com/evshvarov/iris-table-stats/raw/master/./docs/images/iris-explorer-data-view.png" alt="IRIS Explorer data view" /></p>
<p>Stats view:</p>
<p><img src="https://github.com/evshvarov/iris-table-stats/raw/master/./docs/images/iris-explorer-stats-view.png" alt="IRIS Explorer stats view" /></p>
<p>A typical setup on a target IRIS looks like this:</p>
<pre><code class="language-cos">USER>zpm
USER:zpm>install esh-iris-table-stats
USER:zpm>install iris-table-stats-frontend
</code></pre>
<p>If you also want sample data:</p>
<pre><code class="language-cos">USER>zpm
USER:zpm>install iris-dataset-countries
</code></pre>
<p>or:</p>
<pre><code class="language-cos">USER>zpm
USER:zpm>install Health-Dataset
</code></pre>
<h2>API Notes</h2>
<p>The backend web application is installed at:</p>
<p><code>/iris-table-stats/api</code></p>
<p>The OpenAPI spec is available at:</p>
<p><code>/iris-table-stats/api/_spec</code></p>
<p>Examples:</p>
<pre><code class="language-text">/iris-table-stats/api/classes
/iris-table-stats/api/classes?includeSystem=0&includeMapped=0
/iris-table-stats/api/classes/Package.Class/data?limit=100&offset=0
/iris-table-stats/api/classes/Package.Class/stats
/iris-table-stats/api/classes/Package.Class/empty-records?columnName=SomeProperty
</code></pre>
<h2>Local Development</h2>
<p>Prerequisites:</p>
<ul>
<li>Docker Desktop</li>
<li>Git</li>
<li>VS Code with the ObjectScript extension if you want an editor workflow</li>
</ul>
<p>Build and run locally:</p>
<pre><code class="language-bash">docker compose build
docker compose up -d
</code></pre>
<p>Open an IRIS terminal:</p>
<pre><code class="language-bash">docker compose exec iris iris session iris -U USER
</code></pre>
<p>Run the module tests:</p>
<pre><code class="language-cos">USER>zpm
USER:zpm>test esh-iris-table-stats
</code></pre>
<h2>Summary</h2>
<p>Use this repository when you need a small IRIS backend that helps you understand how well persistent class data is populated, especially when paired with sample datasets and the <code>iris-table-stats-frontend</code> UI.</p>
Made with
Install
zpm install esh-iris-table-stats
Version
1.0.002 Apr, 2026
Ideas portal
Category
Technology Example
Works with
InterSystems IRIS
First published
02 Apr, 2026
Last edited
02 Apr, 2026
Last checked by moderator
21 May, 2026Works