<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How do I display values of two fields in a stacked column chart? in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430004#M122955</link>
    <description>&lt;P&gt;@russell120 please find below a sample dashboard based on cooked up data from sample you have provided. I have calculated Non Compliant IPs so that Stack represents Total IPs.&lt;/P&gt;

&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="alt text"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/5655i1132888315044B9B/image-size/large?v=v2&amp;amp;px=999" role="button" title="alt text" alt="alt text" /&gt;&lt;/span&gt;&lt;/P&gt;

&lt;P&gt;Following is the Simple XML Code for run anywhere dashboard with stack mode turned on and all data labels displayed i.e. &lt;CODE&gt;&amp;lt;option name="charting.chart.showDataLabels"&amp;gt;all&amp;lt;/option&amp;gt;&lt;/CODE&gt;&lt;BR /&gt;
PS: The SPL commands from &lt;CODE&gt;|makeresults&lt;/CODE&gt; till &lt;CODE&gt;| extract pairdelim="," kvdelim="="&lt;/CODE&gt; are used for generating sample data as per your requirement. You can use your original search instead.&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;&amp;lt;dashboard&amp;gt;
  &amp;lt;label&amp;gt;Stacked Column Chart&amp;lt;/label&amp;gt;
  &amp;lt;row&amp;gt;
    &amp;lt;panel&amp;gt;
      &amp;lt;chart&amp;gt;
        &amp;lt;search&amp;gt;
          &amp;lt;query&amp;gt;| makeresults
| fields - _time
| eval data="\"Control Name\"=\"AC-2.1\",\"Compliant IPs\"=22,\"Total IPs\"=187;\"Control Name\"=\"AC-2.3\",\"Compliant IPs\"=22,\"Total IPs\"=187;\"Control Name\"=\"AC-11\",\"Compliant IPs\"=81,\"Total IPs\"=146;\"Control Name\"=\"AU-2\",\"Compliant IPs\"=91,\"Total IPs\"=168;\"Control Name\"=\"AU-3\",\"Compliant IPs\"=1,\"Total IPs\"=184;\"Control Name\"=\"BU-3.1\",\"Compliant IPs\"=120,\"Total IPs\"=149;\"Control Name\"=\"BC-2.1\",\"Compliant IPs\"=22,\"Total IPs\"=187;\"Control Name\"=\"BC-2.3\",\"Compliant IPs\"=22,\"Total IPs\"=187;\"Control Name\"=\"BC-11\",\"Compliant IPs\"=81,\"Total IPs\"=146;\"Control Name\"=\"BU-2\",\"Compliant IPs\"=91,\"Total IPs\"=168;\"Control Name\"=\"BU-3\",\"Compliant IPs\"=1,\"Total IPs\"=184;\"Control Name\"=\"BU-3.1\",\"Compliant IPs\"=120,\"Total IPs\"=149;"
| makemv data delim=";"
| mvexpand data
| rename data as _raw
| extract pairdelim="," kvdelim="="
| eval NonCompliant_IPs=Total_IPs-Compliant_IPs
| stats last(Compliant_IPs) as Compliant_IPs last(NonCompliant_IPs) as NonCompliant_IPs by Control_Name&amp;lt;/query&amp;gt;
          &amp;lt;earliest&amp;gt;-24h@h&amp;lt;/earliest&amp;gt;
          &amp;lt;latest&amp;gt;now&amp;lt;/latest&amp;gt;
          &amp;lt;sampleRatio&amp;gt;1&amp;lt;/sampleRatio&amp;gt;
        &amp;lt;/search&amp;gt;
        &amp;lt;option name="charting.axisLabelsX.majorLabelStyle.overflowMode"&amp;gt;ellipsisNone&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisLabelsX.majorLabelStyle.rotation"&amp;gt;-90&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisTitleX.visibility"&amp;gt;visible&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisTitleY.visibility"&amp;gt;visible&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisTitleY2.visibility"&amp;gt;visible&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisX.abbreviation"&amp;gt;none&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisX.scale"&amp;gt;linear&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisY.abbreviation"&amp;gt;none&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisY.scale"&amp;gt;linear&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisY2.abbreviation"&amp;gt;none&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisY2.enabled"&amp;gt;0&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisY2.scale"&amp;gt;inherit&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart"&amp;gt;column&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.bubbleMaximumSize"&amp;gt;50&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.bubbleMinimumSize"&amp;gt;10&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.bubbleSizeBy"&amp;gt;area&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.nullValueMode"&amp;gt;gaps&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.showDataLabels"&amp;gt;all&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.sliceCollapsingThreshold"&amp;gt;0.01&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.stackMode"&amp;gt;stacked&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.style"&amp;gt;minimal&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.drilldown"&amp;gt;none&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.layout.splitSeries"&amp;gt;0&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.layout.splitSeries.allowIndependentYRanges"&amp;gt;0&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.legend.labelStyle.overflowMode"&amp;gt;ellipsisMiddle&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.legend.mode"&amp;gt;standard&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.legend.placement"&amp;gt;right&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.lineWidth"&amp;gt;2&amp;lt;/option&amp;gt;
        &amp;lt;option name="refresh.display"&amp;gt;progressbar&amp;lt;/option&amp;gt;
        &amp;lt;option name="trellis.enabled"&amp;gt;0&amp;lt;/option&amp;gt;
        &amp;lt;option name="trellis.scales.shared"&amp;gt;1&amp;lt;/option&amp;gt;
        &amp;lt;option name="trellis.size"&amp;gt;medium&amp;lt;/option&amp;gt;
      &amp;lt;/chart&amp;gt;
    &amp;lt;/panel&amp;gt;
  &amp;lt;/row&amp;gt;
