Dashboards & Visualizations

Help with tokenization and conditions - Dashboard with tabs and sub tabs

caarroniz
Engager

Hello Everyone, Good Evening and Happy Holidays!

I have a tricky question (I think it is kind of tricky) about tokenization.

I am working on a dashboard that has Tabs and each tab has subtabs, the problem comes with the conditions and how the dashboard is running, somehow the tokens are not following the conditions.

What I mean with this is that the default choices are running their queries even when the selected tab is a different one.

i.e: My default tab is "Tab 1" and it defaults to "Tab 1 - Sub Tab 1" but "Tab 2" & "Tab 2 Sub Tab 1" and "Tab 3" & "Tab 3 Sub Tab 1" are running their queries when the panels are not visible.

Here's a snippet of my xml:

 

<form>
  <label>SODVAL - Zero MI Validation</label>
  <fieldset submitButton="false">
    <input id="major_tabs" type="link" token="major_tabs">
      <label>Choose a view</label>
      <choice value="tab_1">Tab 1</choice>
      <choice value="tab_2">Tab 2</choice>
      <choice value="tab_3">Tab 3</choice>
      <default>tab_1</default>
      <change>
        <condition value="tab_1">
          <set token="tab_1">true</set>
          <unset token="tab_2"></unset>
          <unset token="tab_3"></unset>
        </condition>
        <condition value="tab_2">
          <set token="tab_2">true</set>
          <unset token="tab_1"></unset>
          <unset token="tab_3"></unset>
        </condition>
        <condition value="tab_3">
          <set token="tab_3">true</set>
          <unset token="tab_2"></unset>
          <unset token="tab_1"></unset>
        </condition>
      </change>
    </input>
  </fieldset>
  <row depends="$tab_1$">
    <panel>
      <input id="tab1_subtabs" type="link" token="tab1_subtabs">
        <choice value="tab1_subTab_1">Tab 1</choice>
        <choice value="tab1_subTab_2">Tab 2</choice>
        <choice value="tab1_subTab_3">Tab 3</choice>
        <default>tab1_subTab_1</default>
        <change>
          <condition value="tab1_subTab_1">
            <set token="tab1_subTab_1">true</set>
            <unset token="tab1_subTab_2"></unset>
            <unset token="tab1_subTab_3"></unset>
          </condition>
          <condition value="tab1_subTab_2">
            <set token="tab1_subTab_2">true</set>
            <unset token="tab1_subTab_1"></unset>
            <unset token="tab1_subTab_3"></unset>
          </condition>
          <condition value="tab1_subTab_3">
            <set token="tab1_subTab_3">true</set>
            <unset token="tab1_subTab_2"></unset>
            <unset token="tab1_subTab_1"></unset>
          </condition>
        </change>
      </input>
      <chart depends="$tab1_subTab_1$">
        <search depends="$tab1_subTab_1$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab1_subTab_1$">
        <search depends="$tab1_subTab_1$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab1_subTab_2$">
        <search depends="$tab1_subTab_2$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab1_subTab_2$">
        <search depends="$tab1_subTab_2$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab1_subTab_3$">
        <search depends="$tab1_subTab_3$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab1_subTab_3$">
        <search depends="$tab1_subTab_3$">
          <query> *some query* </query>
        </search>
      </chart>
    </panel>
  </row>
  <row depends="$tab_2$">
    <panel>
      <input id="tab2_subtabs" type="link" token="tab2_subtabs">
        <choice value="tab2_subTab_1">Tab 1</choice>
        <choice value="tab2_subTab_2">Tab 2</choice>
        <choice value="tab2_subTab_3">Tab 3</choice>
        <default>tab2_subTab_1</default>
        <change>
          <condition value="tab2_subTab_1">
            <set token="tab2_subTab_1">true</set>
            <unset token="tab2_subTab_2"></unset>
            <unset token="tab2_subTab_3"></unset>
          </condition>
          <condition value="subTab_2">
            <set token="subTab_2">true</set>
            <unset token="subTab_1"></unset>
            <unset token="subTab_3"></unset>
          </condition>
          <condition value="tab2_subTab_3">
            <set token="tab2_subTab_3">true</set>
            <unset token="tab2_subTab_2"></unset>
            <unset token="tab2_subTab_1"></unset>
          </condition>
        </change>
      </input>
      <chart depends="$tab2_subTab_1$">
        <search depends="$tab2_subTab_1$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab2_subTab_1$">
        <search depends="$tab2_subTab_1$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab2_subTab_2$">
        <search depends="$tab2_subTab_2$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab2_subTab_2$">
        <search depends="$tab2_subTab_2$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab2_subTab_3$">
        <search depends="$tab2_subTab_3$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab2_subTab_3$">
        <search depends="$tab2_subTab_3$">
          <query> *some query* </query>
        </search>
      </chart>
    </panel>
  </row>
  <row depends="$tab_3$">
    <panel>
      <input id="tab3_subtabs" type="link" token="tab3_subtabs">
        <label>tab3_subtabs</label>
        <choice value="tab3_subTab_1">Tab 1</choice>
        <choice value="tab3_subTab_2">Tab 2</choice>
        <choice value="tab3_subTab_3">Tab 3</choice>
        <default>tab3_subTab_1</default>
        <change>
          <condition value="tab3_subTab_1">
            <set token="tab3_subTab_1">true</set>
            <unset token="tab3_subTab_2"></unset>
            <unset token="tab3_subTab_3"></unset>
          </condition>
          <condition value="tab3_subTab_2">
            <set token="tab3_subTab_2">true</set>
            <unset token="tab3_subTab_1"></unset>
            <unset token="tab3_subTab_3"></unset>
          </condition>
          <condition value="tab3_tab2_subTab_3">
            <set token="tab3_tab2_subTab_3">true</set>
            <unset token="tab3_tab2_subTab_2"></unset>
            <unset token="tab3_tab2_subTab_1"></unset>
          </condition>
        </change>
      </input>
      <chart depends="$tab3__subTab_1$">
        <search depends="$tab3__subTab_1$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab3__subTab_1$">
        <search depends="$tab3__subTab_1$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab3__subTab_2$">
        <search depends="$tab3__subTab_2$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab3__subTab_2$">
        <search depends="$tab3__subTab_2$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab3__subTab_3$">
        <search depends="$tab3__subTab_3$">
          <query> *some query* </query>
        </search>
      </chart>
      <chart depends="$tab3__subTab_3$">
        <search depends="$tab3__subTab_3$">
          <query> *some query* </query>
        </search>
      </chart>
    </panel>
  </row>
</form>

 

My question is: Am I doing something wrong? and Is there a way to check or avoid this behavior? 

Note: My actual dashboard has more code and queries but is basically the same structure, This snippet is replicating the issue.

Note 2: Sometimes one or two of the panels don't even load. 😞

I appreciate all your help, Thanks in advance! 

Labels (4)
Tags (1)
0 Karma

aohls
Contributor

You might need to define searchWhenChanged in your input. 

<input id="major_tabs" type="link" token="major_tabs" searchWhenChanged="true">

 

caarroniz
Engager

I have tried that and it is still running all the defaults at the same time, not sure if it is related to my tokenization but I've tried everything my head can elaborate and it's still the same

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Index This | What travels the world but is also stuck in place?

April 2026 Edition  Hayyy Splunk Education Enthusiasts and the Eternally Curious!   We’re back with this ...

Discover New Use Cases: Unlock Greater Value from Your Existing Splunk Data

Realizing the full potential of your Splunk investment requires more than just understanding current usage; it ...

Continue Your Journey: Join Session 2 of the Data Management and Federation Bootcamp ...

As data volumes continue to grow and environments become more distributed, managing and optimizing data ...