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!

.conf25 technical session recap of Observability for Gen AI: Monitoring LLM ...

If you’re unfamiliar, .conf is Splunk’s premier event where the Splunk community, customers, partners, and ...

A Season of Skills: New Splunk Courses to Light Up Your Learning Journey

There’s something special about this time of year—maybe it’s the glow of the holidays, maybe it’s the ...

Announcing the Migration of the Splunk Add-on for Microsoft Azure Inputs to ...

Announcing the Migration of the Splunk Add-on for Microsoft Azure Inputs to Officially Supported Splunk ...