Dashboards & Visualizations

Can you help me with a dashboard customization issue?

Contributor

I am trying to hide a 2nd panel unless there is a click on the 1st panel and which gives time range input. I am able to pass the early and latest tokens but I am unable to hide the 2nd panel. Here is the source I have, Please help.

<input type="time" token="field1">
  <label></label>
  <default>
    <earliest>-24h@h</earliest>
    <latest>now</latest>
  </default>
</input>
<panel>
  <chart>
    <title>Test1</title>
    <search>
      <query>host="My_host" TransactionId=TID*| eval Status=if(like(_raw, "%POSTING:SUCCEEDED%"), "2.Successful transactions" , "1.Rejected Transactions") | timechart count by Status
      <earliest>$field1.earliest$</earliest>
      <latest>$field1.latest$</latest>
    </search>
    <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
    <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
    <option name="charting.axisTitleX.visibility">visible</option>
    <option name="charting.axisTitleY.visibility">visible</option>
    <option name="charting.axisTitleY2.visibility">visible</option>
    <option name="charting.axisX.scale">linear</option>
    <option name="charting.axisY.scale">linear</option>
    <option name="charting.axisY2.enabled">0</option>
    <option name="charting.axisY2.scale">inherit</option>
    <option name="charting.chart">column</option>
    <option name="charting.chart.bubbleMaximumSize">50</option>
    <option name="charting.chart.bubbleMinimumSize">10</option>
    <option name="charting.chart.bubbleSizeBy">area</option>
    <option name="charting.chart.nullValueMode">gaps</option>
    <option name="charting.chart.showDataLabels">all</option>
    <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
    <option name="charting.chart.stackMode">stacked</option>
    <option name="charting.chart.style">shiny</option>
    <option name="charting.drilldown">all</option>
    <option name="charting.layout.splitSeries">0</option>
    <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
    <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
    <option name="charting.legend.placement">right</option>
    <drilldown>
      <!-- Use set to specify the new token to be created.
               Use any token from the page or from the click event to produce the value needed. -->
      <set token="click_earliest">$earliest$</set>
      <set token="click_latest">$latest$</set>
      <!-- If we also set the form.sourcetype the input will get updated too -->
    </drilldown>
  </chart>
</panel>
<panel ><chart>
    <title>Test Panel 2 </title>
    <search>
      <query>host="My_host" TransactionId=TID*  "processingStatusCode":"REJECTED"| rex field=_raw max_match=0 "errorCode\\\\\":\\\\\"(?<error_code>\d+)\\\\\"" | rex field=_raw max_match=0 "responseCode\":\"(?<response_code>\w+)" | eval error_code1 = if(isnotnull(error_code) AND error_code!="", error_code,response_code) | stats count by error_code1| lookup CSA_Error.csv CSA_Code as error_code1 OUTPUT Description | table Description count  | where Description!= " "
      <earliest>$click_earliest$</earliest>
      <latest>$click_latest$</latest>
    </search>
    <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
    <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
    <option name="charting.axisTitleX.visibility">visible</option>
    <option name="charting.axisTitleY.visibility">visible</option>
    <option name="charting.axisTitleY2.visibility">visible</option>
    <option name="charting.axisX.scale">linear</option>
    <option name="charting.axisY.scale">linear</option>
    <option name="charting.axisY2.enabled">0</option>
    <option name="charting.axisY2.scale">inherit</option>
    <option name="charting.chart">column</option>
    <option name="charting.chart.bubbleMaximumSize">50</option>
    <option name="charting.chart.bubbleMinimumSize">10</option>
    <option name="charting.chart.bubbleSizeBy">area</option>
    <option name="charting.chart.nullValueMode">gaps</option>
    <option name="charting.chart.showDataLabels">all</option>
    <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
    <option name="charting.chart.stackMode">default</option>
    <option name="charting.chart.style">shiny</option>
    <option name="charting.drilldown">none</option>
    <option name="charting.layout.splitSeries">0</option>
    <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
    <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
    <option name="charting.legend.placement">right</option>
  </chart>
</panel>
0 Karma
1 Solution

Influencer

Does this work for you ?

