////
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
////
:documentationPath: /pipeline/transforms/
:language: en_US
:description: The Data Grid transform allows you to enter a static list of rows in a grid, similar to an in-pipeline spreadsheet. This is usually done for testing, reference or demo purposes.

= image:transforms/icons/datagrid.svg[Data Grid transform Icon, role="image-doc-icon"] Data Grid

[%noheader,cols="3a,1a", role="table-no-borders" ]
|===
|
== Description

The Data Grid transform allows you to enter a static list of rows in a grid, similar to an in-pipeline spreadsheet.
This is usually done for testing, reference or demo purposes.

Place a Data grid onto the data orchestration grid. On the Meta tab, add the field names and type and format. Then on the Data tab, add the field values for each data row.

|
== Supported Engines
[%noheader,cols="2,1a",frame=none, role="table-supported-engines"]
!===
!Hop Engine! image:check_mark.svg[Supported, 24]
!Spark! image:question_mark.svg[Maybe Supported, 24]
!Flink! image:question_mark.svg[Maybe Supported, 24]
!Dataflow! image:question_mark.svg[Maybe Supported, 24]
!===
|===

== Options

[width="90%, options="header"]
|===
|Meta tab|specify the field metadata (output specification) of the data
|Data Tab|contains the data.
Everything is entered in String format so make sure you use the correct format masks in the metadata tab.
|===

== Metadata Injection Support

This transform supports metadata injection.
It is made up out of 2 parts the meta (field definitions) and the data.
The meta requires multiple rows to define the fields.
The data part contains 2 injection fields, the first is a concatenated string that contains all values the second is the delimiter used to split that specific row.
Mixing delimiters is possible, when empty "," is used as string to split with.

== Limitations

It is not yet possible to insert columns in between 2 existing one or in general re-order the fields in the metadata tab.

If you plan to do this, make sure to copy the data section first to a spreadsheet (Select all rows and copy/paste the whole grid), change the data and copy it back into the data section.