&amp;lt;/dashboard&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 30 Aug 2018 13:49:35 GMT</pubDate>
    <dc:creator>niketn</dc:creator>
    <dc:date>2018-08-30T13:49:35Z</dc:date>
    <item>
      <title>How do I display values of two fields in a stacked column chart?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430001#M122952</link>
      <description>&lt;P&gt;My intent of this panel is to show the proportion of Compliant IPs (a field) to their respective Total IPs (another field).&lt;/P&gt;

&lt;P&gt;With the Visualization &amp;gt; Column Chart selected and the Format Visualization &amp;gt; Stacked Mode &amp;gt; Stack  selected this query returns the below chart:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;|inputlookup FakeData.csv
|inputlookup append=t FakeData2.csv 
|search System = $system$
|chart list("Compliant IPs") over "Control Number"
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="alt text"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/5657i9FB7D2CB9029BB3B/image-size/large?v=v2&amp;amp;px=999" role="button" title="alt text" alt="alt text" /&gt;&lt;/span&gt;&lt;/P&gt;

&lt;P&gt;For additional context, Compliant IPs and Total IPs are fields with integer values, and Control Number is a field with string values (despite the field name). What query do I need to display the values of Total IPs for each respective series/column over top the orange columns in the current chart?&lt;/P&gt;

&lt;P&gt;Side note: I'm unsure why the Control Number values do not show along the x-axis of this column chart. Perhaps because there are 40 values for Control Number. I'm currently unable to get them to appear.&lt;/P&gt;</description>
      <pubDate>Wed, 29 Aug 2018 14:23:33 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430001#M122952</guid>
      <dc:creator>russell120</dc:creator>
      <dc:date>2018-08-29T14:23:33Z</dc:date>
    </item>
    <item>
      <title>Re: How do I display values of two fields in a stacked column chart?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430002#M122953</link>
      <description>&lt;P&gt;@russell120 can you add some sample data for &lt;CODE&gt;Control Number&lt;/CODE&gt; and &lt;CODE&gt;Compliant IPs&lt;/CODE&gt;. Your current query does not have a mention of &lt;CODE&gt;Total IP&lt;/CODE&gt;. Please provide sample data/Field Name for that as well. Mock up/Anonymize any sensitive data.&lt;/P&gt;

&lt;P&gt;FYI, If your csv data has one to one mapping for &lt;CODE&gt;Compliant IPs&lt;/CODE&gt; and &lt;CODE&gt;Total IPs&lt;/CODE&gt; for each &lt;CODE&gt;Control Number&lt;/CODE&gt;, then &lt;CODE&gt;list()&lt;/CODE&gt; will work otherwise it will show multiple values which can not be plotted on chart.&lt;/P&gt;

