Splunk Search

round function doesn't work with timechart but does with table

zacksoft
Contributor

This following doesn't work. I don't see the decimals limiting to two digits.
| eval n=round(var5,2) | timechart span=1d avg(n) as avg_count by host

But when I do this,
| eval n=round(var5,2) | table var5
It works.

I tested that in timechart command neither round nor ceiling function is working.
Any suggestion on how to make it work?
Or something wrong with my Splunk set up.

Tags (1)
0 Karma
1 Solution

FrankVl
Ultra Champion

That's because you are rounding the value in n, but you're not rounding the result of the avg() function.

So you need to do:

| eval n=round(var5,2) | timechart span=1d eval(round(avg(n),2)) as avg_count by host

View solution in original post

FrankVl
Ultra Champion

That's because you are rounding the value in n, but you're not rounding the result of the avg() function.

So you need to do:

| eval n=round(var5,2) | timechart span=1d eval(round(avg(n),2)) as avg_count by host

zacksoft
Contributor

Could you help how to use ceiling in the same search.

0 Karma

FrankVl
Ultra Champion

Have a look at the search reference for how to use the timechart command. Especially on how to use eval functions: http://docs.splunk.com/Documentation/Splunk/7.1.0/SearchReference/Timechart

If you want to apply ceiling(), just put that in instead of round(). For example (leaving the var5 value as is now, although you can already apply ceiling to that as well if you want):

| eval n=var5 | timechart span=1d eval(ceiling(avg(n)) as avg_count by host
0 Karma

zacksoft
Contributor

I tried it. But ceiling function won't work. It says
| eval n=var5 | timechart span=1d eval(ceiling(avg(n)) as avg_count by host
Mismatched quotes and/or parenthesis.

and with this | eval n=var5 | timechart span=1d eval(ceiling(avg(n))) as avg_count by host
The eval expression has no fields: 'ceiling(avg(n))'

0 Karma

niketn
Legend

@zacksoft try the following:

<yourBaseSearch>
| timechart span=1d eval(avg(var5)) as avg_count by host
| foreach * [eval "<<FIELD>>"=ceiling('<<FIELD>>')]

PS: I have taken out | eval n=round(var5,2)

____________________________________________
| makeresults | eval message= "Happy Splunking!!!"

zacksoft
Contributor

@niketnilay : That was awesome. Thank you very very much.

0 Karma

niketn
Legend

@zacksoft glad it worked. You can up vote the comment if it helped... Happy Weekend!

____________________________________________
| makeresults | eval message= "Happy Splunking!!!"
0 Karma
Get Updates on the Splunk Community!

Demo Day: Strengthen Your SOC with Splunk Enterprise Security 8.1

Today’s threat landscape is more complex than ever. Security operation centers (SOCs) are overwhelmed with ...

Dashboards: Hiding charts while search is being executed and other uses for tokens

There are a couple of features of SimpleXML / Classic dashboards that can be used to enhance the user ...

Splunk Observability Cloud's AI Assistant in Action Series: Explaining Metrics and ...

This is the fourth post in the Splunk Observability Cloud’s AI Assistant in Action series that digs into how ...