Splunk Search

How do I get over conditional functions formatting?

Stives
Explorer

Hello community,

like to ask for support to get over conditional formatting. I have 3 different products in a group. Product A, B and C and I need to add for each of them a different formula (compensation factor) e.g..

PRODUCT A = group/3.33*100 

PRODUCT B = group/3.061*100

PRODUCT C = group/3.0*100

I could only do this when I create search only for one PRODUCT. But how to include all the PRODUCTS with different formulas (compensation factors) ?

| where group="PRODUCT_A"
| eval ProductGroup=group/3.33*100

Thanks

Labels (1)
0 Karma
1 Solution

richgalloway
SplunkTrust
SplunkTrust

A case function should do the job.

| eval ProductGroup = case(product=A, group*100/3.33, product=B, group*100/3.061, product=C, group*100/3.0)

 

---
If this reply helps you, Karma would be appreciated.

View solution in original post

0 Karma

Stives
Explorer

Hello Rich, 

thanks for message. Finally I´ve managed apply case function and resolved the issue.
Thanks for support.

BR

0 Karma

richgalloway
SplunkTrust
SplunkTrust

If your problem is resolved, then please click one of the "Accept as Solution" buttons to help future readers.

---
If this reply helps you, Karma would be appreciated.
0 Karma

marysan
Communicator


|eval ProductGroup=case(group=="PRODUCT_A",group/3.33*100 ,group=="PRODUCT B",group/3.061*100,group=="PRODUCT C",group/3.0*100)

Tags (1)
0 Karma

richgalloway
SplunkTrust
SplunkTrust

This looks like a faithful interpretation of the OP's question, but won't work because if the group field is a string (contains "PRODUCT_x") then it cannot be divided by a number.

---
If this reply helps you, Karma would be appreciated.
0 Karma

Stives
Explorer

I want eval a row called RML = case (in the row "group", for a VALUE A divided by 3.33*100, in the row "group", for a value B divided by 3.061*100, in the row "group", for a VALUE C divided by 3.0*100)

0 Karma

Stives
Explorer

Hello, not really as the formula does not work unfortunately.

I want eval a group = case (in the row "group", for a VALUE A divided by 3.33*100, in the row "group", for a value B divided by 3.061*100, in the row "group", for a VALUE C divided by 3.0*100)

Thanks

0 Karma

richgalloway
SplunkTrust
SplunkTrust

Please elaborate on "does not work".  What results do you get and how do they not meet expectations?

It might help if you shared actual (sanitized) events.

---
If this reply helps you, Karma would be appreciated.
0 Karma

richgalloway
SplunkTrust
SplunkTrust

A case function should do the job.

| eval ProductGroup = case(product=A, group*100/3.33, product=B, group*100/3.061, product=C, group*100/3.0)

 

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

How to Monitor Google Kubernetes Engine (GKE)

We’ve looked at how to integrate Kubernetes environments with Splunk Observability Cloud, but what about ...

Index This | How can you make 45 using only 4?

October 2024 Edition Hayyy Splunk Education Enthusiasts and the Eternally Curious!  We’re back with this ...

Splunk Education Goes to Washington | Splunk GovSummit 2024

If you’re in the Washington, D.C. area, this is your opportunity to take your career and Splunk skills to the ...