&lt;P&gt;For rotating x-axis labels use the following Simple XML Chart configuration:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;    &amp;lt;option name="charting.axisLabelsX.majorLabelStyle.overflowMode"&amp;gt;ellipsisNone&amp;lt;/option&amp;gt;
    &amp;lt;option name="charting.axisLabelsX.majorLabelStyle.rotation"&amp;gt;-90&amp;lt;/option&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 29 Aug 2018 20:20:29 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430002#M122953</guid>
      <dc:creator>niketn</dc:creator>
      <dc:date>2018-08-29T20:20:29Z</dc:date>
    </item>
    <item>
      <title>Re: How do I display values of two fields in a stacked column chart?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430003#M122954</link>
      <description>&lt;P&gt;Sure, please view the anonymized table below here.&lt;/P&gt;

&lt;P&gt;&lt;A href="https://pasteboard.co/HBzluq1.png"&gt;https://pasteboard.co/HBzluq1.png&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Aug 2018 13:04:14 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430003#M122954</guid>
      <dc:creator>russell120</dc:creator>
      <dc:date>2018-08-30T13:04:14Z</dc:date>
    </item>
    <item>
      <title>Re: How do I display values of two fields in a stacked column chart?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430004#M122955</link>
      <description>&lt;P&gt;@russell120 please find below a sample dashboard based on cooked up data from sample you have provided. I have calculated Non Compliant IPs so that Stack represents Total IPs.&lt;/P&gt;

&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="alt text"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/5655i1132888315044B9B/image-size/large?v=v2&amp;amp;px=999" role="button" title="alt text" alt="alt text" /&gt;&lt;/span&gt;&lt;/P&gt;

&lt;P&gt;Following is the Simple XML Code for run anywhere dashboard with stack mode turned on and all data labels displayed i.e. &lt;CODE&gt;&amp;lt;option name="charting.chart.showDataLabels"&amp;gt;all&amp;lt;/option&amp;gt;&lt;/CODE&gt;&lt;BR /&gt;
PS: The SPL commands from &lt;CODE&gt;|makeresults&lt;/CODE&gt; till &lt;CODE&gt;| extract pairdelim="," kvdelim="="&lt;/CODE&gt; are used for generating sample data as per your requirement. You can use your original search instead.&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;&amp;lt;dashboard&amp;gt;
  &amp;lt;label&amp;gt;Stacked Column Chart&amp;lt;/label&amp;gt;
  &amp;lt;row&amp;gt;
    &amp;lt;panel&amp;gt;
      &amp;lt;chart&amp;gt;
        &amp;lt;search&amp;gt;
          &amp;lt;query&amp;gt;| makeresults
