<?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: Nested eval command in search in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355937#M105310</link>
    <description>&lt;P&gt;HI&lt;/P&gt;

&lt;P&gt;I have created Sample dashboard for you which will resolve "Waiting For input" issue.&lt;/P&gt;

&lt;P&gt;Here I have used sample data and searches.  Here, I don't much information about your dashboard So I use Dropdown for &lt;CODE&gt;Log_or_live&lt;/CODE&gt; token and text box for &lt;CODE&gt;mlc_log_start_time&lt;/CODE&gt; token.&lt;/P&gt;

&lt;P&gt;XML&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;&amp;lt;form script="my.js"&amp;gt;
  &amp;lt;label&amp;gt;Dashboard Dynamic Token&amp;lt;/label&amp;gt;
  &amp;lt;fieldset submitButton="false"&amp;gt;
    &amp;lt;input type="dropdown" token="tkn_Log_or_live" id="tkn_Log_or_live_id"&amp;gt;
      &amp;lt;label&amp;gt;Log_or_live&amp;lt;/label&amp;gt;
      &amp;lt;choice value="Log"&amp;gt;Log&amp;lt;/choice&amp;gt;
      &amp;lt;choice value="Live"&amp;gt;Live&amp;lt;/choice&amp;gt;
    &amp;lt;/input&amp;gt;
    &amp;lt;input type="text" token="tkn_mlc_log_start_time" id="tkn_mlc_log_start_time_id"&amp;gt;
      &amp;lt;label&amp;gt;mlc_log_start_time&amp;lt;/label&amp;gt;
    &amp;lt;/input&amp;gt;
  &amp;lt;/fieldset&amp;gt;
  &amp;lt;row&amp;gt;
    &amp;lt;panel&amp;gt;
      &amp;lt;table&amp;gt;
        &amp;lt;title&amp;gt;
          $Log_or_live$
        &amp;lt;/title&amp;gt;
        &amp;lt;search&amp;gt;
          &amp;lt;query&amp;gt;| makeresults  | eval Log_or_live="$Log_or_live$",mlc_log_start_time=tonumber("$mlc_log_start_time$") , _time=case(isnotnull(GC_TIMESTAMP),GC_TIMESTAMP,Log_or_live=="Log",mlc_log_start_time + relative_time,1=1,_time)&amp;lt;/query&amp;gt;
          &amp;lt;earliest&amp;gt;-15m&amp;lt;/earliest&amp;gt;
          &amp;lt;latest&amp;gt;now&amp;lt;/latest&amp;gt;
        &amp;lt;/search&amp;gt;
        &amp;lt;option name="drilldown"&amp;gt;none&amp;lt;/option&amp;gt;
      &amp;lt;/table&amp;gt;
    &amp;lt;/panel&amp;gt;
  &amp;lt;/row&amp;gt;
&amp;lt;/form&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;my.js&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;require([
     'underscore',
     'jquery',
     'splunkjs/mvc',
     'splunkjs/mvc/tableview',
     'splunkjs/mvc/simplexml/ready!'
 ], function(_, $, mvc, TableView) {
     // Access the "default" token model
     var defaultTokenModel = mvc.Components.get('default');
     var submittedTokens = mvc.Components.get('submitted');


    var tkn_Log_or_live_id = mvc.Components.get('tkn_Log_or_live_id');
    var tkn_mlc_log_start_time_id = mvc.Components.get('tkn_mlc_log_start_time_id');

    tkn_Log_or_live_id.on('change', function(value) 
    {
      console.log("tkn_Log_or_live_id",value)
      if(value!=undefined &amp;amp;&amp;amp; value!="")
      {
        defaultTokenModel.set("Log_or_live", value);
      }
      else {
        defaultTokenModel.set("Log_or_live", "NoValue");
      }
      submittedTokens.set(defaultTokenModel.toJSON());
    });

    tkn_mlc_log_start_time_id.on('change', function(value)  {
      console.log("tkn_mlc_log_start_time_id",value)
      if(value!=undefined &amp;amp;&amp;amp; value!="")
      {
        defaultTokenModel.set("mlc_log_start_time", value);
      }
      else {
        defaultTokenModel.set("mlc_log_start_time", 0);
      }
      submittedTokens.set(defaultTokenModel.toJSON());

    });

    defaultTokenModel.set("Log_or_live", "NoValue");
    defaultTokenModel.set("mlc_log_start_time", 0);
    submittedTokens.set(defaultTokenModel.toJSON());


 });
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 09 Nov 2017 08:29:13 GMT</pubDate>
    <dc:creator>kamlesh_vaghela</dc:creator>
    <dc:date>2017-11-09T08:29:13Z</dc:date>
    <item>
      <title>Nested eval command in search</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355932#M105305</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I have to use nested eval  command in my search query.&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;Requirement:&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;if isnotnull(GC_TIMESTAMP) then
