# Creating a duplicate dataset with different column datatypes

**URL:** <https://forum.inductiveautomation.com/t/creating-a-duplicate-dataset-with-different-column-datatypes/76804>\
**Category:** Ignition\
**Created:** [July 24, 2023, 6:08pm UTC](https://forum.inductiveautomation.com/t/creating-a-duplicate-dataset-with-different-column-datatypes/76804 "2023-07-24T18:08:40Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 24, 2023, 10:13pm UTC](https://forum.inductiveautomation.com/t/creating-a-duplicate-dataset-with-different-column-datatypes/76804/12 "2023-07-24T22:13:07Z")

</div>

> [@Juan\_Caquias](#):
>
> This is running as a propertyChange script on the component, with DefaultDataset being a custom property with the dataset that needs to be transformed, and Data being the transformed dataset.

You might find it easier to put this expression binding on your `data` property, after installing my latest [Simulation Aids](https://forum.inductiveautomation.com/t/automation-professionals-simulation-aids-v2/74934/54) module (assuming that last bug is fixed):

```auto
unionAll(
	forEach(
		columnsOf({Root container.path.to.custom.prop}),
		asList(
			it()[0],
			if(
				idx() < 8,
				asList('I', 'str', 'str', 'I', 'str', 'str', 'str', 'str')[idx()],
				'F'
			)
		)
	),
	{Root container.path.to.custom.prop}
)

```

😁

{ The `unionAll` function is really just a glorified wrapper around the DatasetBuilder class. }

---

_[View the full topic](https://forum.inductiveautomation.com/t/creating-a-duplicate-dataset-with-different-column-datatypes/76804)._
