Skip to main content
All docs
V25.1
  • TransformationNodeBuilder.UnfoldColumn(String, String) Method

    If a column is an array, transforms each element of this array to an individual record and changes the name of the column to the specified alias.

    Namespace: DevExpress.DataAccess.DataFederation

    Assembly: DevExpress.DataAccess.v25.1.dll

    NuGet Package: DevExpress.DataAccess

    Declaration

    public TransformationNodeBuilder UnfoldColumn(
        string columnName,
        string alias
    )

    Parameters

    Name Type Description
    columnName String

    The name of a column that should be unfolded.

    alias String

    A new column name.

    Returns

    Type Description
    TransformationNodeBuilder

    The result of the transformation query.

    Example

    The following example demonstrates how to unfold a data source’s Products array and specify a new name for this array:

    Show JSON Data
    [
        {
            "CategoryID": 1,
            "Products":
            [
                {
                    "ProductName": "Chai",
                    "UnitPrice": 18
                },
                {
                    "ProductName": "Chang",
                    "UnitPrice": 19
                }
            ]
        },
        {
            "CategoryID": 2,
            "Products":
            [
                {
                    "ProductName": "Ikura",
                    "UnitPrice": 31
                },
                {
                    "ProductName": "Konbu",
                    "UnitPrice": 6
                }
            ]
        }
    ]
    
    using DevExpress.DataAccess.DataFederation;
    using DevExpress.DataAccess.Json;
    // ...
    var source = new Source("Products", jsonDataSource);
    
    var query = source
        .Transform()
        .UnfoldColumn("Products", "CategoryProducts")
        .Build("ProductsUnfolded");
    
    var federation = new FederationDataSource() {
        Queries = { query }
    };
    

    The following schema is the result of the transformation:

    "CategoryID": int
    "CategoryProducts"
        "ProductName": string
        "UnitPrice": int
    
    See Also