test_db2

 <earliest>-24h@h</earliest>
 <latest>now</latest>


 <condition>
   <unset token="click_earliest"></unset>
   <unset token="click_latest"></unset>
 </condition>






 <title>Test1</title>
 <search>
   <!--<query>host="My_host" TransactionId=TID*| eval Status=if(like(_raw, "%POSTING:SUCCEEDED%"), "2.Successful transactions" , "1.Rejected Transactions") | timechart count by Status</query>-->
   <query>index=eih_prod_summary source=fmac_jms*| timechart count by Success</query>
   <earliest>$field1.earliest$</earliest>
   <latest>$field1.latest$</latest>
 </search>
 <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
 <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
 <option name="charting.axisTitleX.visibility">visible</option>
 <option name="charting.axisTitleY.visibility">visible</option>
 <option name="charting.axisTitleY2.visibility">visible</option>
 <option name="charting.axisX.scale">linear</option>
 <option name="charting.axisY.scale">linear</option>
 <option name="charting.axisY2.enabled">0</option>
 <option name="charting.axisY2.scale">inherit</option>
 <option name="charting.chart">column</option>
 <option name="charting.chart.bubbleMaximumSize">50</option>
 <option name="charting.chart.bubbleMinimumSize">10</option>
 <option name="charting.chart.bubbleSizeBy">area</option>
 <option name="charting.chart.nullValueMode">gaps</option>
 <option name="charting.chart.showDataLabels">all</option>
 <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
 <option name="charting.chart.stackMode">stacked</option>
 <option name="charting.chart.style">shiny</option>
 <option name="charting.drilldown">all</option>
 <option name="charting.layout.splitSeries">0</option>
 <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
 <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
 <option name="charting.legend.placement">right</option>
 <drilldown>
   <!-- Use set to specify the new token to be created.
            Use any token from the page or from the click event to produce the value needed. -->
   <set token="click_earliest">$earliest$</set>
   <set token="click_latest">$latest$</set>
   <!-- If we also set the form.sourcetype the input will get updated too -->
 </drilldown>






 <title>Test Panel 2 </title>
 <search>
   <query>
     host="My_host" TransactionId=TID*  "processingStatusCode":"REJECTED"| rex field=_raw max_match=0 "errorCode\\\\\":\\\\\"(?&lt;error_code&gt;\d+)\\\\\"" | rex field=_raw max_match=0 "responseCode\":\"(?&lt;response_code&gt;\w+)" | eval error_code1 = if(isnotnull(error_code) AND error_code!="", error_code,response_code) | stats count by error_code1| lookup CSA_Error.csv CSA_Code as error_code1 OUTPUT Description | table Description count  | where Description!= " "</query>
   <earliest>$click_earliest$</earliest>
   <latest>$click_latest$</latest>
 </search>
 <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
 <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
 <option name="charting.axisTitleX.visibility">visible</option>
 <option name="charting.axisTitleY.visibility">visible</option>
 <option name="charting.axisTitleY2.visibility">visible</option>
 <option name="charting.axisX.scale">linear</option>
 <option name="charting.axisY.scale">linear</option>
 <option name="charting.axisY2.enabled">0</option>
 <option name="charting.axisY2.scale">inherit</option>
 <option name="charting.chart">column</option>
 <option name="charting.chart.bubbleMaximumSize">50</option>
 <option name="charting.chart.bubbleMinimumSize">10</option>
 <option name="charting.chart.bubbleSizeBy">area</option>
 <option name="charting.chart.nullValueMode">gaps</option>
 <option name="charting.chart.showDataLabels">all</option>
 <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
 <option name="charting.chart.stackMode">default</option>
 <option name="charting.chart.style">shiny</option>
 <option name="charting.drilldown">none</option>
 <option name="charting.layout.splitSeries">0</option>
 <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
 <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
 <option name="charting.legend.placement">right</option>

View solution in original post

0 Karma

Influencer

Does this work for you ?

