# Tag Report Tool and Tag Custom Properties

**URL:** <https://forum.inductiveautomation.com/t/tag-report-tool-and-tag-custom-properties/82710>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [December 5, 2023, 10:02am UTC](https://forum.inductiveautomation.com/t/tag-report-tool-and-tag-custom-properties/82710 "2023-12-05T10:02:44Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![pgmo](https://avatars.discourse-cdn.com/v4/letter/p/d07c76/32.png) [@pgmo](https://forum.inductiveautomation.com/u/pgmo)\
**Post date:** [December 5, 2023, 10:02am UTC](https://forum.inductiveautomation.com/t/tag-report-tool-and-tag-custom-properties/82710/1 "2023-12-05T10:02:44Z")

</div>

Hi all,  
is there any way to find tags which **have** a given custom property, say `CustomProp1`, and where that custom property has a **given value** , say `CustomProp1=='temperature'` ?  
I'm trying to do that with the _Tag Report Tool_ and then copy the relevant query script, but I can't.

Thanks for your help, regards

---

<div class="post-metadata">

**Author:** ![deon.korb](https://avatars.discourse-cdn.com/v4/letter/d/8c91f0/32.png) [@deon.korb](https://forum.inductiveautomation.com/u/deon.korb)\
**Post date:** [December 5, 2023, 10:05am UTC](https://forum.inductiveautomation.com/t/tag-report-tool-and-tag-custom-properties/82710/2 "2023-12-05T10:05:13Z")

</div>

I tried to do the same with parameters, to show UDT instances where a certain parameter is set to a value. I had no luck. Hopefully someone knows

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [December 5, 2023, 12:12pm UTC](https://forum.inductiveautomation.com/t/tag-report-tool-and-tag-custom-properties/82710/3 "2023-12-05T12:12:25Z")

</div>

If you open up the tagreport tool and then at the bottom area type in the dropdown box the property that you are looking for.

Example

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/6/0/608e5577aae8ce47936fd106b11adb4aae0946ee.png)

That is searching for a custom property that we have on our UDT's called 'Tag'.

That search generates this script

```auto
provider = 'Development'
limit = 100

query = {
  "options": {
    "includeUdtMembers": True,
    "includeUdtDefinitions": False
  },
  "condition": {
    "attributes": {
      "values": [],
      "requireAll": True
    },
    "properties": {
      "op": "Or",
      "conditions": [
        {
          "op": "And",
          "conditions": [
            {
              "prop": "Tag",
              "comp": "Like",
              "value": "C100"
            }
          ]
        }
      ]
    }
  },
  "returnProperties": [
    "tagType",
    "quality"
  ]
}

# Limited to 100 rows. Use continuationPoint functionality to continue from last result, 
# or remove limit for full results.
results = system.tag.query(provider, query, limit)

```

We use this in our systems to help customers find devices/tags.

---

<div class="post-metadata">

**Author:** ![Chris\_Bingham](https://avatars.discourse-cdn.com/v4/letter/c/e5b9ba/32.png) [@Chris\_Bingham](https://forum.inductiveautomation.com/u/Chris_Bingham)\
**Post date:** [December 4, 2024, 6:51pm UTC](https://forum.inductiveautomation.com/t/tag-report-tool-and-tag-custom-properties/82710/4 "2024-12-04T18:51:45Z")

</div>

I've been _unable_ to search for a Parameter by simply typing in the parameter name. However, I was able to search for "Parameters" w/ "Has", and then adding the "Parameters" property to the output to interrogate the **ExtendedPropertySet** returned from the query:

> **Query as JSON: All Tags w/ Parameters**
>
> ```python
> {
> "query": {
> "options": {
> "includeUdtMembers": false,
> "includeUdtDefinitions": false
> },
> "condition": {
> "attributes": {
> "values": [],
> "requireAll": true
> },
> "properties": {
> "op": "Or",
> "conditions": [
> {
> "op": "And",
> "conditions": [
> {
> "prop": "parameters",
> "comp": "Defined"
> }
> ]
> }
> ]
> }
> },
> "returnProperties": [
> "parameters",
> "tagType",
> "quality"
> ]
> },
> "columns": [
> {
> "alias": "",
> "key": "path",
> "type": "property",
> "visible": true,
> "width": 131
> },
> {
> "alias": "",
> "key": "tagType",
> "type": "property",
> "visible": true,
> "width": 95
> },
> {
> "alias": "",
> "key": "quality",
> "type": "property",
> "visible": true,
> "width": 90
> },
> {
> "alias": "",
> "key": "parameters",
> "type": "property",
> "visible": true,
> "width": 544
> }
> ]
> }
> 
> ```

From there, should be able to formulate a more detailed query for your application.  
For example, change the above query to:  
`Parameters, Like, *Parameter[pUnits]={datatype=String, value=°C}*`  
To get a report of all tags with a 'pUnits' parameter with a value of deg Celsius.
