Thanks arjunpkishore5. Yeah good point. The question is complicated to explain, so I've posted the entire XML below.
The dashboard has 12 inputs (4 with dynamically updating dropdowns), so to help with performance I have a scheduled report appending data to a CSV file, which is what the dashboard reads.
The dedup dropdown/token is set between lines 152-158, and I would have thought that the dedup (or not) should happen after the search on line 180 but before the chart on line 182?
<form theme="light">
<label>Batch Alerts By Source</label>
<search>
<query>
| makeresults
</query>
<earliest>$timeToken.earliest$</earliest>
<latest>$timeToken.latest$</latest>
<progress>
<eval token="toearliest">strptime($job.earliestTime$,"%Y-%m-%dT%H:%M:%S.%3N%z")</eval>
<eval token="tolatest">strptime($job.latestTime$,"%Y-%m-%dT%H:%M:%S.%3N%z")</eval>
<set token="jobearliest">$job.earliestTime$</set>
<set token="joblatest">$job.latestTime$</set>
<unset token="showTokens">"x"</unset>
</progress>
</search>
<fieldset autoRun="true" submitButton="false">
<input type="time" token="timeToken" searchWhenChanged="true">
<label>Date Picker</label>
<default>
<earliest>-30d@d</earliest>
<latest>now</latest>
</default>
</input>
<input type="multiselect" token="sourceToken" searchWhenChanged="true">
<label>Source</label>
<choice value="ctmsd">ctmsd</choice>
<choice value="ctmsq">ctmsq</choice>
<choice value="ctmsp">ctmsp</choice>
<choice value="MVSDEV">MVSDEV</choice>
<choice value="MVSOAT">MVSOAT</choice>
<choice value="MVSPROD">MVSPROD</choice>
<initialValue>ctmsp,MVSPROD</initialValue>
<delimiter> ,</delimiter>
<prefix>IN(</prefix>
<suffix>)</suffix>
</input>
<input type="dropdown" token="nodeToken" searchWhenChanged="true">
<label>Node ID</label>
<choice value="*">All</choice>
<default>*</default>
<fieldForLabel>Nodeid</fieldForLabel>
<fieldForValue>Nodeid</fieldForValue>
<search>
<query>
| inputlookup alerts_CTM_all_added_fields.csv
| eval earliest=$toearliest$
| eval latest=if($tolatest$<=0,now(),$tolatest$)
| where eTime >= earliest AND eTime <= latest
| search Source $sourceToken$ Application="$appToken$" Group="$groupToken$" Memname="*$jobToken$*" Message="*$messageToken$*" Cause $causeToken$ Support="$supportToken$"
| stats count by Nodeid
| eval sorted=lower(Nodeid)
| sort 0 sorted
</query>
</search>
</input>
<input type="dropdown" token="appToken" searchWhenChanged="true">
<label>Application</label>
<initialValue>All</initialValue>
<choice value="*">All</choice>
<default>*</default>
<fieldForLabel>Application</fieldForLabel>
<fieldForValue>Application</fieldForValue>
<search>
<query>
| inputlookup alerts_CTM_all_added_fields.csv
| eval earliest=$toearliest$
| eval latest=if($tolatest$<=0,now(),$tolatest$)
| where eTime >= earliest AND eTime <= latest
| search Source $sourceToken$ Nodeid="$nodeToken$" Group="$groupToken$" Memname="*$jobToken$*" Message="*$messageToken$*" Cause $causeToken$ Support="$supportToken$"
| stats count by Application
| eval sorted=lower(Application)
| sort 0 sorted
</query>
</search>
</input>
<input type="dropdown" token="groupToken" searchWhenChanged="true">
<label>Sub Application</label>
<initialValue>*</initialValue>
<choice value="*">All</choice>
<default>*</default>
<fieldForLabel>Group</fieldForLabel>
<fieldForValue>Group</fieldForValue>
<search>
<query>
| inputlookup alerts_CTM_all_added_fields.csv
| eval earliest=$toearliest$
| eval latest=if($tolatest$<=0,now(),$tolatest$)
| where eTime >= earliest AND eTime <= latest
| search Source $sourceToken$ Nodeid="$nodeToken$" Application="$appToken$" Memname="*$jobToken$*" Message="*$messageToken$*" Cause $causeToken$ Support="$supportToken$"
| stats count by Group
| eval sorted=lower(Group)
| sort 0 sorted
</query>
</search>
</input>
<input type="text" token="jobToken" searchWhenChanged="true">
<label>Job</label>
<initialValue>*</initialValue>
<default>*</default>
</input>
<input type="text" token="messageToken" searchWhenChanged="true">
<label>Message</label>
<initialValue>*</initialValue>
<default>*</default>
</input>
<input type="multiselect" token="causeToken" searchWhenChanged="true">
<label>Cause</label>
<choice value="Failed">Failed</choice>
<choice value="Late">Late</choice>
<choice value="Info">Info</choice>
<initialValue>Failed,Late,Info</initialValue>
<prefix>IN(</prefix>
<suffix>)</suffix>
<delimiter>,</delimiter>
</input>
<input type="dropdown" token="supportToken" searchWhenChanged="true">
<label>Support Group</label>
<initialValue>All</initialValue>
<choice value="*">All</choice>
<default>*</default>
<fieldForLabel>Support</fieldForLabel>
<fieldForValue>Support</fieldForValue>
<search>
<query>
| inputlookup alerts_CTM_all_added_fields.csv
| eval earliest=$toearliest$
| eval latest=if($tolatest$<=0,now(),$tolatest$)
| where eTime >= earliest AND eTime <= latest
| search Source $sourceToken$ Nodeid="$nodeToken$" Application="$appToken$" Group="$groupToken$" Memname="*$jobToken$*" Message="*$messageToken$*" Cause $causeToken$
| stats count by Support
| eval sorted=lower(Support)
| sort 0 sorted
</query>
</search>
</input>
<input type="dropdown" token="essToken" searchWhenChanged="true">
<label>Non-Essential Alerts</label>
<choice value="Exclude">Exclude</choice>
<choice value="Include">Include</choice>
<initialValue>Exclude</initialValue>
<default>Exclude</default>
<change>
<condition label="Exclude">
<set token="essToken">Yes</set>
</condition>
<condition>
<set token="essToken">*</set>
</condition>
</change>
</input>
<input type="dropdown" token="dedupToken" searchWhenChanged="true">
<label>Duplicates</label>
<choice value="Exclude">Exclude</choice>
<choice value="Include">Include</choice>
<initialValue>Exclude</initialValue>
<default>Exclude</default>
</input>
<input type="dropdown" token="filterToken" searchWhenChanged="true">
<label>Filter By</label>
<choice value="Application">Application</choice>
<choice value="Cause">Cause</choice>
<choice value="Memname">Job</choice>
<choice value="Nodeid">Node ID</choice>
<choice value="Source">Source</choice>
<choice value="Group">Sub Application</choice>
<choice value="Support">Support Group</choice>
<initialValue>Source</initialValue>
</input>
</fieldset>
<row>
<panel>
<chart>
<search>
<query>
| inputlookup alerts_CTM_all_added_fields.csv
| eval earliest=$toearliest$
| eval latest=if($tolatest$<=0,now(),$tolatest$)
| where eTime >= earliest AND eTime <= latest
| search Source $sourceToken$ Nodeid="$nodeToken$" Application="$appToken$" Group="$groupToken$" Memname="*$jobToken$*" Message="*$messageToken$*" Cause $causeToken$ Support="$supportToken$" Essential="$essToken$"
| sort 0 Time
| chart count(Date) OVER Date BY $filterToken$
| eval eDate=strptime(Date,"%Y-%m-%d")
| eval wday=strftime(eDate,"%a")
| eval day=ltrim(strftime(eDate, "%e"))
| eval suffix=if(day=1,"st",if(day=2,"nd",if(day=3,"rd",if(day=21,"st",if(day=22,"nd",if(day=23,"rd",if(day=31,"st","th")))))))
| eval month=strftime(eDate,"%b")
| eval Date=wday+" "+day+suffix+" "+month
| fields - eDate wday day suffix month
</query>
<sampleRatio>1</sampleRatio>
</search>
<option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
<option name="charting.axisLabelsX.majorLabelStyle.rotation">-45</option>
<option name="charting.axisTitleX.visibility">visible</option>
<option name="charting.axisTitleY.visibility">visible</option>
<option name="charting.axisTitleY2.visibility">visible</option>
<option name="charting.axisX.abbreviation">none</option>
<option name="charting.axisX.scale">linear</option>
<option name="charting.axisY.abbreviation">none</option>
<option name="charting.axisY.scale">linear</option>
<option name="charting.axisY2.abbreviation">none</option>
<option name="charting.axisY2.enabled">0</option>
<option name="charting.axisY2.scale">inherit</option>
<option name="charting.chart">column</option>
<option name="charting.chart.bubbleMaximumSize">50</option>
<option name="charting.chart.bubbleMinimumSize">10</option>
<option name="charting.chart.bubbleSizeBy">area</option>
<option name="charting.chart.nullValueMode">gaps</option>
<option name="charting.chart.showDataLabels">none</option>
<option name="charting.chart.sliceCollapsingThreshold">0.01</option>
<option name="charting.chart.stackMode">stacked</option>
<option name="charting.chart.style">shiny</option>
<option name="charting.drilldown">none</option>
<option name="charting.layout.splitSeries">0</option>
<option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
<option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
<option name="charting.legend.mode">standard</option>
<option name="charting.legend.placement">right</option>
<option name="charting.lineWidth">2</option>
<option name="trellis.enabled">0</option>
<option name="trellis.scales.shared">1</option>
<option name="trellis.size">medium</option>
</chart>
</panel>
</row>
</form>
... View more