Skip to Main Content
IBM Data Platform Ideas Portal for Customers


This portal is to open public enhancement requests against products and services offered by the IBM Data Platform organization. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:


Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,


Post your ideas

Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

IBM Employees should enter Ideas at https://ideas.ibm.com



Status Delivered
Created by Guest
Created on Jan 15, 2026

Support transformations for the OpenLineage Column Level Lineage dataset facet.

Why it is useful?

Transformations are an integral part in any data flow representation. They comprise logic describing data, functions and process information that are vital for deriving lineage on an attribute.

A field of an output in Column Level Lineage Dataset Facet can contain transformation field. This includes transformations to understand which input columns are used to produce which output columns and in what way. It helps portray the nature of relation between the input and the output columns.

[https://openlineage.io/docs/spec/facets/dataset-facets/column_lineage_facet/]

Manta currently does not parse this information for lineage. Excluding it, Manta does not gather key information for a full end-to-end data lineage from source to target, crucial for understanding impact, troubleshooting, and governance within data platforms

Who would benefit from it ?

Any solution built on Manta using OpenLineage.

How it should work ?

Transformation in OpenLineage is described by 4 fields: type, subtype, description and masking. And each of these 4 fields can have different values. Type can be Direct or Indirect. And depending on the type, the subtype can have different values.

Manta should be able to parse both Direct and Indirect types of transformations.

It should be able to parse logic in the transformation field, aggregations, joins, filters, conditions, be able to read SQL clauses; that is essential to show the changes a field undergoes to get to the output.

Needed By Month
  • Guest
    Feb 23, 2026

    This item is different from your original comment

    Transforming if the value is IDENTITY, non-transforming if the value is TRANSFORMATION or AGGREGATION.

     

    The ask is for the reverse -

    1. If DIRECT and IDENTITY, the TRANSFORMATION_TAG is Non Transforming 
    2. If DIRECT and either of TRANSFORMATION or AGGREGATION, the TRANSFORMATION_TAG is Transforming.
  • Admin
    Jakub Moravec
    Feb 23, 2026

    Hi Sawelita,

    Thank you, that makes sense. Unless I missed something, the only additional item is:

    "If the Description in the OpenLineage payload is present, the existing Transformation Logic attribute in Manta should be populated by the Description field."

    I added this to the spec (see in the comment above).

    Please let me know if you have any additional comments.


    Best, Jakub

  • Guest
    Feb 18, 2026

    Hello, 

    1. Transformation Type - The proposed representation for this is in line with expected behavior.
    2. Masking 
      1. No action if value is missing or set to false is in line with expectation.
      2. If present, the expectation is to have similar behavior when representing transformations on columns. Display  TT label indicator against the column. When user hovers over it, the dialog appears showing TRANSFORMATION_DESC and TRANSFORMATION_TAG. On clicking the column, the top left popup includes Transformation Type and Transformation Logic , alongside the proposed attribute Masking showing True. The TRANSFORMATION_DESC and Transformation Logic  should take the value from the description field of the payload. For example below, it should print HASH  "transformations": [
                                    {
                                        "type": "DIRECT",
                                        "subtype": "IDENTITY",
                                        "description": "HASH",
                                        "masking": true
                                    },
                                ]
    3. Subtype
      1. No action if value is missing is expected
      2. If value is present,  display the TT label indicator
      3. If DIRECT and IDENTITY, the TRANSFORMATION_TAG is Non Transforming 
      4. If DIRECT and either of TRANSFORMATION or AGGREGATION, the TRANSFORMATION_TAG is Transforming. The TRANSFORMATION_DESC, Transformation Logic, Expression should be derived from the description.
      5. For all of the INDIRECT subtypes, the TRANSFORMATION_DESC, Transformation Logic, Expression should be derived from the description. An example below with description - "transformations": [
                                    {
                                        "type": "INDIRECT",
                                        "subtype": "JOIN",
                                        "description": "ON (DISCOUNTS.CUSTOMERS_ID=CUST.ID)",
                                    },
                                ] 
  • Admin
    Jakub Moravec
    Feb 18, 2026

    Hi Sewalita,

    we reviewed this requirement and propose the following specification for the improvement. Can you confirm this is in line with your expectations and will support your uses?

    Thank you,
    Jakub

    The Manta OpenLineage scanner should parse and use the additional information about the transformations described in [https://openlineage.io/docs/spec/facets/dataset-facets/column_lineage_facet/] in the following manner:

      • Transformation Type

        • If present, create the following lineage edge type in Manta

          • a direct lineage edge for the DIRECT value in the OpenLineage payload

          • and an indirect (filter) lineage edge for the INDIRECT value in the OpenLineage payload

        • If this information is not present, create a direct lineage edge (current behaviour)

      • Subtype

        • If the value is present, create a custom attribute (Transformation Type) with this value. This attribute will be shown in the lineage UI and show the exact value provided in the OpenLineage payload.

        • In addition, if the value is any of the 3 allowed values for DIRECT transformations, populate Manta's transforming/non-transforming attribute/tag based on this value. Non-transforming if the value is IDENTITY, transforming if the value is TRANSFORMATION or AGGREGATION.

        • No action if the value is missing - no attribute will be set

      • Description

        • If the Description in the OpenLineage payload is present, the existing Transformation Logic attribute in Manta should be populated by the Description field.

      • Masking

        • If the value is present and is true ("masking": true in the OpenLineage event), create a custom attribute (Masking) with value true

        • No action if the value is missing or set to false