Dashboards & Visualizations

How to color a table column based on values selected from radio buttons

anooshac
Communicator

Hi All,

I have a dashboard which has 3 radio buttons both,TypeA and TypeB. Also i have a table. The requirement is that, if i select both or TypeA in radio buttons, columnA and columnB in the table should be highlighted. If i select the TypeB, only columnA should be highlighted. How can i achieve this?

I have tried using color palette expression like below. But no luck. Anyone have solution for this?


<format type="color" field="columnA">
<colorPalette type="list">["#00FFFF"]</colorPalette>
</format>

<format type="color" field="columnB">
<colorPalette type="expression">if(match(Type,"TypeB")," ", "#00FFFF")</colorPalette>
</format>

Labels (1)
0 Karma

danspav
SplunkTrust
SplunkTrust

Hi @anooshac,

You were probably really close to the solution for this - but it looks like using tokens to set the colour on tables only works before the table has loaded. The only workaround out I found was to re-run the search each time you select a new radio button.

Here's a working version for you to build from.

The radio buttons set the type:
Both and Type A => Highlight Columns A and B
Type B => Highlight Column B

The table has a format for ColumnA and ColumnB that looks for the right Type in the token:

<format type="color" field="ColumnB">
<colorPalette type="expression">if(match($field_to_highlight|s$,".*TypeB.*"),"#FF0000", "")</colorPalette>
</format>

To make the dashboard redraw with the right columns highlighted, I added this to the query:

``` $field_to_highlight$ ```

That won't do anything to the search results, but will force the search to be run again.


Here is a working dashboard:

<form version="1.1" theme="dark">
  <label>Answers for anooshac</label>
  <fieldset submitButton="false">
    <input type="radio" token="field_to_highlight" searchWhenChanged="true">
      <label>Option</label>
      <choice value="TypeA__TypeB">Both</choice>
      <choice value="TypeA_TypeB">Type A</choice>
      <choice value="TypeB">Type B</choice>
      <default>TypeATypeB</default>
    </input>
  </fieldset>
  <row>
    <panel>
      <table>
        <title>Content</title>
        <search>
          <query>| gentimes start=-20
| eval type=if(random()%2==0,"Type A","Type B")
| appendcols[|windbag]
| fields starttime, endtime, sample, lang, type
| rename starttime as "ColumnA", endtime as "ColumnB"
| head 20 ``` $field_to_highlight$```</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
        </search>
        <option name="drilldown">none</option>
       <format type="color" field="ColumnA">
          <colorPalette type="expression">if(match($field_to_highlight|s$,".*TypeA.*"),"#FF0000", "")</colorPalette>
      </format>
        <format type="color" field="ColumnB">
          <colorPalette type="expression">if(match($field_to_highlight|s$,".*TypeB.*"),"#FF0000", "")</colorPalette>
        </format>
      </table>
    </panel>
  </row>
</form>

 

Hopefully that's close to what you were after.

Get Updates on the Splunk Community!

Enter the Agentic Era with Splunk AI Assistant for SPL 1.4

  &#x1f680; Your data just got a serious AI upgrade — are you ready? Say hello to the Agentic Era with the ...

Stronger Security with Federated Search for S3, GCP SQL & Australian Threat ...

Splunk Lantern is a Splunk customer success center that provides advice from Splunk experts on valuable data ...

Accelerating Observability as Code with the Splunk AI Assistant

We’ve seen in previous posts what Observability as Code (OaC) is and how it’s now essential for managing ...