# Nested paths in Perspective Bindings

**URL:** <https://forum.inductiveautomation.com/t/nested-paths-in-perspective-bindings/26882>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [July 25, 2019, 4:00pm UTC](https://forum.inductiveautomation.com/t/nested-paths-in-perspective-bindings/26882 "2019-07-25T16:00:00Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![adam.todorski](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/adam.todorski/32/19388_2.png) [@adam.todorski](https://forum.inductiveautomation.com/u/adam.todorski)\
**Post date:** [July 25, 2019, 4:00pm UTC](https://forum.inductiveautomation.com/t/nested-paths-in-perspective-bindings/26882/1 "2019-07-25T16:00:00Z")

</div>

I want to make a perspective binding where the value is the result of an expression that takes as input tag paths which themselves are constructed from perspective references. For example:

min(({{…/Dropdown.props.value}/SOME\_TAG}+{{…/Dropdown.props.value}/SOME\_OTHER\_TAG}), {{…/Dropdown.props.value}/YET\_ANOTHER\_TAG})

This yields an error about not permitting nested paths, is there another way to do what I am trying to do here? Specifically, perform some calculation (binding expression) based on inputs from multiple tags where their paths are constructed from a perspective component’s value.

---

<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 25, 2019, 5:08pm UTC](https://forum.inductiveautomation.com/t/nested-paths-in-perspective-bindings/26882/2 "2019-07-25T17:08:01Z")

</div>

You need to use the [`tag()`](https://docs.inductiveautomation.com/display/DOC80/tag) function to make indirect tag references within the same expression; the curly-brace syntax for tag lookups doesn’t allow calculation and must get a literal path.

---

<div class="post-metadata">

**Author:** ![adam.todorski](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/adam.todorski/32/19388_2.png) [@adam.todorski](https://forum.inductiveautomation.com/u/adam.todorski)\
**Post date:** [July 25, 2019, 6:13pm UTC](https://forum.inductiveautomation.com/t/nested-paths-in-perspective-bindings/26882/3 "2019-07-25T18:13:57Z")

</div>

Thanks! So, something like this? tag({…/Dropdown.props.value}+"/SOME\_TAG") This seems to work for me. Also, this bulletin board is adding a period to the dot dot path construct in the example.

---

<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 25, 2019, 7:23pm UTC](https://forum.inductiveautomation.com/t/nested-paths-in-perspective-bindings/26882/4 "2019-07-25T19:23:04Z")

</div>

Yep, you’ve got it exactly. Another option is to move the indirect tag reference to a separate custom parameter (where you can just use the Indirect Tag binding type) and then reference that custom parameter directly in your main expression. This is more efficient (because on the backend, the tag() function has to look up and fetch the value of the tag in question from scratch every time the expression evaluates), but has the downside of separating your logic out a bit, which can be a bit confusing to maintain over time.

---

<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 25, 2019, 7:25pm UTC](https://forum.inductiveautomation.com/t/nested-paths-in-perspective-bindings/26882/5 "2019-07-25T19:25:27Z")

</div>

> [@paul-griffith](#):
>
> but has the downside of separating your logic out a bit, which can be a bit confusing to maintain over time.

Nah, having the indirect on a separate property is much easier to follow. As far as I'm concerned, use of the tag() expression function is _ **always** _ a mistake.

---

<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 25, 2019, 7:37pm UTC](https://forum.inductiveautomation.com/t/nested-paths-in-perspective-bindings/26882/6 "2019-07-25T19:37:09Z")

</div>

Hah, as soon as I mentioned it in the first post I figured you’d show up to correct me 🙂
