# Parameter Binding Manipulation

**URL:** <https://forum.inductiveautomation.com/t/parameter-binding-manipulation/83661>\
**Category:** Ignition\
**Tags:** perspective, ignition81\
**Created:** [January 2, 2024, 2:20am UTC](https://forum.inductiveautomation.com/t/parameter-binding-manipulation/83661 "2024-01-02T02:20:36Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pat\_Cunningham](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pat_cunningham/32/57710_2.png) [@Pat\_Cunningham](https://forum.inductiveautomation.com/u/Pat_Cunningham)\
**Post date:** [January 2, 2024, 2:20am UTC](https://forum.inductiveautomation.com/t/parameter-binding-manipulation/83661/1 "2024-01-02T02:20:36Z")

</div>

I would like to get parts of PathToParentFolder in parameter binding. The path is _Sensor/0/Alarm_. I just need the _Sensor_. Is there a way to do that?

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [January 2, 2024, 2:37am UTC](https://forum.inductiveautomation.com/t/parameter-binding-manipulation/83661/2 "2024-01-02T02:37:03Z")

</div>

You can use an expression binding.

```auto
substring(
	"Sensor/0/Alarm",
	lastIndexOf("Sensor/0/Alarm", "/") + 1
)

```

This returns "Alarm".

[https://docs.inductiveautomation.com/display/DOC81/substring](https://docs.inductiveautomation.com/display/DOC81/substring)

[https://docs.inductiveautomation.com/display/DOC81/lastIndexOf](https://docs.inductiveautomation.com/display/DOC81/lastIndexOf)

---

<div class="post-metadata">

**Author:** ![Pat\_Cunningham](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pat_cunningham/32/57710_2.png) [@Pat\_Cunningham](https://forum.inductiveautomation.com/u/Pat_Cunningham)\
**Post date:** [January 2, 2024, 11:09am UTC](https://forum.inductiveautomation.com/t/parameter-binding-manipulation/83661/3 "2024-01-02T11:09:10Z")

</div>

This is under UDT properties and expression binding is not an option.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/c/7c49b6824116e44c23d408a4a6cc063b708f258d.png)

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [January 2, 2024, 11:59am UTC](https://forum.inductiveautomation.com/t/parameter-binding-manipulation/83661/4 "2024-01-02T11:59:30Z")

</div>

> [@Pat\_Cunningham](#):
>
> This is under UDT properties ...

There's no mention of that in your original post. Can you see how this wastes people's time?

---

<div class="post-metadata">

**Author:** ![Andy\_Guias](https://avatars.discourse-cdn.com/v4/letter/a/b3f665/32.png) [@Andy\_Guias](https://forum.inductiveautomation.com/u/Andy_Guias)\
**Post date:** [January 2, 2024, 1:34pm UTC](https://forum.inductiveautomation.com/t/parameter-binding-manipulation/83661/5 "2024-01-02T13:34:14Z")

</div>

You could create an Expression Tag as part of your UDT and use the following Expression:

```auto
split({PathToTag},"/")[0]

```

---

<div class="post-metadata">

**Author:** ![Pat\_Cunningham](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pat_cunningham/32/57710_2.png) [@Pat\_Cunningham](https://forum.inductiveautomation.com/u/Pat_Cunningham)\
**Post date:** [January 2, 2024, 5:56pm UTC](https://forum.inductiveautomation.com/t/parameter-binding-manipulation/83661/6 "2024-01-02T17:56:07Z")

</div>

I tried using split but it won't let me reference anything past the first row.  
It won't take

> split({PathToTag},"/")[1]

I am trying to build a OPC Item Path based on the Tag Path.

---

<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:** [January 2, 2024, 6:02pm UTC](https://forum.inductiveautomation.com/t/parameter-binding-manipulation/83661/7 "2024-01-02T18:02:25Z")

</div>

Ignition's bracket operator for subscripts (in expression bindings) can perform the following operations:

- `someArrayProp[index]`
- `someObjectProp[key]`
- `someDatasetProp[column]`
- `someDatasetProp[row, column]`

Where `index` is an integer, `key` is a string, `column` is either integer or string, and `row` is an integer.

If you need to access any non-zero row in a dataset, you must specify both row and column.

---

<div class="post-metadata">

**Author:** ![Pat\_Cunningham](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pat_cunningham/32/57710_2.png) [@Pat\_Cunningham](https://forum.inductiveautomation.com/u/Pat_Cunningham)\
**Post date:** [January 3, 2024, 2:51am UTC](https://forum.inductiveautomation.com/t/parameter-binding-manipulation/83661/8 "2024-01-03T02:51:24Z")

</div>

I created and expression tag and created a script that parses the PathToTag and used runScript and it works like a charm.

> runScript("tags.gettag",0,{PathToTag})

I cannot figure out how to get that value into OPC Item Path of the tags in the UDT that contains the expression tag. I am starting to think what I am trying to do is impossible.

---

<div class="post-metadata">

**Author:** ![Andy\_Guias](https://avatars.discourse-cdn.com/v4/letter/a/b3f665/32.png) [@Andy\_Guias](https://forum.inductiveautomation.com/u/Andy_Guias)\
**Post date:** [January 3, 2024, 11:53am UTC](https://forum.inductiveautomation.com/t/parameter-binding-manipulation/83661/9 "2024-01-03T11:53:25Z")

</div>

It's not impossible, you just have to find a different way.  
You could run this in the Script Console to do exactly what you want:

```auto
def customOPCpath(path):
	#process the full Tag path to get your OPC path
	return(opcPath)

for opcTag in system.tag.browse("/", {"recursive": True, "tagType": "AtomicTag", "valueSource":"opc"}):
	tagPath = str(opcTag["fullPath"])
	opcItemPath = customOPCpath(tagPath)
	system.tag.writeBlocking([tagPath + ".OpcItemPath"], [opcItemPath])

```

---

<div class="post-metadata">

**Author:** ![stdavis68](https://avatars.discourse-cdn.com/v4/letter/s/d26b3c/32.png) [@stdavis68](https://forum.inductiveautomation.com/u/stdavis68)\
**Post date:** [April 14, 2026, 4:42pm UTC](https://forum.inductiveautomation.com/t/parameter-binding-manipulation/83661/10 "2026-04-14T16:42:03Z")

</div>

except that it is exactly what he said. “parameter binding” is only in UDT’s
