Home Applications iris-table-stats

iris-table-stats Awaiting Review

InterSystems does not provide technical support for this project. Please contact its developer for the technical assistance.
0
0 reviews
0
Awards
20
Views
0
IPM installs
0
0
Details
Releases (1)
Reviews
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