| fields - _time
| eval data="\"Control Name\"=\"AC-2.1\",\"Compliant IPs\"=22,\"Total IPs\"=187;\"Control Name\"=\"AC-2.3\",\"Compliant IPs\"=22,\"Total IPs\"=187;\"Control Name\"=\"AC-11\",\"Compliant IPs\"=81,\"Total IPs\"=146;\"Control Name\"=\"AU-2\",\"Compliant IPs\"=91,\"Total IPs\"=168;\"Control Name\"=\"AU-3\",\"Compliant IPs\"=1,\"Total IPs\"=184;\"Control Name\"=\"BU-3.1\",\"Compliant IPs\"=120,\"Total IPs\"=149;\"Control Name\"=\"BC-2.1\",\"Compliant IPs\"=22,\"Total IPs\"=187;\"Control Name\"=\"BC-2.3\",\"Compliant IPs\"=22,\"Total IPs\"=187;\"Control Name\"=\"BC-11\",\"Compliant IPs\"=81,\"Total IPs\"=146;\"Control Name\"=\"BU-2\",\"Compliant IPs\"=91,\"Total IPs\"=168;\"Control Name\"=\"BU-3\",\"Compliant IPs\"=1,\"Total IPs\"=184;\"Control Name\"=\"BU-3.1\",\"Compliant IPs\"=120,\"Total IPs\"=149;"
| makemv data delim=";"
| mvexpand data
| rename data as _raw
| extract pairdelim="," kvdelim="="
| eval NonCompliant_IPs=Total_IPs-Compliant_IPs
| stats last(Compliant_IPs) as Compliant_IPs last(NonCompliant_IPs) as NonCompliant_IPs by Control_Name&amp;lt;/query&amp;gt;
          &amp;lt;earliest&amp;gt;-24h@h&amp;lt;/earliest&amp;gt;
          &amp;lt;latest&amp;gt;now&amp;lt;/latest&amp;gt;
          &amp;lt;sampleRatio&amp;gt;1&amp;lt;/sampleRatio&amp;gt;
        &amp;lt;/search&amp;gt;
        &amp;lt;option name="charting.axisLabelsX.majorLabelStyle.overflowMode"&amp;gt;ellipsisNone&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisLabelsX.majorLabelStyle.rotation"&amp;gt;-90&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisTitleX.visibility"&amp;gt;visible&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisTitleY.visibility"&amp;gt;visible&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisTitleY2.visibility"&amp;gt;visible&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisX.abbreviation"&amp;gt;none&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisX.scale"&amp;gt;linear&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisY.abbreviation"&amp;gt;none&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisY.scale"&amp;gt;linear&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisY2.abbreviation"&amp;gt;none&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisY2.enabled"&amp;gt;0&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.axisY2.scale"&amp;gt;inherit&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart"&amp;gt;column&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.bubbleMaximumSize"&amp;gt;50&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.bubbleMinimumSize"&amp;gt;10&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.bubbleSizeBy"&amp;gt;area&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.nullValueMode"&amp;gt;gaps&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.showDataLabels"&amp;gt;all&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.sliceCollapsingThreshold"&amp;gt;0.01&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.stackMode"&amp;gt;stacked&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.chart.style"&amp;gt;minimal&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.drilldown"&amp;gt;none&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.layout.splitSeries"&amp;gt;0&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.layout.splitSeries.allowIndependentYRanges"&amp;gt;0&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.legend.labelStyle.overflowMode"&amp;gt;ellipsisMiddle&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.legend.mode"&amp;gt;standard&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.legend.placement"&amp;gt;right&amp;lt;/option&amp;gt;
        &amp;lt;option name="charting.lineWidth"&amp;gt;2&amp;lt;/option&amp;gt;
        &amp;lt;option name="refresh.display"&amp;gt;progressbar&amp;lt;/option&amp;gt;
        &amp;lt;option name="trellis.enabled"&amp;gt;0&amp;lt;/option&amp;gt;
        &amp;lt;option name="trellis.scales.shared"&amp;gt;1&amp;lt;/option&amp;gt;
        &amp;lt;option name="trellis.size"&amp;gt;medium&amp;lt;/option&amp;gt;
      &amp;lt;/chart&amp;gt;
    &amp;lt;/panel&amp;gt;
  &amp;lt;/row&amp;gt;
&amp;lt;/dashboard&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 30 Aug 2018 13:49:35 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430004#M122955</guid>
      <dc:creator>niketn</dc:creator>
      <dc:date>2018-08-30T13:49:35Z</dc:date>
    </item>
    <item>
      <title>Re: How do I display values of two fields in a stacked column chart?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430005#M122956</link>
      <description>&lt;P&gt;yeah just like &lt;a href="https://community.splunk.com/t5/user/viewprofilepage/user-id/201110"&gt;@niketn&lt;/a&gt; said...&lt;/P&gt;

&lt;P&gt;For me it even worked with just a table of those 3 fields (|table Control_Name, Compliant_IPs, Total_IPs), as long as Control_Name is unique, otherwise just use | stats sum(Compliant_IPs), sum(Noncompliant_IPs) by Control_Name. Noncompliant_IPs is ofc Total_IPs minus Compliant_IPs.&lt;/P&gt;

&lt;P&gt;and I would recommend to not use any spaces in field names.&lt;/P&gt;

&lt;P&gt;Try to use stack 100% to make it more visible, if it should only represent the percentage.&lt;/P&gt;</description>
      <pubDate>Tue, 29 Sep 2020 21:05:38 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430005#M122956</guid>
      <dc:creator>bgennerm</dc:creator>
      <dc:date>2020-09-29T21:05:38Z</dc:date>
    </item>
    <item>
      <title>Re: How do I display values of two fields in a stacked column chart?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430006#M122957</link>
      <description>&lt;P&gt;This works, thank you. I actually found the solution a little bit ago with some trial and error, but your answer provided additional insight into working with these column graphs. I appreciate it.&lt;/P&gt;</description>
      <pubDate>Thu, 30 Aug 2018 15:37:04 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-do-I-display-values-of-two-fields-in-a-stacked-column-chart/m-p/430006#M122957</guid>
      <dc:creator>russell120</dc:creator>
      <dc:date>2018-08-30T15:37:04Z</dc:date>
    </item>
  </channel>
</rss>

