Dashboards & Visualizations

Pagenation to the Panel in a Single Dashboard.

dinesh001kumar
Engager

Hi Team,

In a Dashboard we have 30 Panels, i want to do the pagination, lets take under page i should view 5 Panels, Pls help how to proceed/query for that.

Below is the example, under 1st dot page I should view 5 panel, 2nd page should have 5 page so on.

dinesh001kumar_0-1723812625275.png

 

Labels (1)
0 Karma

bowesmana
SplunkTrust
SplunkTrust

I use the linked list input type to control sets of panels, something like this

      <input id="inventory_type" type="link" token="tok_category" searchWhenChanged="true">
        <choice value="host">Host</choice>
        <choice value="user">User</choice>
        <initialValue>host</initialValue>
        <change>
          <condition value="host">
            <set token="by_host"></set>
            <unset token="by_user"></unset>
          </condition>
          <condition value="user">
            <set token="by_user"></set>
            <unset token="by_host"></unset>
          </condition>
        </change>
      </input>

You can then have <row depends="$by_host$> and <row depends="$by_user$> to control which rows are shown.

If you want to have inline CSS to then tweak the buttons you can do it in the dashboard. See this app which has an example of how to customise the XML and tabs. 

https://splunkbase.splunk.com/app/5256

You can then get this type of display 

bowesmana_0-1724042495609.png

 

0 Karma

tscroggins
Influencer

Hi @dinesh001kumar,

In Simple XML and without resorting to custom HTML, CSS, and JavaScript in separate files, you can use a visualization to draw circles and drilldowns to control the visibility of rows or panels.

Here's an (ugly) example using six rows of five single value panels controlled by a separate table panel:

<dashboard version="1.1" theme="light">
  <label>pagination</label>
  <init>
    <set token="show_page_1_tok">1</set>
    <set token="page_1_tok">⬤</set>
    <unset token="show_page_2_tok"></unset>
    <set token="page_2_tok">◯</set>
    <unset token="show_page_3_tok"></unset>
    <set token="page_3_tok">◯</set>
    <unset token="show_page_4_tok"></unset>
    <set token="page_4_tok">◯</set>
    <unset token="show_page_5_tok"></unset>
    <set token="page_5_tok">◯</set>
    <unset token="show_page_6_tok"></unset>
    <set token="page_6_tok">◯</set>
  </init>
  <row depends="$show_page_1_tok$" rejects="$show_page_2_tok$,$show_page_3_tok$,$show_page_4_tok$,$show_page_5_tok$,$show_page_6_tok$">
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=1</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=1</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=1</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=1</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=1</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
  </row>
  <row depends="$show_page_2_tok$" rejects="$show_page_1_tok$,$show_page_3_tok$,$show_page_4_tok$,$show_page_5_tok$,$show_page_6_tok$">
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=2</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=2</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=2</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=2</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=2</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
  </row>
  <row depends="$show_page_3_tok$" rejects="$show_page_1_tok$,$show_page_2_tok$,$show_page_4_tok$,$show_page_5_tok$,$show_page_6_tok$">
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=3</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=3</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=3</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=3</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=3</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
  </row>
  <row depends="$show_page_4_tok$" rejects="$show_page_1_tok$,$show_page_2_tok$,$show_page_3_tok$,$show_page_5_tok$,$show_page_6_tok$">
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=4</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=4</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=4</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=4</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=4</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
  </row>
  <row depends="$show_page_5_tok$" rejects="$show_page_1_tok$,$show_page_2_tok$,$show_page_3_tok$,$show_page_4_tok$,$show_page_6_tok$">
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=5</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=5</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=5</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=5</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=5</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
  </row>
  <row depends="$show_page_6_tok$" rejects="$show_page_1_tok$,$show_page_2_tok$,$show_page_3_tok$,$show_page_4_tok$,$show_page_5_tok$">
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=6</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=6</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=6</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=6</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>| stats count | eval count=6</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
      </single>
    </panel>
  </row>
  <row>
    <panel>
      <html>
        <style>
          #page_table thead {
            visibility: collapse !important;
          }
        </style>
      </html>
      <table id="page_table">
        <search>
          <query>| makeresults
