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!

New This Month in Splunk Observability Cloud - Metrics Usage Analytics, Enhanced K8s ...

The latest enhancements across the Splunk Observability portfolio deliver greater flexibility, better data and ...

Alerting Best Practices: How to Create Good Detectors

At their best, detectors and the alerts they trigger notify teams when applications aren’t performing as ...

Discover Powerful New Features in Splunk Cloud Platform: Enhanced Analytics, ...

Hey Splunky people! We are excited to share the latest updates in Splunk Cloud Platform 9.3.2408. In this ...