set _time = GC_TIMESTAMP
else if ($Log_or_live$=="Log")
set _time = $mlc_log_start_time$ + relative_time
else
set _time = _time
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;I tried to make it working but its malformed. Please help to correct syntax.&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;eval _time=if(isnotnull(GC_TIMESTAMP),GC_TIMESTAMP,(if($Log_or_live$=="Log"),$mlc_log_start_time$ + relative_time,_time)))
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 08 Nov 2017 15:53:01 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355932#M105305</guid>
      <dc:creator>AKG1_old1</dc:creator>
      <dc:date>2017-11-08T15:53:01Z</dc:date>
    </item>
    <item>
      <title>Re: Nested eval command in search</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355933#M105306</link>
      <description>&lt;P&gt;We have &lt;CODE&gt;case&lt;/CODE&gt; function for that.&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;...| eval _time=case(isnotnull(GC_TIMESTAMP),GC_TIMESTAMP, "$Log_or_live$"=="Log",$mlc_log_start_time$ + relative_time,1=1,_time)
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 08 Nov 2017 15:58:52 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355933#M105306</guid>
      <dc:creator>somesoni2</dc:creator>
      <dc:date>2017-11-08T15:58:52Z</dc:date>
    </item>
    <item>
      <title>Re: Nested eval command in search</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355934#M105307</link>
      <description>&lt;P&gt;Hi &lt;BR /&gt;
Can you please try this one??&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;| eval Log_or_live="$Log_or_live$",mlc_log_start_time=tonumber("$mlc_log_start_time$") , _time=case(isnotnull(GC_TIMESTAMP),GC_TIMESTAMP,Log_or_live=="Log",mlc_log_start_time + relative_time,1=1,_time)
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;I have kept token value in the field and used in &lt;CODE&gt;case&lt;/CODE&gt;.&lt;/P&gt;

