<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ellipsys — Data lineage &amp; BI/ETL migration toward open architectures |</title><link>https://ellipsys-bi.com/en/</link><atom:link href="https://ellipsys-bi.com/en/index.xml" rel="self" type="application/rss+xml"/><description>Ellipsys — Data lineage &amp; BI/ETL migration toward open architectures</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-US</language><lastBuildDate>Mon, 29 Jun 2026 00:00:00 +0000</lastBuildDate><image><url>https://ellipsys-bi.com/media/logo.svg</url><title>Ellipsys — Data lineage &amp; BI/ETL migration toward open architectures</title><link>https://ellipsys-bi.com/en/</link></image><item><title>ETL Migration - from legacy ETL to an open SQL ETL - {oa.tbx}</title><link>https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/</guid><description>&lt;p&gt;Once ETL processes have been converted to SQL by &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt;, they can be run inside the &lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt; container.&lt;/p&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt; provides an execution environment for SQL, Python, or Java processes, driven by configuration and orchestration repositories.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the migrated processes become SQL instructions that can be executed independently of the original ETL platform.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="principles"&gt;Principles&lt;/h2&gt;
&lt;p&gt;SQL is encapsulated in open containers, in ETL mode.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Containers:&lt;/strong&gt; transformations run inside an external container, &lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt;, detached from the target database. Temporary containers act as intermediate storage areas where data is loaded before transformation. Jobs are tested to verify correct behavior, and possibly the data itself, to guarantee its integrity.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Orchestration with Airflow:&lt;/strong&gt; Airflow drives the execution of the containers, step by step. Each transformation, within a container, is defined as a job.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-1-fr-en_hu_3d51582657fd7652.webp 320w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-1-fr-en_hu_e491566fb88257d1.webp 480w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-1-fr-en_hu_94523c4431e46e11.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-1-fr-en_hu_3d51582657fd7652.webp"
width="760"
height="456"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The scheduling of an ETL migrated to Airflow automatically picks up all of the original instructions and scheduling logic.&lt;/p&gt;
&lt;h2 id="execution-chain"&gt;Execution chain&lt;/h2&gt;
&lt;p&gt;ETL jobs are converted to SQL by &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The generated processes are integrated into a configuration repository and a control repository used by &lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The workflows are then orchestrated by tools such as Airflow or Dagster.&lt;/p&gt;
&lt;h2 id="execution-container"&gt;Execution container&lt;/h2&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt; runs the processes described in the workflows.&lt;/p&gt;
&lt;p&gt;Dataflows can combine:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SQL;&lt;/li&gt;
&lt;li&gt;Python;&lt;/li&gt;
&lt;li&gt;Java;&lt;/li&gt;
&lt;li&gt;others.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The engine can also rely on embedded databases such as DuckDB for certain intermediate processing steps.&lt;/p&gt;
&lt;h2 id="sources-and-targets"&gt;Sources and targets&lt;/h2&gt;
&lt;p&gt;Input data can come from any technology accessible via SQL or JDBC.&lt;/p&gt;
&lt;p&gt;Results can be loaded into any target system compatible with standard write mechanisms.&lt;/p&gt;
&lt;p&gt;The architecture remains independent of source and target technologies.&lt;/p&gt;
&lt;h2 id="orchestration"&gt;Orchestration&lt;/h2&gt;
&lt;p&gt;Orchestration remains separate from the processes themselves.&lt;/p&gt;
&lt;p&gt;Dependencies, execution parameters, schedules, and triggers are handled by the workflow layer.&lt;/p&gt;
&lt;p&gt;Business logic stays contained within the SQL scripts and dataflows executed by &lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt; runs open SQL pipelines, orchestrated by Airflow and independent of proprietary Cloud platform runtimes.&lt;/p&gt;
&lt;p&gt;Across all migrated jobs — with volumes ranging from a few thousand to more than 50 million rows — execution times are often just a few seconds, with an almost systematic OK status.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-3-fr-en_hu_34d4fedcd8cecdf1.webp 320w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-3-fr-en_hu_3fb20d1c6eee6385.webp 480w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-3-fr-en_hu_497d09f9b8ba11e5.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-3-fr-en_hu_34d4fedcd8cecdf1.webp"
width="760"
height="372"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="governance-and-data-lineage"&gt;Governance and data lineage&lt;/h2&gt;
&lt;p&gt;Once ETL processes have been converted to SQL, &lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt; keeps the complete trace between the original logic and the executed SQL. This data lineage is exposed at two levels of detail, suited to different needs.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; a synthetic view for governance, an exhaustive detail view for maintenance.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;High-level pipeline view:&lt;/strong&gt; only source and target tables are visible; intermediate ETL stages are grouped into a single SQL block. A readable view, even for complex pipelines.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-4-fr-en_hu_d24e651ccc9c22da.webp 320w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-4-fr-en_hu_224214e77cdcf373.webp 480w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-4-fr-en_hu_8b96fa8e67a1d56c.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-4-fr-en_hu_d24e651ccc9c22da.webp"
width="760"
height="351"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Detail on click for a transformation:&lt;/strong&gt; clicking a stage (a Transformer, for example) displays its generated SQL equivalent, along with its inputs/outputs and its original metadata (type, stage ID). The mapping between the original ETL logic and the executed SQL is immediate.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-5-fr-en_hu_d42fe9268d15acff.webp 320w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-5-fr-en_hu_f03a4ff2d16cc351.webp 480w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-5-fr-en_hu_ee1a91f7e8d48e8f.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-5-fr-en_hu_d42fe9268d15acff.webp"
width="760"
height="357"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; complete governance of the migrated pipeline, from the overview down to the executed SQL, regardless of the original ETL platform.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="sql-as-the-pivot-format"&gt;SQL as the pivot format&lt;/h2&gt;
&lt;p&gt;The SQL produced by &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; becomes the primary vehicle for the transformations.&lt;/p&gt;
&lt;p&gt;Business rules, joins, aggregations, and calculations are expressed in an open, version-controllable format, independent of legacy ETL tools.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a SQL-based ETL/ELT chain, orchestrated by workflows and run in an open environment.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>DataViz Migration - an upstream/downstream SQL interoperability layer - {oa-lake}</title><link>https://ellipsys-bi.com/en/ressources/middlewares/oa-lake-couche-interoperabilite/</link><pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/middlewares/oa-lake-couche-interoperabilite/</guid><description>&lt;p&gt;Decision-support platforms often rely on several databases, several data warehouses / data lakes, and several reporting tools.&lt;/p&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa-lake}&lt;/strong&gt; introduces an intermediate SQL layer between data sources and dataviz tools.&lt;/p&gt;
&lt;p&gt;Business rules, business objects, dimensions, measures, and calculations are centralized in this layer and then exposed to consuming tools.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; data sources and reporting tools become independent of one another.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="architecture"&gt;Architecture&lt;/h2&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa-lake}&lt;/strong&gt; connects simultaneously to multiple data systems: relational databases, data warehouses, lakehouses, files, or APIs.&lt;/p&gt;
&lt;p&gt;Queries are federated by a distributed SQL engine that performs the necessary joins, calculations, and transformations.&lt;/p&gt;
&lt;p&gt;The resulting SQL remains standard and executable across different engines, which limits technology lock-in.&lt;/p&gt;
&lt;p&gt;Business objects are defined once and then exposed to consuming tools.&lt;/p&gt;
&lt;h2 id="data-sources"&gt;Data sources&lt;/h2&gt;
&lt;p&gt;The data stays in its original systems.&lt;/p&gt;
&lt;p&gt;Oracle, SQL Server, PostgreSQL, DB2, BigQuery, Snowflake, Redshift, Azure SQL (and others), or files can be queried within a single request.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;SQL Push-Down&lt;/strong&gt; mechanism avoids any systematic copying of data: queries run directly against the existing systems, respecting the architectures already in place.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; build a dashboard from data spread across several platforms with no prior migration.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="sql-business-layer"&gt;SQL business layer&lt;/h2&gt;
&lt;p&gt;Dimensions, measures, hierarchies, and calculation rules are centralized in &lt;strong style="color:#C00000;"&gt;{oa-lake}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This layer becomes the single entry point for reporting tools.&lt;/p&gt;
&lt;p&gt;Business rules are no longer duplicated across every dataviz platform.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; a single definition of indicators for the entire decision-support system.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="parquet-cache"&gt;Parquet cache&lt;/h2&gt;
&lt;p&gt;Data can be materialized in Parquet format.&lt;/p&gt;
&lt;p&gt;This caching layer reduces response times and limits load on source systems. It&amp;rsquo;s managed automatically based on observed usage, with no manual intervention.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; speed up the most expensive analytical processing.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="data-visualization"&gt;Data visualization&lt;/h2&gt;
&lt;p&gt;Reporting tools connect to the model exposed by &lt;strong style="color:#C00000;"&gt;{oa-lake}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Power BI, Looker, Spotfire, Tableau, Qlik, SAP BusinessObjects, or any SQL-compatible tool can use the same business objects.&lt;/p&gt;
&lt;p&gt;Switching dataviz tools no longer requires rebuilding dimensions, measures, and calculation rules.&lt;/p&gt;
&lt;h2 id="progressive-migration"&gt;Progressive migration&lt;/h2&gt;
&lt;p&gt;Several tools can coexist during a transition phase.&lt;/p&gt;
&lt;p&gt;The same business model can be exposed simultaneously to several reporting platforms.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; progressive migration of usage with no change to the data systems.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="data-lineage"&gt;Data Lineage&lt;/h2&gt;
&lt;p&gt;The data lineage reconstructed by &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; remains available across the whole chain.&lt;/p&gt;
&lt;p&gt;Dependencies are documented from the source systems all the way to the indicators exposed in the dashboards.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; transformations, calculations, and usage remain traceable across the entire architecture.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>DataViz Migration - an interoperable semantic layer - {oa-lake-ctx}</title><link>https://ellipsys-bi.com/en/ressources/middlewares/oa-lake-ctx-couche-semantique/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/middlewares/oa-lake-ctx-couche-semantique/</guid><description>&lt;p&gt;Legacy decision-support platforms typically relied on a semantic layer that let users work with business objects rather than tables or SQL queries.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Customers&amp;rdquo;, &amp;ldquo;contracts&amp;rdquo;, &amp;ldquo;products&amp;rdquo;, or &amp;ldquo;revenue&amp;rdquo; were exposed in a functional form, independent of the underlying physical storage structures.&lt;/p&gt;
&lt;p&gt;To address this need, we designed &lt;strong style="color:#C00000;"&gt;{oa-lake-ctx}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa-lake-ctx}&lt;/strong&gt; is the semantic layer of the &lt;strong style="color:#C00000;"&gt;{oa-lake}&lt;/strong&gt; architecture. It centralizes business objects, dimensions, measures, KPIs, calculation rules, and security mechanisms.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; consuming tools work with business objects. The physical structures stay hidden.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="architecture"&gt;Architecture&lt;/h2&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa-lake-ctx}&lt;/strong&gt; centralizes dimensions, measures, hierarchies, KPIs, and calculation rules.&lt;/p&gt;
&lt;p&gt;These components are defined once and then exposed to consuming tools.&lt;/p&gt;
&lt;p&gt;Unlike some semantic layers on the market, &lt;strong style="color:#C00000;"&gt;{oa-lake-ctx}&lt;/strong&gt; requires no specific physical model, no pivot table, and no imposed navigation path.&lt;/p&gt;
&lt;p&gt;Relationships are calculated dynamically from the existing model.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; a single business model for all data and all consuming tools.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="data-sources"&gt;Data sources&lt;/h2&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa-lake-ctx}&lt;/strong&gt; can use several data systems simultaneously.&lt;/p&gt;
&lt;p&gt;Data can come from Oracle, SQL Server, PostgreSQL, DB2, Snowflake, BigQuery, Redshift databases, files, or other SQL-compatible sources.&lt;/p&gt;
&lt;p&gt;Business objects can combine several sources within a single functional definition.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; build a KPI from data spread across several platforms.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="business-objects"&gt;Business objects&lt;/h2&gt;
&lt;p&gt;The catalogs exposed by &lt;strong style="color:#C00000;"&gt;{oa-lake-ctx}&lt;/strong&gt; group together dimensions, measures, KPIs, hierarchies, and business nomenclature.&lt;/p&gt;
&lt;p&gt;Relationships between objects are defined in the semantic layer, not in the reporting tools.&lt;/p&gt;
&lt;p&gt;Catalogs can be organized independently of the databases&amp;rsquo; physical structures.&lt;/p&gt;
&lt;h2 id="sql-generation"&gt;SQL generation&lt;/h2&gt;
&lt;p&gt;SQL queries are generated dynamically from the selected business objects, dimensions, measures, and filters.&lt;/p&gt;
&lt;p&gt;Joins, aggregations, and calculation rules are applied by the engine.&lt;/p&gt;
&lt;p&gt;User filters are propagated all the way to the source systems via the &lt;strong&gt;SQL Push-Down&lt;/strong&gt; mechanism: no systematic copying of data — queries run against the existing systems, respecting the architectures already in place.&lt;/p&gt;
&lt;p&gt;The generated SQL can be executed by &lt;strong style="color:#C00000;"&gt;{oa-lake}&lt;/strong&gt; or by any compatible SQL engine.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; users work with business objects; the SQL is generated automatically.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="smart-cache"&gt;Smart Cache&lt;/h2&gt;
&lt;p&gt;Data stays in the source systems whenever possible.&lt;/p&gt;
&lt;p&gt;The most heavily used datasets can be materialized in Parquet format.&lt;/p&gt;
&lt;p&gt;The cache is driven by &lt;strong style="color:#C00000;"&gt;{oa-lake}&lt;/strong&gt;&amp;rsquo;s &lt;strong&gt;Cache Manager&lt;/strong&gt;, managed automatically based on observed usage.&lt;/p&gt;
&lt;p&gt;Cache management remains independent of consuming tools.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the most expensive queries can be accelerated without modifying the source systems.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="sql-engine"&gt;SQL Engine&lt;/h2&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa-lake}&lt;/strong&gt; relies on a columnar, in-memory SQL engine.&lt;/p&gt;
&lt;p&gt;The queries generated by &lt;strong style="color:#C00000;"&gt;{oa-lake-ctx}&lt;/strong&gt; are executed by this engine or propagated to the source systems depending on the context.&lt;/p&gt;
&lt;p&gt;The SQL remains portable, standard, and executable on different engines, independent of the storage technologies in use — which limits technology lock-in.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the SQL engine forms the execution layer of the architecture.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="security"&gt;Security&lt;/h2&gt;
&lt;p&gt;Security is managed at the semantic layer level.&lt;/p&gt;
&lt;p&gt;Access restrictions, user profiles, business catalogs, and security filters are applied before queries are generated.&lt;/p&gt;
&lt;p&gt;This approach makes it possible to reproduce the security mechanisms found in platforms such as SAP BusinessObjects or IBM Cognos.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; security rules are defined once and then applied to all connected tools.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="reporting"&gt;Reporting&lt;/h2&gt;
&lt;p&gt;The catalogs exposed by &lt;strong style="color:#C00000;"&gt;{oa-lake-ctx}&lt;/strong&gt; can be consumed by any tool capable of querying a PostgreSQL source.&lt;/p&gt;
&lt;p&gt;Power BI, Looker, Spotfire, Tableau, Qlik, or other platforms access the same business objects, dimensions, measures, and KPIs.&lt;/p&gt;
&lt;p&gt;The functional definitions remain identical regardless of the tool being used.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; several platforms can share the same business catalog with no duplication of calculation rules.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="governance"&gt;Governance&lt;/h2&gt;
&lt;p&gt;Business objects, KPIs, dimensions, measures, and calculation rules are centralized in a single repository.&lt;/p&gt;
&lt;p&gt;Functional changes are made in &lt;strong style="color:#C00000;"&gt;{oa-lake-ctx}&lt;/strong&gt; and are then immediately available to all connected tools.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; &lt;strong style="color:#C00000;"&gt;{oa-lake-ctx}&lt;/strong&gt; is the central point for defining business objects and KPIs.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>Data lineage - connection protocols to the various analytics technologies</title><link>https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-protocoles-connexion/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-protocoles-connexion/</guid><description>&lt;p&gt;Metadata acquisition relies on the native interfaces exposed by the technologies analyzed by &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Depending on the platform, collection uses database protocols, REST APIs, SDKs, technical repositories, or standardized exports.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-protocoles-connexion/data-lineage-protocoles-connexion-1-en_hu_4967f9e18b9d0dcd.webp 320w, https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-protocoles-connexion/data-lineage-protocoles-connexion-1-en_hu_9d2456d624348ad8.webp 480w, https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-protocoles-connexion/data-lineage-protocoles-connexion-1-en_hu_e2b8b9561fd43ef3.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-protocoles-connexion/data-lineage-protocoles-connexion-1-en_hu_4967f9e18b9d0dcd.webp"
width="760"
height="661"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the collectors use the mechanisms officially exposed by the vendors (JDBC, ODBC, REST API, SDK, technical repositories, exports).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="technical-principles"&gt;Technical principles&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Dedicated service accounts.&lt;/li&gt;
&lt;li&gt;Access limited to metadata.&lt;/li&gt;
&lt;li&gt;On-premise, Cloud, and hybrid compatibility.&lt;/li&gt;
&lt;li&gt;Use of platforms&amp;rsquo; native interfaces.&lt;/li&gt;
&lt;li&gt;Password encryption after first use.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="databases"&gt;Databases&lt;/h2&gt;
&lt;p&gt;Relational databases are analyzed via:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JDBC.&lt;/li&gt;
&lt;li&gt;ODBC.&lt;/li&gt;
&lt;li&gt;Proprietary connectors.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Collection covers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Schemas.&lt;/li&gt;
&lt;li&gt;Tables.&lt;/li&gt;
&lt;li&gt;Views.&lt;/li&gt;
&lt;li&gt;Stored procedures.&lt;/li&gt;
&lt;li&gt;Usage statistics (when analyzed).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etl--elt"&gt;ETL / ELT&lt;/h2&gt;
&lt;p&gt;ETL/ELT platforms are analyzed via:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Technical repositories.&lt;/li&gt;
&lt;li&gt;Administration APIs.&lt;/li&gt;
&lt;li&gt;XML or JSON exports.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The collected metadata makes it possible to reconstruct:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Jobs.&lt;/li&gt;
&lt;li&gt;Transformations.&lt;/li&gt;
&lt;li&gt;Dependencies.&lt;/li&gt;
&lt;li&gt;Data flows.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="data-visualization-tools"&gt;Data Visualization Tools&lt;/h2&gt;
&lt;p&gt;Data visualization tools are analyzed via:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SDKs.&lt;/li&gt;
&lt;li&gt;REST APIs.&lt;/li&gt;
&lt;li&gt;Internal repositories.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Collection covers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Data sources.&lt;/li&gt;
&lt;li&gt;Semantic layers.&lt;/li&gt;
&lt;li&gt;Dashboards.&lt;/li&gt;
&lt;li&gt;Business rules.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This information makes it possible to extend the data lineage all the way to the reporting layer.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; build data lineage in the sources and connect it with the data lineage in the data visualization layer, all the way to the dashboard cell.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="secure-environments"&gt;Secure environments&lt;/h2&gt;
&lt;p&gt;Collection can be securely supervised via:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VMware Horizon.&lt;/li&gt;
&lt;li&gt;OpenOTP (two-factor authentication).&lt;/li&gt;
&lt;li&gt;Administration bastion.&lt;/li&gt;
&lt;li&gt;Logging and traceability of operations.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Access remains limited to the components needed for metadata collection.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;For information:&lt;/strong&gt; the same collection mechanism applies in Cloud, on-premise, or hybrid environments.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>Data lineage - feeding third-party data catalogs to expose technical data lineage</title><link>https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-alimentation-data-catalogues/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-alimentation-data-catalogues/</guid><description>&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; lets you browse data lineage through its Mosaïc web portal, but the consolidated metadata can also be published to various data catalogs on the market, which often have significant limitations when it comes to data lineage. The benefit is having a single tool for optimal data governance.&lt;/p&gt;
&lt;p&gt;The data lineage is reconstructed in the &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; technical repository, then exposed to data catalogs via dedicated connectors.&lt;/p&gt;
&lt;p&gt;This architecture makes it possible to decouple the data lineage collection and reconstruction mechanisms from the exposure layer used by governance teams.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the technical repository stays independent from the target catalog. The collection and lineage-reconstruction (and connection) mechanisms don&amp;rsquo;t depend on the data catalog in use.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="architecture"&gt;Architecture&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-alimentation-data-catalogues/data-lineage-alimentation-data-catalogues-1-en_hu_cbb841d43bbf559e.webp 320w, https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-alimentation-data-catalogues/data-lineage-alimentation-data-catalogues-1-en_hu_7a240380fc93dde0.webp 480w, https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-alimentation-data-catalogues/data-lineage-alimentation-data-catalogues-1-en_hu_3ee369225894186e.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-alimentation-data-catalogues/data-lineage-alimentation-data-catalogues-1-en_hu_cbb841d43bbf559e.webp"
width="760"
height="417"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The collected metadata is consolidated in the &lt;strong&gt;oA.mdb&lt;/strong&gt; columnar database after processing by the &lt;strong&gt;oA.Job&lt;/strong&gt; engine.&lt;/p&gt;
&lt;p&gt;The central repository notably contains:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Field-level data lineage.&lt;/li&gt;
&lt;li&gt;Usage data.&lt;/li&gt;
&lt;li&gt;Associated governance information, where applicable.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The catalogs are then fed from this single repository via exposure connectors independent of the data catalog solutions in use.&lt;/p&gt;
&lt;h2 id="exposure-connectors"&gt;Exposure connectors&lt;/h2&gt;
&lt;p&gt;The connectors handle:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automated publication of the lineage.&lt;/li&gt;
&lt;li&gt;Continuous synchronization.&lt;/li&gt;
&lt;li&gt;Restriction management.&lt;/li&gt;
&lt;li&gt;Support for the various Workspaces.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Data lineage exposure can be complete or partial depending on the display capabilities of the target catalog, keeping in mind that the data lineage produced upstream is itself available at field level.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; catalogs only consume the consolidated metadata, not the original technical sources.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="supported-catalogs"&gt;Supported catalogs&lt;/h2&gt;
&lt;p&gt;The available connectors currently support the following data catalogs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DataGalaxy&lt;/li&gt;
&lt;li&gt;Zeenea&lt;/li&gt;
&lt;li&gt;Collibra&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="usage-management"&gt;Usage management&lt;/h2&gt;
&lt;p&gt;When audit logs are available, observed usage is integrated into the technical repository and then exposed to the catalog.&lt;/p&gt;
&lt;p&gt;This lets users distinguish:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;Live&amp;rdquo; flows, consumed by tools or queried.&lt;/li&gt;
&lt;li&gt;Flows — and therefore objects — that see no consumption (often more than 80% of the total).&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; enrich the data catalog with usage information to identify objects that are candidates for rationalization or decommissioning.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>Data lineage - on-premise architecture</title><link>https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/</guid><description>&lt;p&gt;In the most demanding environments in terms of security (banking, insurance, etc.), &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; can be deployed directly within the Client&amp;rsquo;s environment, whether &lt;strong&gt;on-premise&lt;/strong&gt; or in a &lt;strong&gt;Cloud tenant&lt;/strong&gt; of the Client&amp;rsquo;s choice.&lt;/p&gt;
&lt;p&gt;The architecture relies on a &lt;strong&gt;dedicated VM&lt;/strong&gt; hosting the various components used to collect, process, and expose the data lineage.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; all processing, metadata, and repositories stay hosted within the Client&amp;rsquo;s environment. No external SaaS component is required.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="technical-principles"&gt;Technical principles&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Dedicated VM hosted at the Client&amp;rsquo;s site.&lt;/li&gt;
&lt;li&gt;Collectors containerized per technology.&lt;/li&gt;
&lt;li&gt;Dedicated service accounts.&lt;/li&gt;
&lt;li&gt;Password encryption after first use.&lt;/li&gt;
&lt;li&gt;Production of standardized CSV files.&lt;/li&gt;
&lt;li&gt;Parsing and consolidation by &lt;strong&gt;oA.Job&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Technical repository &lt;strong&gt;oA.mdb&lt;/strong&gt; (DuckDB).&lt;/li&gt;
&lt;li&gt;Exposure via the &lt;strong&gt;Mosaïc&lt;/strong&gt; web portal.&lt;/li&gt;
&lt;li&gt;Audit logs that may contain sensitive information can be anonymized before processing.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Good to know:&lt;/strong&gt; this data lineage can feed a third-party solution, typically a data catalog that needs to address data lineage more specifically.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="metadata-collection"&gt;Metadata collection&lt;/h2&gt;
&lt;p&gt;Metadata is collected using containers specialized by technology. These components connect to databases, ETL/ELT platforms, data visualization tools, and audit databases via dedicated service accounts. Passwords are encrypted after first use.&lt;/p&gt;
&lt;p&gt;The collectors produce standardized CSV files containing the metadata needed to reconstruct the lineage. These files can be reviewed and validated by the Client before processing.&lt;/p&gt;
&lt;p&gt;Where audit logs are used, they can be anonymized through a dedicated container before being integrated into the repository.&lt;/p&gt;
&lt;h2 id="processing"&gt;Processing&lt;/h2&gt;
&lt;p&gt;The files are then sent to the &lt;strong&gt;oA.Job&lt;/strong&gt; server, responsible for parsing and consolidating the metadata. The results are stored in the &lt;strong&gt;oA.mdb&lt;/strong&gt; columnar database (DuckDB), which forms the technical repository used by the &lt;strong&gt;Mosaïc&lt;/strong&gt; web portal.&lt;/p&gt;
&lt;p&gt;This repository can be dumped in the format requested by the client to run specific analyses: the repository is extremely rich, and various pre-built queries are made available to make exploring it easier.&lt;/p&gt;
&lt;h2 id="exposure"&gt;Exposure&lt;/h2&gt;
&lt;p&gt;The data lineage can be browsed via the proprietary &lt;strong&gt;Mosaïc&lt;/strong&gt; web portal, hosted on the dedicated VM.&lt;/p&gt;
&lt;h2 id="overall-flow-mapping"&gt;Overall flow mapping&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-mid"
srcset="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-1-fr-en_hu_bcf7a8c30351f98f.webp 320w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-1-fr-en_hu_7f6c356c543ec936.webp 480w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-1-fr-en_hu_4178ec530416b18a.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-1-fr-en_hu_bcf7a8c30351f98f.webp"
width="760"
height="325"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Automatic reconstruction of dependencies between databases, ETL/ELT processes, and usage in data visualization tools.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; impact analysis before modifying a table or a business indicator.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="usage-analysis"&gt;Usage analysis&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-mid"
srcset="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-2-fr-en_hu_f070ed88eb9e44b.webp 320w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-2-fr-en_hu_40256d66f8a68324.webp 480w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-2-fr-en_hu_6a9fe881b9d6a66b.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-2-fr-en_hu_f070ed88eb9e44b.webp"
width="760"
height="283"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Cross-referencing data lineage with audit logs to identify objects that are actually used and branches that see no consumption.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; quick identification of unused flows and simplification opportunities.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="detailed-data-lineage"&gt;Detailed data lineage&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-mid"
srcset="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-3-fr-en_hu_e7363f29f8f187bf.webp 320w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-3-fr-en_hu_8fc00f4a176e6068.webp 480w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-3-fr-en_hu_373db642f7bbe92e.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-3-fr-en_hu_e7363f29f8f187bf.webp"
width="760"
height="134"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Navigation through the data lineage down to field level, with visualization of the transformations (drill-through).&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; instantly drill into the code driving the transformations to identify and fix an issue in a flow.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="data-lineage-in-dashboards"&gt;Data lineage in dashboards&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-mid"
srcset="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-4-fr-en_hu_d72247e7b9f389c8.webp 320w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-4-fr-en_hu_77195a68d1e81629.webp 480w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-4-fr-en_hu_21f88b034c6c3a9f.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data-lineage-architecture-onprem-4-fr-en_hu_d72247e7b9f389c8.webp"
width="760"
height="449"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Complete traceability between source data, business rules, and the dashboard cell. Dashboard source data is linked into the data lineage as far back as its feeds, for end-to-end impact analysis.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; validating a business indicator or tracing the origin of a value displayed in a dashboard.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>Data lineage - SaaS architecture</title><link>https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/</guid><description>&lt;p&gt;In a SaaS deployment, the collection components remain hosted within the Client&amp;rsquo;s environment, while the processing, consolidation, and exposure components are hosted on dedicated infrastructure operated by Ellipsys.&lt;/p&gt;
&lt;p&gt;The extractors are deployed as containers specialized by technology. They collect metadata from databases, ETL/ELT platforms, data visualization tools, and audit databases using dedicated service accounts.&lt;/p&gt;
&lt;p&gt;The collected metadata is produced as standardized CSV files. These files can be reviewed by the Client before being transferred to Ellipsys&amp;rsquo;s infrastructure.&lt;/p&gt;
&lt;p&gt;The files are then sent to the &lt;strong&gt;oA.Job&lt;/strong&gt; server, responsible for parsing and reconstructing dependencies. Metadata consolidation happens in the &lt;strong&gt;oA.mdb&lt;/strong&gt; technical repository, based on DuckDB (a columnar database).&lt;/p&gt;
&lt;p&gt;The data lineage is then exposed via the proprietary &lt;strong&gt;Mosaïc&lt;/strong&gt; web portal or via third-party solutions, typically off-the-shelf data catalog products.&lt;/p&gt;
&lt;p&gt;Where audit logs are used, they can be anonymized through a dedicated container before transfer.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the metadata needed to reconstruct the lineage is transferred to the SaaS platform in CSV format and can be reviewed beforehand.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="technical-principles"&gt;Technical principles&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Containerized extractors deployed within the Client&amp;rsquo;s environment.&lt;/li&gt;
&lt;li&gt;Service accounts dedicated to collection.&lt;/li&gt;
&lt;li&gt;Password encryption after first use.&lt;/li&gt;
&lt;li&gt;Production of standardized CSV files.&lt;/li&gt;
&lt;li&gt;Optional anonymization of audit logs.&lt;/li&gt;
&lt;li&gt;Parsing and consolidation via &lt;strong&gt;oA.Job&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Source database for the data lineage: &lt;strong&gt;oA.mdb&lt;/strong&gt; (DuckDB).&lt;/li&gt;
&lt;li&gt;Exposure via the &lt;strong&gt;Mosaïc&lt;/strong&gt; web portal or in data catalog solutions.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Good to know:&lt;/strong&gt; business data is never used. Only technical metadata is collected.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="metadata-collection"&gt;Metadata collection&lt;/h2&gt;
&lt;p&gt;The collectors can analyze:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Databases.&lt;/li&gt;
&lt;li&gt;ETL/ELT platforms.&lt;/li&gt;
&lt;li&gt;Data visualization tools.&lt;/li&gt;
&lt;li&gt;Audit databases.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each technology is handled by a dedicated component.&lt;/p&gt;
&lt;h2 id="processing"&gt;Processing&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;oA.Job&lt;/strong&gt; server performs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Metadata parsing.&lt;/li&gt;
&lt;li&gt;Dependency reconstruction.&lt;/li&gt;
&lt;li&gt;Consolidation of technical objects.&lt;/li&gt;
&lt;li&gt;Integration of usage data from audit logs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The results are stored in the &lt;strong&gt;oA.mdb&lt;/strong&gt; repository.&lt;/p&gt;
&lt;h2 id="exposure"&gt;Exposure&lt;/h2&gt;
&lt;p&gt;The data lineage can be viewed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Via the &lt;strong&gt;Mosaïc&lt;/strong&gt; web portal.&lt;/li&gt;
&lt;li&gt;Via exposure of &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt;&amp;rsquo;s data lineage into third-party solutions.&lt;/li&gt;
&lt;li&gt;Via the Client&amp;rsquo;s own integration mechanisms.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the collection and lineage-reconstruction mechanisms are independent from the exposure mechanisms.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="overall-flow-mapping"&gt;Overall flow mapping&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-mid"
srcset="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-1-fr-en_hu_bcf7a8c30351f98f.webp 320w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-1-fr-en_hu_7f6c356c543ec936.webp 480w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-1-fr-en_hu_4178ec530416b18a.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-1-fr-en_hu_bcf7a8c30351f98f.webp"
width="760"
height="325"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Mapping of dependencies between databases, ETL/ELT processes, and data usage.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; impact analysis before modifying a technical object.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="usage-analysis"&gt;Usage analysis&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-mid"
srcset="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-2-fr-en_hu_f070ed88eb9e44b.webp 320w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-2-fr-en_hu_40256d66f8a68324.webp 480w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-2-fr-en_hu_6a9fe881b9d6a66b.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-2-fr-en_hu_f070ed88eb9e44b.webp"
width="760"
height="283"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Cross-referencing data lineage with audit logs to identify flows that are actually used.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; detection of unused flows, i.e. dead branches.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="detailed-data-lineage"&gt;Detailed data lineage&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-mid"
srcset="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-3-fr-en_hu_e7363f29f8f187bf.webp 320w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-3-fr-en_hu_8fc00f4a176e6068.webp 480w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-3-fr-en_hu_373db642f7bbe92e.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-3-fr-en_hu_e7363f29f8f187bf.webp"
width="760"
height="134"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Navigation through the data lineage down to field level, with visualization of intermediate transformations.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; dependencies can be explored iteratively, from operational sources all the way to usage.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="data-lineage-in-dashboards"&gt;Data lineage in dashboards&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-mid"
srcset="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-4-fr-en_hu_d72247e7b9f389c8.webp 320w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-4-fr-en_hu_77195a68d1e81629.webp 480w, https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-4-fr-en_hu_21f88b034c6c3a9f.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/data-lineage-architectures/data-lineage-architecture-saas/data-lineage-architecture-saas-4-fr-en_hu_d72247e7b9f389c8.webp"
width="760"
height="449"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Traceability between source data, transformations, calculation rules, and reporting objects.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; tracing the origin of a business indicator or validating a business rule.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>Data lineage - the principles of connector containerization</title><link>https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-conteneurisation-connecteurs/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-conteneurisation-connecteurs/</guid><description>&lt;p&gt;The &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; architecture relies on containerized components deployed within the Client&amp;rsquo;s environment.&lt;/p&gt;
&lt;p&gt;Each component is specialized for a given technology and handles the collection of the metadata needed to reconstruct the data lineage: databases, ETL/ELT platforms, data visualization tools, and audit databases.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-conteneurisation-connecteurs/data-lineage-conteneurisation-connecteurs-1-fr-en_hu_c51658701639c8d0.webp 320w, https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-conteneurisation-connecteurs/data-lineage-conteneurisation-connecteurs-1-fr-en_hu_3dbde412f7fa9e7e.webp 480w, https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-conteneurisation-connecteurs/data-lineage-conteneurisation-connecteurs-1-fr-en_hu_29ea72192a933588.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/data-lineage-principes/data-lineage-conteneurisation-connecteurs/data-lineage-conteneurisation-connecteurs-1-fr-en_hu_c51658701639c8d0.webp"
width="760"
height="581"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The extractors produce standardized CSV files containing the collected metadata. These files can be reviewed by the Client before being transferred to the central processing components.&lt;/p&gt;
&lt;p&gt;Where anonymization is required, a dedicated container is inserted into the collection chain to replace strings, SQL constants, and other sensitive information with variables before the exchange files are produced.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; extractors and anonymizers are decoupled from the processing engines. Each component can be deployed and updated independently.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="technical-principles"&gt;Technical principles&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;One dedicated container per technology.&lt;/li&gt;
&lt;li&gt;Metadata collected as close as possible to the analyzed systems.&lt;/li&gt;
&lt;li&gt;Optional anonymization before transfer.&lt;/li&gt;
&lt;li&gt;Production of standardized CSV files.&lt;/li&gt;
&lt;li&gt;Docker and Podman compatibility.&lt;/li&gt;
&lt;li&gt;On-premise, SaaS, or hybrid deployment.&lt;/li&gt;
&lt;li&gt;Independent updates for each component.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="extraction"&gt;Extraction&lt;/h2&gt;
&lt;p&gt;The extractors connect to the analyzed technologies using dedicated service accounts.&lt;/p&gt;
&lt;p&gt;The metadata collected relates to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Databases.&lt;/li&gt;
&lt;li&gt;ETL / ELT platforms.&lt;/li&gt;
&lt;li&gt;Data visualization tools.&lt;/li&gt;
&lt;li&gt;Audit databases.&lt;/li&gt;
&lt;li&gt;The scheduler.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each extractor produces a consistent output format regardless of the technology being analyzed.&lt;/p&gt;
&lt;h2 id="anonymization"&gt;Anonymization&lt;/h2&gt;
&lt;p&gt;An anonymization container can be positioned between metadata collection and transfer.&lt;/p&gt;
&lt;p&gt;The following elements can be replaced with technical variables:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Strings.&lt;/li&gt;
&lt;li&gt;Application parameters.&lt;/li&gt;
&lt;li&gt;Literal values.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The goal is to preserve technical dependencies while removing sensitive information.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; anonymization happens before the transferred files are generated.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="exchange-files"&gt;Exchange files&lt;/h2&gt;
&lt;p&gt;The components produce standardized CSV files containing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Technical objects.&lt;/li&gt;
&lt;li&gt;Dependencies.&lt;/li&gt;
&lt;li&gt;Transformations.&lt;/li&gt;
&lt;li&gt;Usage information, where available.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These files can be archived, reviewed, or validated by the Client before being transferred.&lt;/p&gt;
&lt;h2 id="processing"&gt;Processing&lt;/h2&gt;
&lt;p&gt;The generated files are used by &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt;&amp;rsquo;s central components to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reconstruct dependencies.&lt;/li&gt;
&lt;li&gt;Consolidate metadata.&lt;/li&gt;
&lt;li&gt;Integrate usage from audit logs.&lt;/li&gt;
&lt;li&gt;And produce the data lineage.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a consistent collection chain, independent of the analyzed technologies and deployment modes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>DataViz Migration - migrating from Cognos to Power BI</title><link>https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-cognos-vers-power-bi/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-cognos-vers-power-bi/</guid><description>&lt;p&gt;IBM Cognos Analytics platforms typically hold several years&amp;rsquo; worth of business modeling: Frameworks, hierarchies, calculations, dimensions, measures, variables, and reports.&lt;/p&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; analyzes Cognos Frameworks, reports, and usage logs to reconstruct the dependencies between data sources, business objects, and reporting outputs.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; in most Cognos estates, the value lies more in the Frameworks and business rules than in the reports themselves.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="analysis-of-the-cognos-estate"&gt;Analysis of the Cognos estate&lt;/h2&gt;
&lt;p&gt;The analysis covers Framework Manager, reports, queries, dimensions, hierarchies, calculations, filters, and variables.&lt;/p&gt;
&lt;p&gt;The collected metadata makes it possible to reconstruct:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dependencies between objects;&lt;/li&gt;
&lt;li&gt;relationships with data sources;&lt;/li&gt;
&lt;li&gt;business objects and indicators exposed in reports.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="scope-rationalization"&gt;Scope rationalization&lt;/h2&gt;
&lt;p&gt;Usage logs are cross-referenced with the platform&amp;rsquo;s metadata.&lt;/p&gt;
&lt;p&gt;This phase identifies unused reports, duplicates, and obsolete Frameworks.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-cognos-vers-power-bi/migration-cognos-vers-power-bi-1-en_hu_c98f0bfd96a51259.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-cognos-vers-power-bi/migration-cognos-vers-power-bi-1-en_hu_3b4eff7c22906ed4.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-cognos-vers-power-bi/migration-cognos-vers-power-bi-1-en_hu_7ec183cfd486a0cb.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-cognos-vers-power-bi/migration-cognos-vers-power-bi-1-en_hu_c98f0bfd96a51259.webp"
width="760"
height="382"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; the scope that&amp;rsquo;s actually used is isolated before migration.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="conversion-to-power-bi"&gt;Conversion to Power BI&lt;/h2&gt;
&lt;p&gt;Cognos Frameworks are analyzed and then converted to the target Power BI model.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-cognos-vers-power-bi/migration-cognos-vers-power-bi-2-en_hu_9b5df44245f6d6b3.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-cognos-vers-power-bi/migration-cognos-vers-power-bi-2-en_hu_3b75903cb4680bac.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-cognos-vers-power-bi/migration-cognos-vers-power-bi-2-en_hu_5b20d0077603f6cd.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-cognos-vers-power-bi/migration-cognos-vers-power-bi-2-en_hu_9b5df44245f6d6b3.webp"
width="760"
height="302"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Dimensions, hierarchies, measures, calculations, variables, and relationships between objects are reconstructed in the target semantic model.&lt;/p&gt;
&lt;p&gt;Cognos expressions are converted to SQL or DAX depending on their nature.&lt;/p&gt;
&lt;p&gt;Dependencies between Frameworks, reports, and data sources are preserved in the generated model.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; business objects and calculation rules are reconstructed directly from the Cognos Frameworks.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="validation"&gt;Validation&lt;/h2&gt;
&lt;p&gt;Migrations can be carried out with dual Cognos / Power BI execution.&lt;/p&gt;
&lt;p&gt;The indicators produced by both platforms are compared during acceptance testing phases.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; progressive validation of reports before cutover.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="usage-driven-migration"&gt;Usage-driven migration&lt;/h2&gt;
&lt;p&gt;Reports can be migrated in batches based on how often they&amp;rsquo;re used and their business criticality.&lt;/p&gt;
&lt;p&gt;Observed usage forms the basis for project planning and development prioritization.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a reduced volume to migrate, with effort focused on active usage.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>DataViz Migration - migrating from SAP BO to GCP Looker</title><link>https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/</guid><description>&lt;p&gt;SAP BusinessObjects estates typically hold several years&amp;rsquo; worth of modeling: universes, Web Intelligence reports, business objects, calculations, filters, prompts, and semantic layers.&lt;/p&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; analyzes these components to reconstruct the dependencies between data sources, universes, reports, and observed usage.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; universes and business objects are generally the primary source of information for reconstructing the target model.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="sap-businessobjects-analysis-prerequisites"&gt;SAP BusinessObjects analysis prerequisites&lt;/h2&gt;
&lt;p&gt;The analysis relies on access to the SAP BusinessObjects services, technical repositories, and the audit database.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-1-fr-en_hu_e13826090b9c390.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-1-fr-en_hu_1c964b321f754f52.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-1-fr-en_hu_11194cd19928f1e6.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-1-fr-en_hu_e13826090b9c390.webp"
width="760"
height="295"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The extractors run within the Client&amp;rsquo;s environment. The collected metadata can be anonymized before processing.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Good to know:&lt;/strong&gt; only technical metadata is used.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="estate-analysis"&gt;Estate analysis&lt;/h2&gt;
&lt;p&gt;The analysis covers Web Intelligence reports, UNV and UNX universes, Data Providers, business objects, variables, filters, prompts, and graphical components.&lt;/p&gt;
&lt;p&gt;Technical dependencies and observed usage are consolidated into a repository.&lt;/p&gt;
&lt;h2 id="rationalization"&gt;Rationalization&lt;/h2&gt;
&lt;p&gt;Audit logs are cross-referenced with the platform&amp;rsquo;s metadata.&lt;/p&gt;
&lt;p&gt;Unused or broken reports, duplicated reports, unconsumed objects, obsolete universes, etc. are identified before migration.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a massive reduction in the volume to migrate.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="conversion-to-looker"&gt;Conversion to Looker&lt;/h2&gt;
&lt;p&gt;Data Providers, business objects, and queries are converted into Looker components.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-2-en_hu_7003db7d34fd93d4.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-2-en_hu_8db6c20ca53ef3e6.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-2-en_hu_48db9a9a603c747.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-2-en_hu_7003db7d34fd93d4.webp"
width="760"
height="384"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Dimensions, measures, joins, and calculations are reconstructed in the LookML models.&lt;/p&gt;
&lt;p&gt;Dashboards, filters, prompts, tables, charts, and navigation mechanisms are reconstructed from the SAP BusinessObjects reports.&lt;/p&gt;
&lt;p&gt;The functional organization of the universes carries over into the target platform&amp;rsquo;s folders, Explores, and business catalogs.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; functional objects and reporting components are reconstructed from the SAP BusinessObjects universes and reports.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="validation"&gt;Validation&lt;/h2&gt;
&lt;p&gt;Migrations can be carried out with dual SAP BusinessObjects / Looker execution.&lt;/p&gt;
&lt;p&gt;The indicators produced by both platforms are compared during acceptance testing phases.&lt;/p&gt;
&lt;h2 id="sap-businessobjects-prompts"&gt;SAP BusinessObjects prompts&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-3-fr-en_hu_e32ba9f58e315e7f.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-3-fr-en_hu_5857bbd3544fbace.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-3-fr-en_hu_b981e12f84f3f124.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-3-fr-en_hu_e32ba9f58e315e7f.webp"
width="760"
height="323"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;SAP BusinessObjects prompts are converted into Looker&amp;rsquo;s native filters.&lt;/p&gt;
&lt;p&gt;Value lists and input parameters are preserved.&lt;/p&gt;
&lt;h2 id="business-objects-and-lookml-models"&gt;Business objects and LookML models&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-4-fr-en_hu_a7017ec36f54a392.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-4-fr-en_hu_4611e0185f8a7e20.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-4-fr-en_hu_29d8139be1f9252.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-4-fr-en_hu_a7017ec36f54a392.webp"
width="760"
height="425"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Queries, business objects, dimensions, measures, and joins are converted into LookML components.&lt;/p&gt;
&lt;h2 id="functional-structure"&gt;Functional structure&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-5-fr-en_hu_bc23c6bdbcc4a714.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-5-fr-en_hu_ac5aa8cc17255309.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-5-fr-en_hu_b77e0402f82b5ea0.webp 687w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-5-fr-en_hu_bc23c6bdbcc4a714.webp"
width="687"
height="760"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The organization of the universes is rebuilt as Explores, dimensions, and measures.&lt;/p&gt;
&lt;h2 id="pivots-and-matrix-analyses"&gt;Pivots and matrix analyses&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-6-fr-en_hu_dc2823125788486b.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-6-fr-en_hu_d346a142e0626595.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-6-fr-en_hu_664a59cd8f45d67.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-6-fr-en_hu_dc2823125788486b.webp"
width="760"
height="342"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Cross-tabs and multidimensional analyses are converted into Looker&amp;rsquo;s pivot mechanisms.&lt;/p&gt;
&lt;h2 id="charts"&gt;Charts&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-7-fr-en_hu_161dd4ce083d6e70.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-7-fr-en_hu_fa77ab8b95098d7b.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-7-fr-en_hu_8619a9a16b57301a.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-7-fr-en_hu_161dd4ce083d6e70.webp"
width="760"
height="388"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Trend lines and comparative analyses are rebuilt from the indicators identified in the reports.&lt;/p&gt;
&lt;h2 id="bar-charts"&gt;Bar charts&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-8-fr-en_hu_d211e029f753a29e.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-8-fr-en_hu_28d40061ee9257ca.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-8-fr-en_hu_afee7a6da79cc15a.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-8-fr-en_hu_d211e029f753a29e.webp"
width="760"
height="364"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Bar charts are adapted to Looker&amp;rsquo;s visualization components.&lt;/p&gt;
&lt;h2 id="pie-charts"&gt;Pie charts&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-9-fr-en_hu_d36bc0070d0d8ee.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-9-fr-en_hu_fe1f5e692333a62c.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-9-fr-en_hu_472b822fd827414a.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration-sap-bo-vers-looker-9-fr-en_hu_d36bc0070d0d8ee.webp"
width="760"
height="410"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Pie charts are converted into Looker&amp;rsquo;s native visualizations.&lt;/p&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>DataViz Migration - migrating from SAP BO to Power BI</title><link>https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/</guid><description>&lt;p&gt;SAP BusinessObjects estates typically hold several years&amp;rsquo; worth of modeling: universes, Web Intelligence reports, business objects, calculations, filters, prompts, and semantic layers.&lt;/p&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; analyzes universes, reports, and usage logs to reconstruct the dependencies between data sources, business objects, and visualizations.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the migration covers universes, business objects, and business rules just as much as reports.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="sap-businessobjects-analysis-prerequisites"&gt;SAP BusinessObjects analysis prerequisites&lt;/h2&gt;
&lt;p&gt;The analysis requires access to the SAP BusinessObjects services, technical repositories, and the audit database.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-1-en_hu_ba768e169f79d8a4.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-1-en_hu_5aa6190469d38d46.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-1-en_hu_14eea1fdbe55e7dc.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-1-en_hu_ba768e169f79d8a4.webp"
width="760"
height="295"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The extractors run within the Client&amp;rsquo;s environment. The collected metadata can be anonymized before processing.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Good to know:&lt;/strong&gt; only technical metadata is used.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="estate-analysis"&gt;Estate analysis&lt;/h2&gt;
&lt;p&gt;The analysis covers Web Intelligence reports, UNV and UNX universes, Data Providers, business objects, variables, filters, prompts, and graphical components.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-2-en_hu_9e6e5ed74a05107d.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-2-en_hu_b245a9d91abdb0f1.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-2-en_hu_41d7132e3d8af1c8.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-2-en_hu_9e6e5ed74a05107d.webp"
width="760"
height="351"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Technical dependencies and observed usage are consolidated into a repository.&lt;/p&gt;
&lt;h2 id="rationalization"&gt;Rationalization&lt;/h2&gt;
&lt;p&gt;Audit logs are cross-referenced with the platform&amp;rsquo;s metadata.&lt;/p&gt;
&lt;p&gt;Unused reports, duplicates, unconsumed objects, and obsolete universes are identified before migration.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-3-en_hu_a10c08065433bea5.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-3-en_hu_d2e722c37961b76e.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-3-en_hu_877674bb19d22475.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-3-en_hu_a10c08065433bea5.webp"
width="760"
height="368"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a reduced volume to migrate.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="conversion-to-power-bi"&gt;Conversion to Power BI&lt;/h2&gt;
&lt;p&gt;Data Providers are converted into Power BI datasets.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-4-en_hu_ac48607b71e13986.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-4-en_hu_ab680e08e6887521.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-4-en_hu_b03f23cc309d4b4f.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-4-en_hu_ac48607b71e13986.webp"
width="760"
height="490"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Queries, calculations, and variables are converted into SQL or DAX. Business objects are reconstructed as dimensions and measures.&lt;/p&gt;
&lt;p&gt;Dependencies between universes, reports, and data sources are preserved in the target model.&lt;/p&gt;
&lt;p&gt;Tables, charts, filters, sections, and layout elements are analyzed and then reconstructed in Power BI.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the migration covers both the business layer and the reporting layer.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="validation"&gt;Validation&lt;/h2&gt;
&lt;p&gt;Migrations can be carried out with dual SAP BusinessObjects / Power BI execution.&lt;/p&gt;
&lt;p&gt;The indicators produced by both platforms are compared during acceptance testing phases.&lt;/p&gt;
&lt;h2 id="tables-filters-and-slicers"&gt;Tables, filters, and slicers&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-5-fr-en_hu_1551ac4a075a41.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-5-fr-en_hu_7d2cabc0f0e379a8.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-5-fr-en_hu_2843b0dc5643d446.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-5-fr-en_hu_1551ac4a075a41.webp"
width="760"
height="349"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Conversion of SAP BusinessObjects tables, filters, and sections into Power BI components.&lt;/p&gt;
&lt;h2 id="pie-charts"&gt;Pie charts&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-6-fr-en_hu_a95a4aca512d1749.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-6-fr-en_hu_4942d0b903aeb54f.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-6-fr-en_hu_48344305e462ac99.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-6-fr-en_hu_a95a4aca512d1749.webp"
width="760"
height="391"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Conversion of SAP BusinessObjects pie charts into Power BI visuals.&lt;/p&gt;
&lt;h2 id="charts"&gt;Charts&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-7-fr-en_hu_c4b3e9ec3c9b2647.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-7-fr-en_hu_8c147af9f8fdd1ca.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-7-fr-en_hu_f521ee8420e6a215.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-7-fr-en_hu_c4b3e9ec3c9b2647.webp"
width="760"
height="389"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Conversion of SAP BusinessObjects charts into Power BI visuals.&lt;/p&gt;
&lt;h2 id="dashboards"&gt;Dashboards&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-8-fr-en_hu_9db79e138e2c6ef8.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-8-fr-en_hu_6ab63132e225689d.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-8-fr-en_hu_baef6f2a1c0796e9.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration-sap-bo-vers-power-bi-8-fr-en_hu_9db79e138e2c6ef8.webp"
width="760"
height="326"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Conversion of SAP BusinessObjects dashboards into Power BI.&lt;/p&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>DataViz Migration - SAP BO, Power BI, Spotfire, or Cognos to an open, interoperable architecture</title><link>https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/</guid><description>&lt;p&gt;Data visualization platforms evolve regularly.&lt;/p&gt;
&lt;p&gt;SAP BusinessObjects, IBM Cognos, Power BI, or Spotfire may succeed one another within the same Information System. Business objects, calculations, indicators, and business rules generally remain identical from one platform to the next.&lt;/p&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; analyzes technical repositories, semantic layers, and reports to reconstruct the dependencies between data sources, intermediate processes, and the objects exposed in dashboards.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the functional components of reporting platforms are extracted and then rebuilt in a format independent of the target technology.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="analysis-of-the-decision-support-estate"&gt;Analysis of the decision-support estate&lt;/h2&gt;
&lt;p&gt;The parser-based analysis mechanisms cover SAP BusinessObjects universes, Cognos Frameworks, Power BI models, Spotfire Information Links, as well as the associated reports, dashboards, calculations, filters, and business objects.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-1-en_hu_1578fd2c26d4451e.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-1-en_hu_5ba210f16380ed5c.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-1-en_hu_a2327f5a3876a014.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-1-en_hu_1578fd2c26d4451e.webp"
width="760"
height="351"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The collected metadata makes it possible to reconstruct technical dependencies, semantic layers, and business rules.&lt;/p&gt;
&lt;h2 id="rationalization"&gt;Rationalization&lt;/h2&gt;
&lt;p&gt;Technical repositories are cross-referenced with usage logs. Unused reports, duplicates, and obsolete components are identified before the migration phase.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-2-en_hu_bb9b122aaf23d094.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-2-en_hu_2f1e7bd6d2cf68b5.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-2-en_hu_9d8aeaf9a16d0a5c.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-2-en_hu_bb9b122aaf23d094.webp"
width="760"
height="368"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a reduced scope for the actual migration.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="sql-transcription"&gt;SQL transcription&lt;/h2&gt;
&lt;p&gt;Queries, calculations, filters, aggregations, joins, variables, and business rules are reconstructed in the form of SQL.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-3-en_hu_806706372a70baa0.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-3-en_hu_aef89169d9004542.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-3-en_hu_d19c67bb9cf7e797.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-3-en_hu_806706372a70baa0.webp"
width="760"
height="391"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The resulting SQL forms an open representation of the functional logic originally carried by the data visualization platform.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; SQL becomes the pivot format for representing business objects.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="oa-lake"&gt;&lt;strong style="color:#C00000;"&gt;{oa-lake}&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;The SQL processes are integrated into &lt;strong style="color:#C00000;"&gt;{oa-lake}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-4-en_hu_8c31bb169a8e7f8c.webp 320w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-4-en_hu_ae49fe3603c10283.webp 480w, https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-4-en_hu_edc4b854fdcf72a5.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/migration-dataviz-architecture-ouverte-4-en_hu_8c31bb169a8e7f8c.webp"
width="760"
height="408"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa-lake}&lt;/strong&gt; centralizes business objects, indicators, dimensions, business rules, and SQL transformations. The engine federates several data systems and exposes a single model to reporting tools.&lt;/p&gt;
&lt;p&gt;Data can be materialized in Parquet format. Queries are generated against the physical systems or executed from the cache when needed.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; business logic is defined once and then exposed to several data visualization platforms.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>ETL Migration - from legacy ETL to dbt</title><link>https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-vers-dbt/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-vers-dbt/</guid><description>&lt;p&gt;Migrating to dbt means transforming proprietary ETL processes into SQL models run directly in the target data engine.&lt;/p&gt;
&lt;p&gt;Before any conversion, &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; analyzes flows, dependencies, and usage to identify the scope that is actually worth migrating.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the migration starts with a rationalization phase of the existing estate.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="flow-analysis"&gt;Flow analysis&lt;/h2&gt;
&lt;p&gt;ETL processes are analyzed to reconstruct dependencies, transformations, and usage.&lt;/p&gt;
&lt;p&gt;Data lineage is used to identify active flows, dead branches, and unconsumed components.&lt;/p&gt;
&lt;p&gt;This phase reduces the volume of processes to be migrated.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a migration scope refocused on the processes that are actually used.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="conversion-to-sql"&gt;Conversion to SQL&lt;/h2&gt;
&lt;p&gt;ETL jobs are broken down into elementary operations: filters, joins, aggregations, lookups, business calculations, and transformations.&lt;/p&gt;
&lt;p&gt;These components are converted into documented SQL, independent of the source technology.&lt;/p&gt;
&lt;p&gt;SQL becomes the pivot representation of the processes.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; business logic is rebuilt in SQL before the dbt project is generated.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="generating-dbt-models"&gt;Generating dbt models&lt;/h2&gt;
&lt;p&gt;The SQL processes are organized into dbt models.&lt;/p&gt;
&lt;p&gt;Dependencies between models are automatically generated from the flows identified during the analysis.&lt;/p&gt;
&lt;p&gt;The project structure, references between models, and documentation can be produced automatically.&lt;/p&gt;
&lt;h2 id="progressive-validation"&gt;Progressive validation&lt;/h2&gt;
&lt;p&gt;Migration is carried out in batches.&lt;/p&gt;
&lt;p&gt;The generated models are validated and then progressively integrated into the target environment.&lt;/p&gt;
&lt;p&gt;Discrepancies can be checked process by process during the transition phase.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; progressive migration of several hundred ETL jobs to dbt.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="target-architecture"&gt;Target architecture&lt;/h2&gt;
&lt;p&gt;The processes become version-controllable, maintainable SQL models.&lt;/p&gt;
&lt;p&gt;Dependencies are explicit, transformations are visible, and processes can be run directly by Snowflake, BigQuery, Databricks SQL, Redshift, PostgreSQL, or any other compatible engine.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the processes no longer depend on the legacy ETL platform but on a dbt project built on open SQL.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>ETL Migration - from legacy ETL to SQL</title><link>https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-vers-le-sql/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-vers-le-sql/</guid><description>&lt;p&gt;Legacy ETL platforms mainly implement filters, joins, aggregations, mappings, and transformations that can be expressed in SQL.&lt;/p&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; analyzes ETL jobs, reconstructs the flows, and generates a SQL equivalent independent of the source technology.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the processes are rebuilt as documented, version-controllable SQL.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="process-analysis"&gt;Process analysis&lt;/h2&gt;
&lt;p&gt;ETL repositories are analyzed to reconstruct sources, targets, transformations, parameters, and dependencies between processes.&lt;/p&gt;
&lt;p&gt;The collected metadata makes it possible to reconstruct how the flows actually work.&lt;/p&gt;
&lt;p&gt;Unused or unconsumed components can be identified before migration.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a migration scope reduced to the processes that are actually used.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="flow-reconstruction"&gt;Flow reconstruction&lt;/h2&gt;
&lt;p&gt;Processing chains are reconstructed from the ETL jobs.&lt;/p&gt;
&lt;p&gt;Dependencies between processes, intermediate flows, variables, and parameters are integrated into the target model.&lt;/p&gt;
&lt;p&gt;This mapping is the entry point for the conversion.&lt;/p&gt;
&lt;h2 id="rationalization"&gt;Rationalization&lt;/h2&gt;
&lt;p&gt;Cross-referencing data lineage (down to field level) with actually observed usage makes it possible to identify the data that is genuinely consumed and set aside what isn&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;Each job is also analyzed to assess its complexity: number of steps, depth of sub-processes, types of transformations, and external dependencies. These metrics are aggregated into a complexity score, used to prioritize and plan the migration.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a migration scope reduced to the processes that are actually used, prioritized according to their real complexity.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="sql-generation"&gt;SQL generation&lt;/h2&gt;
&lt;p&gt;The detected transformations are converted into SQL.&lt;/p&gt;
&lt;p&gt;Filters, joins, aggregations, lookups, mappings, and calculations are translated into successive, flat SQL statements.&lt;/p&gt;
&lt;p&gt;The resulting SQL preserves the logical structure of the original processes.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; each processing step remains identifiable in the generated SQL.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="example-ibm-datastage-jobs"&gt;Example: IBM DataStage jobs&lt;/h2&gt;
&lt;p&gt;For a DataStage estate, each stage type is translated according to its own logic:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Runtime Column Propagation (RCP):&lt;/strong&gt; the column list isn&amp;rsquo;t fixed in the job; it&amp;rsquo;s generated dynamically in the SQL, driven by the variables passed to the job.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Oracle connectors&lt;/strong&gt; (read / write): SELECT, UPDATE, MERGE, or INSERT generated from the stage&amp;rsquo;s options.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Change Capture (CDC):&lt;/strong&gt; Before/After comparison on primary keys, detecting new, modified, and deleted rows.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CDC Transformer:&lt;/strong&gt; conditional routing to a dedicated flow based on the detected change code.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shared Container:&lt;/strong&gt; a factored logical block, rendered as a standardized SQL block reused across several jobs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Column Generator:&lt;/strong&gt; calculated columns translated into typed SQL expressions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modify:&lt;/strong&gt; type conversions translated into SQL CAST (e.g. string to timestamp).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Funnel:&lt;/strong&gt; merging several flows via SQL UNION, with output schema harmonization.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-vers-le-sql/migration-etl-vers-le-sql-1-fr-en_hu_8d7b2c24bf08f04e.webp 320w, https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-vers-le-sql/migration-etl-vers-le-sql-1-fr-en_hu_cf20a81a93b79bb8.webp 480w, https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-vers-le-sql/migration-etl-vers-le-sql-1-fr-en_hu_d50db8a971693485.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-vers-le-sql/migration-etl-vers-le-sql-1-fr-en_hu_8d7b2c24bf08f04e.webp"
width="760"
height="471"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Observed result:&lt;/strong&gt; across an estate of several hundred DataStage jobs, more than 95% of the SQL translations succeed on the very first run.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="adapting-to-target-platforms"&gt;Adapting to target platforms&lt;/h2&gt;
&lt;p&gt;The generated SQL can be adapted to the dialects of the target platforms.&lt;/p&gt;
&lt;p&gt;Functions, data types, and specific mechanisms are taken into account during generation.&lt;/p&gt;
&lt;p&gt;The same processes can be produced for Snowflake, BigQuery, Databricks SQL, Redshift, PostgreSQL, SQL Server, or other SQL-compatible engines.&lt;/p&gt;
&lt;h2 id="orchestration"&gt;Orchestration&lt;/h2&gt;
&lt;p&gt;Dependencies and process scheduling are preserved.&lt;/p&gt;
&lt;p&gt;The generated processes can be integrated into the orchestration tools already present in the Information System.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; integration into Airflow, Control-M, or any other existing scheduler.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="sql-as-the-pivot-format"&gt;SQL as the pivot format&lt;/h2&gt;
&lt;p&gt;SQL becomes the common representation of the processes.&lt;/p&gt;
&lt;p&gt;Transformations no longer depend on the proprietary components of the original ETL platform.&lt;/p&gt;
&lt;p&gt;Processes can be versioned, reviewed, tested, and deployed independently of the source technology.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the transformation logic stays under the company&amp;rsquo;s control and no longer depends on a specific ETL engine.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>ETL Migration - legacy ETL connectors for SQL migration</title><link>https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/</guid><description>&lt;p&gt;ETL platforms rely on connectors, transformation components, parameterization mechanisms, and execution strategies specific to each vendor.&lt;/p&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; analyzes these components, reconstructs their behavior, and then generates a SQL representation independent of the source technology.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the conversion is based on analyzing the ETL components, not on a simple syntactic translation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="component-analysis"&gt;Component analysis&lt;/h2&gt;
&lt;p&gt;Technical repositories are analyzed to identify connectors, transformations, parameters, dependencies, and execution mechanisms.&lt;/p&gt;
&lt;p&gt;The components are converted into a common intermediate model before SQL generation.&lt;/p&gt;
&lt;p&gt;This approach is identical regardless of the source technology.&lt;/p&gt;
&lt;h2 id="connectors"&gt;Connectors&lt;/h2&gt;
&lt;p&gt;Read and write connectors are analyzed to reconstruct the flows between systems.&lt;/p&gt;
&lt;p&gt;Connection parameters, queries, data formats, and mappings are integrated into the migration model.&lt;/p&gt;
&lt;p&gt;Flows can originate from relational databases, files, APIs, or Cloud platforms.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; reconstructing exchanges between Oracle, SQL Server, PostgreSQL, flat files, or Cloud storage.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="transformations"&gt;Transformations&lt;/h2&gt;
&lt;p&gt;Transformation components are converted into SQL instructions.&lt;/p&gt;
&lt;p&gt;Filters, joins, aggregations, lookups, mappings, type conversions, column calculations, and conditional expressions are reconstructed in the target SQL model.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-1-fr-en_hu_fced570183f618b.webp 320w, https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-1-fr-en_hu_dd98b23a236d010.webp 480w, https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-1-fr-en_hu_51d9bda1300879c3.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-1-fr-en_hu_fced570183f618b.webp"
width="760"
height="324"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; each transformation becomes an explicit SQL operation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="parameterization"&gt;Parameterization&lt;/h2&gt;
&lt;p&gt;Environment variables, job parameters, shared libraries, and reusable components are analyzed during the conversion.&lt;/p&gt;
&lt;p&gt;Dependencies between processes and parameterization mechanisms are preserved in the generated model.&lt;/p&gt;
&lt;h2 id="supported-technologies"&gt;Supported technologies&lt;/h2&gt;
&lt;p&gt;The migration engines cover in particular IBM DataStage, Talend, SAP BODS, SSIS, ODI, Informatica PowerCenter, Stambia, Semarchy xDI, and Ab Initio.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-2-fr-en_hu_b2089859f56a5d05.webp 320w, https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-2-fr-en_hu_543af4a1a34656c7.webp 480w, https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-2-fr-en_hu_16ada158ec22bd89.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-2-fr-en_hu_b2089859f56a5d05.webp"
width="760"
height="313"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The methodology stays the same: component analysis, flow reconstruction, then SQL generation.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a consistent approach applied to different ETL technologies.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="sql-as-the-pivot-format"&gt;SQL as the pivot format&lt;/h2&gt;
&lt;p&gt;Once the components have been reconstructed, the processes are converted into a SQL model independent of the source platform.&lt;/p&gt;
&lt;p&gt;The generated SQL can then be adapted to Snowflake, BigQuery, Databricks SQL, Redshift, PostgreSQL, SQL Server, or any other compatible engine.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; SQL becomes the common format for representing the processes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>Privacy Policy</title><link>https://ellipsys-bi.com/en/privacy/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/privacy/</guid><description>&lt;p&gt;This page describes how Ellipsys processes the personal data of visitors to this
site.&lt;/p&gt;
&lt;h2 id="data-controller"&gt;Data controller&lt;/h2&gt;
&lt;p&gt;Ellipsys is the data controller for the data collected through this site.
For any question, you can contact us via the form on the
&lt;a href="https://ellipsys-bi.com/en/contact/"&gt;Contact&lt;/a&gt; page.&lt;/p&gt;
&lt;h2 id="data-collected"&gt;Data collected&lt;/h2&gt;
&lt;p&gt;This site does not set any cookies and does not use any tracking or audience
analytics tools.&lt;/p&gt;
&lt;p&gt;The only personal data collected is the data you voluntarily submit via the
contact form (name, email address, company, message). This information is
used solely to respond to your request.&lt;/p&gt;
&lt;h2 id="data-retention"&gt;Data retention&lt;/h2&gt;
&lt;p&gt;Data submitted via the contact form is kept for as long as needed to process
your request, and then deleted.&lt;/p&gt;
&lt;h2 id="your-rights"&gt;Your rights&lt;/h2&gt;
&lt;p&gt;Under the General Data Protection Regulation (GDPR), you have the right to
access, rectify, and erase your personal data. To exercise these rights,
contact us via the &lt;a href="https://ellipsys-bi.com/en/contact/"&gt;Contact&lt;/a&gt; page.&lt;/p&gt;
&lt;h2 id="changes"&gt;Changes&lt;/h2&gt;
&lt;p&gt;This privacy policy may be updated from time to time. The date of the last
update appears at the top of this page.&lt;/p&gt;</description></item><item><title>{oa-lake} — interoperability layer</title><link>https://ellipsys-bi.com/en/oa-lake/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/oa-lake/</guid><description/></item><item><title>{oa.tbx} — a SQL ETL</title><link>https://ellipsys-bi.com/en/oa.tbx/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/oa.tbx/</guid><description/></item><item><title>About</title><link>https://ellipsys-bi.com/en/a-propos/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/a-propos/</guid><description/></item><item><title>Contact</title><link>https://ellipsys-bi.com/en/contact/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/contact/</guid><description/></item><item><title>{openAudit} - Migration</title><link>https://ellipsys-bi.com/en/openaudit-migration/</link><pubDate>Tue, 30 Jun 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/openaudit-migration/</guid><description/></item><item><title>{openAudit} - Data Lineage</title><link>https://ellipsys-bi.com/en/openaudit-data-lineage/</link><pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/openaudit-data-lineage/</guid><description/></item><item><title>Terms of Service</title><link>https://ellipsys-bi.com/en/terms/</link><pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/terms/</guid><description>&lt;p&gt;Add your company legal terms here&amp;hellip;&lt;/p&gt;</description></item></channel></rss>