Splunk Search

Null value for each column data

jhayIV
Engager

Is there a way I can use the foreach function to create a variables that will give me a 1 value for each null value ?

Here is how I would do it for cores: eval nullcores=if(isnull(Cores),1,0)

index=#### sourcetype=#### | Table Name,Cores,DNS_Host_Name,Domain,IsVirtual,NumberOfProcessors,OS,Owner_Contact,ProdCat1,ProdCat2,ProdCat3,Region,Serial_Number,Site,SiteGroup,SystemRole,SystemStatus,Total_Managedby,Total_Ownedby,Total_Patchedby,Total_Physical_Memory,Total_Applications|

Tags (2)
0 Karma

DalJeanis
Legend

Yes, you can do that easily - some methods are after the bar -- but the question you are asking indicates you are probably trying to overcomplicate your life.

Please step back and describe your use case. What information are you trying to create, and what will you do with that information?


Use this if you want one field per field...

  | foreach (your list of fields)  [eval null<<field>>=if(isnull(<<field>>),1,0)"]

Use this if you want one field total...

  | eval addupnulls=0
  | foreach (your list of fields)  [eval addupnulls=addupnulls+if(isnull(<<field>>),1,0)"]
0 Karma

richgalloway
SplunkTrust
SplunkTrust

Expanding on your example gets a foreach command like this.

index=#### sourcetype=#### | foreach * [eval null<<FIELD>>=if(isnull(<<FIELD>>),1,0)] | table Name,Cores,DNS_Host_Name,Domain,IsVirtual,NumberOfProcessors,OS,Owner_Contact,ProdCat1,ProdCat2,ProdCat3,Region,Serial_Number,Site,SiteGroup,SystemRole,SystemStatus,Total_Managedby,Total_Ownedby,Total_Patchedby,Total_Physical_Memory,Total_Applications null*
---
If this reply helps you, Karma would be appreciated.
0 Karma

somesoni2
Revered Legend

You can try fillnull command like this

index=#### sourcetype=#### | table Name,Cores,DNS_Host_Name,Domain,IsVirtual,NumberOfProcessors,OS,Owner_Contact, ProdCat1,ProdCat2,ProdCat3,Region,Serial_Number,Site,SiteGroup,SystemRole,SystemStatus, Total_Managedby,Total_Ownedby,Total_Patchedby,Total_Physical_Memory,Total_Applications | fillnull value=1

OR foreach command like this

index=#### sourcetype=#### | table Name,Cores,DNS_Host_Name,Domain,IsVirtual,NumberOfProcessors,OS,Owner_Contact, ProdCat1,ProdCat2,ProdCat3,Region,Serial_Number,Site,SiteGroup,SystemRole,SystemStatus, Total_Managedby,Total_Ownedby,Total_Patchedby,Total_Physical_Memory,Total_Applications | foreach * [eval <<FIELD>>=coalesce(<<FIELD>>,1)]
0 Karma
Career Survey
First 500 qualified respondents will receive a $20 gift card! Tell us about your professional Splunk journey.
Get Updates on the Splunk Community!

Tech Talk Recap | Mastering Threat Hunting

Mastering Threat HuntingDive into the world of threat hunting, exploring the key differences between ...

Observability for AI Applications: Troubleshooting Latency

If you’re working with proprietary company data, you’re probably going to have a locally hosted LLM or many ...

Splunk AI Assistant for SPL vs. ChatGPT: Which One is Better?

In the age of AI, every tool promises to make our lives easier. From summarizing content to writing code, ...