test_db2

 <earliest>-24h@h</earliest>
 <latest>now</latest>


 <condition>
   <unset token="click_earliest"></unset>
   <unset token="click_latest"></unset>
 </condition>






 <title>Test1</title>
 <search>
   <!--<query>host="My_host" TransactionId=TID*| eval Status=if(like(_raw, "%POSTING:SUCCEEDED%"), "2.Successful transactions" , "1.Rejected Transactions") | timechart count by Status</query>-->
   <query>index=eih_prod_summary source=fmac_jms*| timechart count by Success</query>
   <earliest>$field1.earliest$</earliest>
   <latest>$field1.latest$</latest>
 </search>
 <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
 <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
 <option name="charting.axisTitleX.visibility">visible</option>
 <option name="charting.axisTitleY.visibility">visible</option>
 <option name="charting.axisTitleY2.visibility">visible</option>
 <option name="charting.axisX.scale">linear</option>
 <option name="charting.axisY.scale">linear</option>
 <option name="charting.axisY2.enabled">0</option>
 <option name="charting.axisY2.scale">inherit</option>
 <option name="charting.chart">column</option>
 <option name="charting.chart.bubbleMaximumSize">50</option>
 <option name="charting.chart.bubbleMinimumSize">10</option>
 <option name="charting.chart.bubbleSizeBy">area</option>
 <option name="charting.chart.nullValueMode">gaps</option>
 <option name="charting.chart.showDataLabels">all</option>
 <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
 <option name="charting.chart.stackMode">stacked</option>
 <option name="charting.chart.style">shiny</option>
 <option name="charting.drilldown">all</option>
 <option name="charting.layout.splitSeries">0</option>
 <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
 <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
 <option name="charting.legend.placement">right</option>
 <drilldown>
   <!-- Use set to specify the new token to be created.
            Use any token from the page or from the click event to produce the value needed. -->
   <set token="click_earliest">$earliest$</set>
   <set token="click_latest">$latest$</set>
   <!-- If we also set the form.sourcetype the input will get updated too -->
 </drilldown>






 <title>Test Panel 2 </title>
 <search>
   <query>
     host="My_host" TransactionId=TID*  "processingStatusCode":"REJECTED"| rex field=_raw max_match=0 "errorCode\\\\\":\\\\\"(?&lt;error_code&gt;\d+)\\\\\"" | rex field=_raw max_match=0 "responseCode\":\"(?&lt;response_code&gt;\w+)" | eval error_code1 = if(isnotnull(error_code) AND error_code!="", error_code,response_code) | stats count by error_code1| lookup CSA_Error.csv CSA_Code as error_code1 OUTPUT Description | table Description count  | where Description!= " "</query>
   <earliest>$click_earliest$</earliest>
   <latest>$click_latest$</latest>
 </search>
 <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
 <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
 <option name="charting.axisTitleX.visibility">visible</option>
 <option name="charting.axisTitleY.visibility">visible</option>
 <option name="charting.axisTitleY2.visibility">visible</option>
 <option name="charting.axisX.scale">linear</option>
 <option name="charting.axisY.scale">linear</option>
 <option name="charting.axisY2.enabled">0</option>
 <option name="charting.axisY2.scale">inherit</option>
 <option name="charting.chart">column</option>
 <option name="charting.chart.bubbleMaximumSize">50</option>
 <option name="charting.chart.bubbleMinimumSize">10</option>
 <option name="charting.chart.bubbleSizeBy">area</option>
 <option name="charting.chart.nullValueMode">gaps</option>
 <option name="charting.chart.showDataLabels">all</option>
 <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
 <option name="charting.chart.stackMode">default</option>
 <option name="charting.chart.style">shiny</option>
 <option name="charting.drilldown">none</option>
 <option name="charting.layout.splitSeries">0</option>
 <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
 <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
 <option name="charting.legend.placement">right</option>

View solution in original post

0 Karma

SplunkTrust
SplunkTrust

@Vijeta

Can you please update your answer with the original answer?

0 Karma

SplunkTrust
SplunkTrust

@sandeepmakkena

I didn't found any token $Test1$ declared or set in your dashboard. That's y it is not working.

<panel depends="$Test1$">open for click/hide<chart>

Either you set this token on click or use $click_earliest$ which is already set onclick,.

<panel depends="$click_earliest$">open for click/hide<chart>

0 Karma

Contributor

I am sorry test1 token is name of 1st panel, I am just test with some options so I missed it in the post.

0 Karma

SplunkTrust
SplunkTrust

Can you please update your question so we can start work on it?

0 Karma

Contributor

Kamlesh, I updated the code ( removed all the tokens I am not using). Thank you.

0 Karma

SplunkTrust
SplunkTrust

Glad to help you.

0 Karma

Contributor