&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Wed, 08 Nov 2017 16:02:41 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355934#M105307</guid>
      <dc:creator>kamlesh_vaghela</dc:creator>
      <dc:date>2017-11-08T16:02:41Z</dc:date>
    </item>
    <item>
      <title>Re: Nested eval command in search</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355935#M105308</link>
      <description>&lt;P&gt;Thank you. its working fine with one exception. if  value  of $Log_or_live$ or $mlc_log_start_time$ is not set query is waiting for input. even if   &lt;STRONG&gt;case(isnotnull(GC_TIMESTAMP&lt;/STRONG&gt; is true.&lt;/P&gt;

&lt;P&gt;Is it possible to execute query if some token is not set in search query ?&lt;/P&gt;</description>
      <pubDate>Tue, 29 Sep 2020 16:39:28 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355935#M105308</guid>
      <dc:creator>AKG1_old1</dc:creator>
      <dc:date>2020-09-29T16:39:28Z</dc:date>
    </item>
    <item>
      <title>Re: Nested eval command in search</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355936#M105309</link>
      <description>&lt;P&gt;Nopes. If a token is used in the search, it should be set in order to run the search. How are you populating those tokens? May be you can set some default values for them?&lt;/P&gt;</description>
      <pubDate>Thu, 09 Nov 2017 03:02:19 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355936#M105309</guid>
      <dc:creator>somesoni2</dc:creator>
      <dc:date>2017-11-09T03:02:19Z</dc:date>
    </item>
    <item>
      <title>Re: Nested eval command in search</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355937#M105310</link>
      <description>&lt;P&gt;HI&lt;/P&gt;

&lt;P&gt;I have created Sample dashboard for you which will resolve "Waiting For input" issue.&lt;/P&gt;

&lt;P&gt;Here I have used sample data and searches.  Here, I don't much information about your dashboard So I use Dropdown for &lt;CODE&gt;Log_or_live&lt;/CODE&gt; token and text box for &lt;CODE&gt;mlc_log_start_time&lt;/CODE&gt; token.&lt;/P&gt;

&lt;P&gt;XML&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;&amp;lt;form script="my.js"&amp;gt;
  &amp;lt;label&amp;gt;Dashboard Dynamic Token&amp;lt;/label&amp;gt;
  &amp;lt;fieldset submitButton="false"&amp;gt;
    &amp;lt;input type="dropdown" token="tkn_Log_or_live" id="tkn_Log_or_live_id"&amp;gt;
      &amp;lt;label&amp;gt;Log_or_live&amp;lt;/label&amp;gt;
      &amp;lt;choice value="Log"&amp;gt;Log&amp;lt;/choice&amp;gt;
      &amp;lt;choice value="Live"&amp;gt;Live&amp;lt;/choice&amp;gt;
    &amp;lt;/input&amp;gt;
    &amp;lt;input type="text" token="tkn_mlc_log_start_time" id="tkn_mlc_log_start_time_id"&amp;gt;
      &amp;lt;label&amp;gt;mlc_log_start_time&amp;lt;/label&amp;gt;
    &amp;lt;/input&amp;gt;
  &amp;lt;/fieldset&amp;gt;
  &amp;lt;row&amp;gt;
    &amp;lt;panel&amp;gt;
      &amp;lt;table&amp;gt;
        &amp;lt;title&amp;gt;
          $Log_or_live$
        &amp;lt;/title&amp;gt;
        &amp;lt;search&amp;gt;
          &amp;lt;query&amp;gt;| makeresults  | eval Log_or_live="$Log_or_live$",mlc_log_start_time=tonumber("$mlc_log_start_time$") , _time=case(isnotnull(GC_TIMESTAMP),GC_TIMESTAMP,Log_or_live=="Log",mlc_log_start_time + relative_time,1=1,_time)&amp;lt;/query&amp;gt;
          &amp;lt;earliest&amp;gt;-15m&amp;lt;/earliest&amp;gt;
          &amp;lt;latest&amp;gt;now&amp;lt;/latest&amp;gt;
        &amp;lt;/search&amp;gt;
        &amp;lt;option name="drilldown"&amp;gt;none&amp;lt;/option&amp;gt;
      &amp;lt;/table&amp;gt;
    &amp;lt;/panel&amp;gt;
  &amp;lt;/row&amp;gt;
&amp;lt;/form&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;my.js&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;require([
     'underscore',
     'jquery',
     'splunkjs/mvc',
     'splunkjs/mvc/tableview',
     'splunkjs/mvc/simplexml/ready!'
 ], function(_, $, mvc, TableView) {
     // Access the "default" token model
     var defaultTokenModel = mvc.Components.get('default');
     var submittedTokens = mvc.Components.get('submitted');


    var tkn_Log_or_live_id = mvc.Components.get('tkn_Log_or_live_id');
    var tkn_mlc_log_start_time_id = mvc.Components.get('tkn_mlc_log_start_time_id');

    tkn_Log_or_live_id.on('change', function(value) 
    {
      console.log("tkn_Log_or_live_id",value)
      if(value!=undefined &amp;amp;&amp;amp; value!="")
      {
        defaultTokenModel.set("Log_or_live", value);
      }
      else {
        defaultTokenModel.set("Log_or_live", "NoValue");
      }
      submittedTokens.set(defaultTokenModel.toJSON());
    });

    tkn_mlc_log_start_time_id.on('change', function(value)  {
      console.log("tkn_mlc_log_start_time_id",value)
      if(value!=undefined &amp;amp;&amp;amp; value!="")
      {
        defaultTokenModel.set("mlc_log_start_time", value);
      }
      else {
        defaultTokenModel.set("mlc_log_start_time", 0);
      }
      submittedTokens.set(defaultTokenModel.toJSON());

    });

    defaultTokenModel.set("Log_or_live", "NoValue");
    defaultTokenModel.set("mlc_log_start_time", 0);
    submittedTokens.set(defaultTokenModel.toJSON());


 });
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 09 Nov 2017 08:29:13 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355937#M105310</guid>
      <dc:creator>kamlesh_vaghela</dc:creator>
      <dc:date>2017-11-09T08:29:13Z</dc:date>
    </item>
    <item>
      <title>Re: Nested eval command in search</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355938#M105311</link>
      <description>&lt;P&gt;I tried that but setting default value for $mlc_log_start_time$ will drive my dashboard twice in case when its value is needed. my dashboard depends on value of this token.&lt;/P&gt;

&lt;P&gt;Say I set its value 0 by default. then it generate my dashboard and when its actual value is set it redrive dashboard again. &lt;/P&gt;

&lt;P&gt;PS: It take time to set the value of  $mlc_log_start_time$ as its drived from another query which is not very fast.&lt;/P&gt;</description>
      <pubDate>Tue, 29 Sep 2020 16:39:52 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355938#M105311</guid>
      <dc:creator>AKG1_old1</dc:creator>
      <dc:date>2020-09-29T16:39:52Z</dc:date>
    </item>
    <item>
      <title>Re: Nested eval command in search</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355939#M105312</link>
      <description>&lt;P&gt;sorry, I missed your answer earlier.  Thanks for help. I am not willing to use java script on my dashboard as its already too complex and we use to make changes very frequently so its difficult to maintain. Anyway, Thank you so much for your suggestions.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Nov 2017 09:42:10 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355939#M105312</guid>
      <dc:creator>AKG1_old1</dc:creator>
      <dc:date>2017-11-09T09:42:10Z</dc:date>
    </item>
    <item>
      <title>Re: Nested eval command in search</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355940#M105313</link>
      <description>&lt;P&gt;@agoyal, you use &lt;CODE&gt;depends&lt;/CODE&gt; attribute with the two tokens for the panel where the tokens are supposed to be used. That way the panel will not display until value is set. On top of depends you can also use &lt;CODE&gt;rejects&lt;/CODE&gt; attribute to show some HTML content when the token is not set.&lt;/P&gt;

&lt;P&gt;You can check out the &lt;CODE&gt;Null Search Swapper&lt;/CODE&gt; example in &lt;CODE&gt;Splunk Dashboard Examples&lt;/CODE&gt; app for &lt;CODE&gt;depends&lt;/CODE&gt; and &lt;CODE&gt;rejects&lt;/CODE&gt; to work. Following is an example:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;&amp;lt;panel depends="$Log_or_live$,$mlc_log_start_time$"&amp;gt;
   .... 
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 09 Nov 2017 09:48:39 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355940#M105313</guid>
      <dc:creator>niketn</dc:creator>
      <dc:date>2017-11-09T09:48:39Z</dc:date>
    </item>
    <item>
      <title>Re: Nested eval command in search</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355941#M105314</link>
      <description>&lt;P&gt;Please select an answer to your question.&lt;/P&gt;</description>
      <pubDate>Fri, 01 Mar 2019 19:39:50 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Nested-eval-command-in-search/m-p/355941#M105314</guid>
      <dc:creator>ryhluc01</dc:creator>
      <dc:date>2019-03-01T19:39:50Z</dc:date>
    </item>
  </channel>
</rss>

