Skip to main content
All docs
V22.2

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.v22.2.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