Splunk Search

how to sum two fields with empty values in some values of one field

Ahmedkhalil
Communicator

Hello,

i have two fields and want to sum values of them in new field as below

new field = field1 + field2
i have added below expression in props.conf

EVAL-sum_Acct_input= (field1*4)+(field2/1073741824)
problem is that i found event coverage of new field sum_acct_input = event coverage of field1 as field one not exist in all events ( it has empty values ) so how can i overcome this issue ? and also how to make this expression at index time not search time

Tags (1)
0 Karma
1 Solution

somesoni2
Revered Legend

You can utilize "coalesce" function to handle empty/null values of field 1 like below

props.conf

EVAL-sum_Acct_input = (coalesce(field1,0)*4+(field2/1073741824)

Per my knowledge, calculated fields can't be created during index time.

View solution in original post

somesoni2
Revered Legend

You can utilize "coalesce" function to handle empty/null values of field 1 like below

props.conf

EVAL-sum_Acct_input = (coalesce(field1,0)*4+(field2/1073741824)

Per my knowledge, calculated fields can't be created during index time.

martin_mueller
SplunkTrust
SplunkTrust

coalesce(field1, field2) is a nicer way of writing if(isnotnull(field1), field1, field2) - basically, "take the first field from the list of arguments that isn't null".

Ahmedkhalil
Communicator

thanks alot for your help i tested it and worked fine but may i know what excatly coalesce do ?

0 Karma
Get Updates on the Splunk Community!

The Payment Operations Wake-Up Call: Why Financial Institutions Can't Afford ...

The same scenario plays out across financial institutions daily. A payment system fails at 11:30 AM on a busy ...

Make Your Case: A Ready-to-Send Letter for Getting Approval to Attend .conf25

Hello Splunkers, Want to attend .conf25 in Boston this year but not sure how to convince your manager? We've ...

Community Spotlight: A Splunk Expert's Journey

In the world of data analytics, some journeys leave a lasting impact not only on the individual but on the ...