# What's the best way to update a dataset and write it back to template parameters?

**URL:** <https://forum.inductiveautomation.com/t/whats-the-best-way-to-update-a-dataset-and-write-it-back-to-template-parameters/108795>\
**Category:** Ignition\
**Tags:** ignition81, vision, scripting\
**Created:** [July 22, 2025, 10:22pm UTC](https://forum.inductiveautomation.com/t/whats-the-best-way-to-update-a-dataset-and-write-it-back-to-template-parameters/108795 "2025-07-22T22:22:09Z")\
**Posts on this page:** 1\
**Showing post:** 2

<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:** [July 22, 2025, 10:32pm UTC](https://forum.inductiveautomation.com/t/whats-the-best-way-to-update-a-dataset-and-write-it-back-to-template-parameters/108795/2 "2025-07-22T22:32:45Z")

</div>

The trick is to create a new list of values in one operation, then use our system functions to slice off the old column and drop in a new one. See this thread for a possible approach:

> [@Can I modify an entire column from a dataset with system.dataset.setValue()?](https://forum.inductiveautomation.com/t/can-i-modify-an-entire-column-from-a-dataset-with-system-dataset-setvalue/87043/3):
>
> def mapColumn(function, dataset, column): if isinstance(column, basestring): column = dataset.getColumnIndex(column) columnData = map(function, dataset.getColumnAsList(column)) columnsToKeep = range(dataset.columnCount) columnsToKeep.pop(column) dsWithoutColumn = system.dataset.filterColumns(dataset, columnsToKeep) return system.dataset.addColumn( dsWithoutColumn, column, columnData, dataset.getColumnName(column), dataset.getColumnType(column) ) It's relatively easy to…

---

_[View the full topic](https://forum.inductiveautomation.com/t/whats-the-best-way-to-update-a-dataset-and-write-it-back-to-template-parameters/108795)._
