Refine your search:

0
1

How can I consolidate 2 or more fields into one new field at search time?

e.g. ...| fields a,b,c | d

In the above I would like d to hold all values in fields a,b,c so what I am doing is creating a new field called d out of the fields a,b and c. Is this possible?

asked 28 Apr '10, 16:58

Josh's gravatar image

Josh
16616
accept rate: 0%

If your intention ultimately is to get statistics or data about each unique combination of a, b and c, then its easier to do things like "stats avg(foo) values(bar) by a, b, c".

(28 Apr '10, 19:58) sideview ♦

3 Answers:

If you want them all concatenated, then you can do:

eval d=a.b.c

If you want a multi-value field, you could do something like this (assuming that you don't have ; in your values to begin with):

eval d=split(a . ";" . b . ";" . c, ";")

If you are trying to get a single value when a, b, or c could be null (or missing), then you can use:

eval d=coalesce(a,b,c)

Are any of these what you are looking for?

link

answered 28 Apr '10, 17:14

Lowell's gravatar image

Lowell ♦
11.1k81289
accept rate: 41%

eval d=coalesce(a,b,c)

This worked a treat, single value when a,b or c wcould be null (or missing)

Perfect thanks

(28 Apr '10, 17:45) Josh

Also, if you want to create a single multi-valued field, you would concatenate the values with a delimiter as in one of the other answers, and then use the | makemv command.

link

answered 28 Apr '10, 17:50

gkanapathy's gravatar image

gkanapathy ♦
32.3k4827
accept rate: 41%

Is there an advantage to using makemv vs using split() eval function? (Other than split() was introduced in 4.1)

(28 Apr '10, 18:31) Lowell ♦

No, it's the same.

(28 Apr '10, 19:57) gkanapathy ♦

Eval command could do this:

http://docs.splunk.com/Documentation/Splunk/5.0/SearchReference/Eval

... | eval field_d=field_a+field_b+field_c | fields field_d

Also, the nomv command might be helpful for your use case:

http://docs.splunk.com/Documentation/Splunk/5.0/SearchReference/Nomv

link

answered 28 Apr '10, 17:18

Simeon's gravatar image

Simeon ♦
4.1k91034
accept rate: 26%

edited 21 Dec '12, 12:54

ChrisG's gravatar image

ChrisG ♦
2.8k46

Post your answer
toggle preview

Follow this question

Log In to enable email subscriptions

RSS:

Answers

Answers + Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×179

Asked: 28 Apr '10, 16:58

Seen: 1,150 times

Last updated: 21 Dec '12, 12:54

Copyright © 2005-2012 Splunk Inc. All rights reserved.