Dashboards & Visualizations

## Could you help me build a bar chart?

Explorer

Hey,

Suppose I have events like this:

Each event contains a student's assessment in five disciplines.

The assessment is considered unsatisfactory if the student scored less than 50 points.

You want to write a query that allows you to build a diagram of the following form:

Thanks so much!

Tags (1)
1 Solution
Legend

@stevesmith08,

Assuming you have your current search as

``````index="your index" | table Surname,Math,Physics, History, IT, PE
``````

Lets `untable` it to get the Marks as a column and Subject as rows for calculation.

``````   index="your index" | table Surname,Math,Physics, History, IT, PE
|untable Surname,Subject,Marks
``````

And now do a conditional stats count : FINAL

``````   index="your index" | table Surname,Math,Physics, History, IT, PE
|untable Surname,Subject,Marks
|stats count(eval(Marks>50)) as "COUNT(>50)", count(eval(Marks<50)) as "COUNT(<50)" by Subject
``````

Run anywhere example

``````index=_* earliest=-6m|timechart span=2m count as Marks by sourcetype|rename sourcetype as Subject,_time as Surname
|untable Surname,Subject,Marks
|stats count(eval(Marks>50)) as "COUNT(>50)", count(eval(Marks<50)) as "COUNT(<50)" by Subject
``````
---
What goes around comes around. If it helps, hit it with Karma 🙂
Legend

@stevesmith08,

Assuming you have your current search as

``````index="your index" | table Surname,Math,Physics, History, IT, PE
``````

Lets `untable` it to get the Marks as a column and Subject as rows for calculation.

``````   index="your index" | table Surname,Math,Physics, History, IT, PE
|untable Surname,Subject,Marks
``````

And now do a conditional stats count : FINAL

``````   index="your index" | table Surname,Math,Physics, History, IT, PE
|untable Surname,Subject,Marks
|stats count(eval(Marks>50)) as "COUNT(>50)", count(eval(Marks<50)) as "COUNT(<50)" by Subject
``````

Run anywhere example

``````index=_* earliest=-6m|timechart span=2m count as Marks by sourcetype|rename sourcetype as Subject,_time as Surname
|untable Surname,Subject,Marks
|stats count(eval(Marks>50)) as "COUNT(>50)", count(eval(Marks<50)) as "COUNT(<50)" by Subject
``````
---
What goes around comes around. If it helps, hit it with Karma 🙂
SplunkTrust

This query should produce the desired results. After running it, choose "Stacked Column" from the Visualizations tab.

``````| stats count(eval(points>50)) as "COUNT(>50)", count(eval(points<=50)) as "COUNT(<=50)" by discipline
``````
---
If this reply helps you, Karma would be appreciated.
Explorer

Sorry, but what information do the “points” and “discipline” fields store?

I may not have accurately put it, but the structure of each event is as follows:
Surname = Smith, Math = 100, Physics = 65, History = 35, IT = 58, PE = 45
Surname = Wilson, Math = 67, Physics = 60, History = 90, IT = 72, PE = 50
...

But your way is really good for a bar chart on each subject individually 🙂

SplunkTrust

Points are scores and disciplines are subjects, using the terms in your OP. My answer is completely invalidated by your comment giving the event format. renjith.nair's answer appears to have nailed it.

---
If this reply helps you, Karma would be appreciated.
Get Updates on the Splunk Community!

#### .conf24 | Day 0

Hello Splunk Community! My name is Chris, and I'm based in Canberra, Australia's capital, and I travelled for ...

#### Enhance Security Visibility with Splunk Enterprise Security 7.1 through Threat ...

(view in My Videos)Struggling with alert fatigue, lack of context, and prioritization around security ...

#### Troubleshooting the OpenTelemetry Collector

In this tech talk, you’ll learn how to troubleshoot the OpenTelemetry collector - from checking the ...