| fields - _time
| eval "Page 1"="$page_1_tok$", "Page 2"="$page_2_tok$", "Page 3"="$page_3_tok$", "Page 4"="$page_4_tok$", "Page 5"="$page_5_tok$", "Page 6"="$page_6_tok$"</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">cell</option>
        <option name="wrap">false</option>
        <drilldown>
          <condition field="Page 1">
            <set token="show_page_1_tok">1</set>
            <set token="page_1_tok">⬤</set>
            <unset token="show_page_2_tok"></unset>
            <set token="page_2_tok">◯</set>
            <unset token="show_page_3_tok"></unset>
            <set token="page_3_tok">◯</set>
            <unset token="show_page_4_tok"></unset>
            <set token="page_4_tok">◯</set>
            <unset token="show_page_5_tok"></unset>
            <set token="page_5_tok">◯</set>
            <unset token="show_page_6_tok"></unset>
            <set token="page_6_tok">◯</set>
          </condition>
          <condition field="Page 2">
            <unset token="show_page_1_tok"></unset>
            <set token="page_1_tok">◯</set>
            <set token="show_page_2_tok">1</set>
            <set token="page_2_tok">⬤</set>
            <unset token="show_page_3_tok"></unset>
            <set token="page_3_tok">◯</set>
            <unset token="show_page_4_tok"></unset>
            <set token="page_4_tok">◯</set>
            <unset token="show_page_5_tok"></unset>
            <set token="page_5_tok">◯</set>
            <unset token="show_page_6_tok"></unset>
            <set token="page_6_tok">◯</set>
          </condition>
          <condition field="Page 3">
            <unset token="show_page_1_tok"></unset>
            <set token="page_1_tok">◯</set>
            <unset token="show_page_2_tok"></unset>
            <set token="page_2_tok">◯</set>
            <set token="show_page_3_tok">1</set>
            <set token="page_3_tok">⬤</set>
            <unset token="show_page_4_tok"></unset>
            <set token="page_4_tok">◯</set>
            <unset token="show_page_5_tok"></unset>
            <set token="page_5_tok">◯</set>
            <unset token="show_page_6_tok"></unset>
            <set token="page_6_tok">◯</set>
          </condition>
          <condition field="Page 4">
            <unset token="show_page_1_tok"></unset>
            <set token="page_1_tok">◯</set>
            <unset token="show_page_2_tok"></unset>
            <set token="page_2_tok">◯</set>
            <unset token="show_page_3_tok"></unset>
            <set token="page_3_tok">◯</set>
            <set token="show_page_4_tok">1</set>
            <set token="page_4_tok">⬤</set>
            <unset token="show_page_5_tok"></unset>
            <set token="page_5_tok">◯</set>
            <unset token="show_page_6_tok"></unset>
            <set token="page_6_tok">◯</set>
          </condition>
          <condition field="Page 5">
            <unset token="show_page_1_tok"></unset>
            <set token="page_1_tok">◯</set>
            <unset token="show_page_2_tok"></unset>
            <set token="page_2_tok">◯</set>
            <unset token="show_page_3_tok"></unset>
            <set token="page_3_tok">◯</set>
            <unset token="show_page_4_tok"></unset>
            <set token="page_4_tok">◯</set>
            <set token="show_page_5_tok">1</set>
            <set token="page_5_tok">⬤</set>
            <unset token="show_page_6_tok"></unset>
            <set token="page_6_tok">◯</set>
          </condition>
          <condition field="Page 6">
            <unset token="show_page_1_tok"></unset>
            <set token="page_1_tok">◯</set>
            <unset token="show_page_2_tok"></unset>
            <set token="page_2_tok">◯</set>
            <unset token="show_page_3_tok"></unset>
            <set token="page_3_tok">◯</set>
            <unset token="show_page_4_tok"></unset>
            <set token="page_4_tok">◯</set>
            <unset token="show_page_5_tok"></unset>
            <set token="page_5_tok">◯</set>
            <set token="show_page_6_tok">1</set>
            <set token="page_6_tok">⬤</set>
          </condition>
        </drilldown>
      </table>
    </panel>
  </row>
</dashboard>

 

0 Karma

dinesh001kumar
Engager

Thanks for your response, is there any way we can have JSON pagination for Dashboard Panel since we do have panel in Studio Dashboard.

0 Karma
Get Updates on the Splunk Community!

Fun with Regular Expression - multiples of nine

Fun with Regular Expression - multiples of nineThis challenge was first posted on Slack #regex channel ...

[Live Demo] Watch SOC transformation in action with the reimagined Splunk Enterprise ...

Overwhelmed SOC? Splunk ES Has Your Back Tool sprawl, alert fatigue, and endless context switching are making ...

What’s New & Next in Splunk SOAR

Security teams today are dealing with more alerts, more tools, and more pressure than ever.  Join us on ...