<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: event values have same name in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/event-values-have-same-name/m-p/653174#M225717</link>
    <description>&lt;P&gt;A pointer: When anonymizing structured data, make sure the structure itself is compliant. &amp;nbsp;I think you mean your event looks like&lt;/P&gt;&lt;PRE&gt;{"target": [
     { 
       "alternateId": "application1",
       "detailEntry": {
       },
       "displayName": "OpenID Connect Client",
       "id": "asdfasdf",
       "type": "AppInstance"
     },
     { 
       "alternateId": "unknown",
       "detailEntry": "null",
       "displayName": "Unregistered Device - Default",
       "id": "adsfasdf",
       "type": "Rule"
     }
  ]&lt;BR /&gt;}&lt;/PRE&gt;&lt;P&gt;You can use &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Mvexpand" target="_blank" rel="noopener"&gt;mvexpand&lt;/A&gt; before filter or use &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/MultivalueEvalFunctions#mvfilter.28.26lt.3Bpredicate.26gt.3B.29" target="_blank" rel="noopener"&gt;mvfilter&lt;/A&gt;. &amp;nbsp;Using mvexpand is more traditional:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| spath path=target{}
| mvexpand target{}
| where json_extract('target{}', "type") == "Rule"
| eval displayName = json_extract(target, "displayName")&lt;/LI-CODE&gt;&lt;P&gt;Use of JSON functions above assumes that you use Splunk 8 or later, but the mvexpand method can still work without JSON functions; you just use another round of spath.&lt;/P&gt;&lt;P&gt;Using mvfilter, on the other hand, requires JSON functions first introduced in Splunk 8.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| spath path=target{}
| eval target = mvfilter(json_extract('target{}', "type") == "Rule")
| eval displayName = json_extract(target, "displayName")&lt;/LI-CODE&gt;&lt;P&gt;Hope this helps.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 04 Aug 2023 08:07:55 GMT</pubDate>
    <dc:creator>yuanliu</dc:creator>
    <dc:date>2023-08-04T08:07:55Z</dc:date>
    <item>
      <title>event values have same name</title>
      <link>https://community.splunk.com/t5/Splunk-Search/event-values-have-same-name/m-p/650893#M225044</link>
      <description>&lt;P&gt;My event data contains the following:&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;target&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;alternateId&lt;/SPAN&gt;:&amp;nbsp;&lt;SPAN class=""&gt;application1&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;detailEntry&lt;/SPAN&gt;:&amp;nbsp;{&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;displayName&lt;/SPAN&gt;:&amp;nbsp;&lt;SPAN class=""&gt;OpenID Connect Client&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;id&lt;/SPAN&gt;:&amp;nbsp;&lt;SPAN class=""&gt;asdfasdf&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;type&lt;/SPAN&gt;:&amp;nbsp;&lt;SPAN class=""&gt;AppInstance&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;alternateId&lt;/SPAN&gt;:&amp;nbsp;&lt;SPAN class=""&gt;unknown&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;detailEntry&lt;/SPAN&gt;:&amp;nbsp;&lt;SPAN class=""&gt;null&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;displayName&lt;/SPAN&gt;:&amp;nbsp;&lt;SPAN class=""&gt;Unregistered Device - Default&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;id&lt;/SPAN&gt;:&amp;nbsp;adsfasdf&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;type&lt;/SPAN&gt;:&amp;nbsp;&lt;SPAN class=""&gt;Rule&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;I want to do a | stats count by target.displayname but only on events that have target.type=Rule. It is possible to have more than two entries as well so cant just say always select second entry.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jul 2023 21:55:05 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/event-values-have-same-name/m-p/650893#M225044</guid>
      <dc:creator>scumbum</dc:creator>
      <dc:date>2023-07-17T21:55:05Z</dc:date>
    </item>
    <item>
      <title>Re: event values have same name</title>
      <link>https://community.splunk.com/t5/Splunk-Search/event-values-have-same-name/m-p/653174#M225717</link>
      <description>&lt;P&gt;A pointer: When anonymizing structured data, make sure the structure itself is compliant. &amp;nbsp;I think you mean your event looks like&lt;/P&gt;&lt;PRE&gt;{"target": [
     { 
       "alternateId": "application1",
       "detailEntry": {
       },
       "displayName": "OpenID Connect Client",
       "id": "asdfasdf",
       "type": "AppInstance"
     },
     { 
       "alternateId": "unknown",
       "detailEntry": "null",
       "displayName": "Unregistered Device - Default",
       "id": "adsfasdf",
       "type": "Rule"
     }
  ]&lt;BR /&gt;}&lt;/PRE&gt;&lt;P&gt;You can use &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Mvexpand" target="_blank" rel="noopener"&gt;mvexpand&lt;/A&gt; before filter or use &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/MultivalueEvalFunctions#mvfilter.28.26lt.3Bpredicate.26gt.3B.29" target="_blank" rel="noopener"&gt;mvfilter&lt;/A&gt;. &amp;nbsp;Using mvexpand is more traditional:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| spath path=target{}
| mvexpand target{}
| where json_extract('target{}', "type") == "Rule"
| eval displayName = json_extract(target, "displayName")&lt;/LI-CODE&gt;&lt;P&gt;Use of JSON functions above assumes that you use Splunk 8 or later, but the mvexpand method can still work without JSON functions; you just use another round of spath.&lt;/P&gt;&lt;P&gt;Using mvfilter, on the other hand, requires JSON functions first introduced in Splunk 8.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| spath path=target{}
| eval target = mvfilter(json_extract('target{}', "type") == "Rule")
| eval displayName = json_extract(target, "displayName")&lt;/LI-CODE&gt;&lt;P&gt;Hope this helps.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 04 Aug 2023 08:07:55 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/event-values-have-same-name/m-p/653174#M225717</guid>
      <dc:creator>yuanliu</dc:creator>
      <dc:date>2023-08-04T08:07:55Z</dc:date>
    </item>
  </channel>
</rss>

