# Adding multiple columns to a dataset

**URL:** <https://forum.inductiveautomation.com/t/adding-multiple-columns-to-a-dataset/56188>\
**Category:** Ignition\
**Created:** [February 15, 2022, 11:45pm UTC](https://forum.inductiveautomation.com/t/adding-multiple-columns-to-a-dataset/56188 "2022-02-15T23:45:07Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![nicholas.robinson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nicholas.robinson/32/22188_2.png) [@nicholas.robinson](https://forum.inductiveautomation.com/u/nicholas.robinson)\
**Post date:** [February 15, 2022, 11:45pm UTC](https://forum.inductiveautomation.com/t/adding-multiple-columns-to-a-dataset/56188/1 "2022-02-15T23:45:07Z")

</div>

Has there ever been consideration to have “addColumns” added to the system.dataset API?

There is “addRow” and “addRows”.

Thanks,

Nick

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 16, 2022, 12:01am UTC](https://forum.inductiveautomation.com/t/adding-multiple-columns-to-a-dataset/56188/2 "2022-02-16T00:01:05Z")

</div>

I would argue that a variadic function that requires four or five arguments per call is an antipattern.  
Yes, `addRows` exists, but it’s _much_ more common to want to add multiple rows than multiple columns.

If you want to skip the intermediate datasets `addColumn` creates before you get to your final result, you could use [`DatasetBuilder`](https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.14/com/inductiveautomation/ignition/common/util/DatasetBuilder.html) to construct the entire dataset at once.

---

<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:** [February 16, 2022, 12:12am UTC](https://forum.inductiveautomation.com/t/adding-multiple-columns-to-a-dataset/56188/3 "2022-02-16T00:12:06Z")

</div>

> [@paul-griffith](#):
>
> use [`DatasetBuilder`](https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.14/com/inductiveautomation/ignition/common/util/DatasetBuilder.html) to construct the entire dataset at once

💯

---

<div class="post-metadata">

**Author:** ![Rickard\_Nordwall](https://avatars.discourse-cdn.com/v4/letter/r/46a35a/32.png) [@Rickard\_Nordwall](https://forum.inductiveautomation.com/u/Rickard_Nordwall)\
**Post date:** [October 23, 2023, 12:01pm UTC](https://forum.inductiveautomation.com/t/adding-multiple-columns-to-a-dataset/56188/4 "2023-10-23T12:01:07Z")

</div>

Hi,  
How do I define colTypes with DatasetBuilder?  
I get an error as shown in the picture;

 ![dataSet](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/d/bd3d6597500e77fe11fcd66998047e5901749b69.png)

---

<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:** [October 23, 2023, 12:08pm UTC](https://forum.inductiveautomation.com/t/adding-multiple-columns-to-a-dataset/56188/5 "2023-10-23T12:08:17Z")

</div>

Leave off the `.class`. That is how java does it, but in jython, the imported class name **is** the class.

You will need something like this in your library script:

```auto
from java.lang import String, Boolean, Integer, Long
from java.util import Date

```