Just updating you, The earliest and latest tokens are working find but, I want to hide the 2nd panel unless there is a click on 1st panel and hide 2nd panel when there is a change in shared time range picker. Thanks.

0 Karma

Influencer

second panel will have-

This will show the second panel only when token have values on click event. The token value will remain set unless you refresh the dashboard.
You need to unset the token value for
- same for latest token.

This unset needs to be done on your input for timepicker and also in . Let me know if you need help on coding it.

0 Karma

Contributor

Can you help me with the code please.

0 Karma

Influencer

test_db2

 <earliest>-24h@h</earliest>
 <latest>now</latest>


 <condition>
   <unset token="click_earliest"></unset>
   <unset token="click_latest"></unset>
 </condition>






 <title>Test1</title>
 <search>
  <query>host="My_host" TransactionId=TID*| eval Status=if(like(_raw, "%POSTING:SUCCEEDED%"), "2.Successful transactions" , "1.Rejected Transactions") | timechart count by Status</query>

   <earliest>$field1.earliest$</earliest>
   <latest>$field1.latest$</latest>
 </search>
 <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
 <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
 <option name="charting.axisTitleX.visibility">visible</option>
 <option name="charting.axisTitleY.visibility">visible</option>
 <option name="charting.axisTitleY2.visibility">visible</option>
 <option name="charting.axisX.scale">linear</option>
 <option name="charting.axisY.scale">linear</option>
 <option name="charting.axisY2.enabled">0</option>
 <option name="charting.axisY2.scale">inherit</option>
 <option name="charting.chart">column</option>
 <option name="charting.chart.bubbleMaximumSize">50</option>
 <option name="charting.chart.bubbleMinimumSize">10</option>
 <option name="charting.chart.bubbleSizeBy">area</option>
 <option name="charting.chart.nullValueMode">gaps</option>
 <option name="charting.chart.showDataLabels">all</option>
 <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
 <option name="charting.chart.stackMode">stacked</option>
 <option name="charting.chart.style">shiny</option>
 <option name="charting.drilldown">all</option>
 <option name="charting.layout.splitSeries">0</option>
 <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
 <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
 <option name="charting.legend.placement">right</option>
 <drilldown>
   <!-- Use set to specify the new token to be created.
            Use any token from the page or from the click event to produce the value needed. -->
   <set token="click_earliest">$earliest$</set>
   <set token="click_latest">$latest$</set>
   <!-- If we also set the form.sourcetype the input will get updated too -->
 </drilldown>






 <title>Test Panel 2 </title>
 <search>
   <query>
     host="My_host" TransactionId=TID*  "processingStatusCode":"REJECTED"| rex field=_raw max_match=0 "errorCode\\\\\":\\\\\"(?&lt;error_code&gt;\d+)\\\\\"" | rex field=_raw max_match=0 "responseCode\":\"(?&lt;response_code&gt;\w+)" | eval error_code1 = if(isnotnull(error_code) AND error_code!="", error_code,response_code) | stats count by error_code1| lookup CSA_Error.csv CSA_Code as error_code1 OUTPUT Description | table Description count  | where Description!= " "</query>
   <earliest>$click_earliest$</earliest>
   <latest>$click_latest$</latest>
 </search>
 <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
 <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
 <option name="charting.axisTitleX.visibility">visible</option>
 <option name="charting.axisTitleY.visibility">visible</option>
 <option name="charting.axisTitleY2.visibility">visible</option>
 <option name="charting.axisX.scale">linear</option>
 <option name="charting.axisY.scale">linear</option>
 <option name="charting.axisY2.enabled">0</option>
 <option name="charting.axisY2.scale">inherit</option>
 <option name="charting.chart">column</option>
 <option name="charting.chart.bubbleMaximumSize">50</option>
 <option name="charting.chart.bubbleMinimumSize">10</option>
 <option name="charting.chart.bubbleSizeBy">area</option>
 <option name="charting.chart.nullValueMode">gaps</option>
 <option name="charting.chart.showDataLabels">all</option>
 <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
 <option name="charting.chart.stackMode">default</option>
 <option name="charting.chart.style">shiny</option>
 <option name="charting.drilldown">none</option>
 <option name="charting.layout.splitSeries">0</option>
 <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
 <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
 <option name="charting.legend.placement">right</option>
0 Karma

Contributor

Thank you.

0 Karma