【Splunk】whereはフィールドでフィルタリングできる

whereコマンドの説明を書きます。
以下の記事の派生記事です。
canada-lemon.hatenablog.com

whereは条件で結果を絞り込むマンドです。

構文例
| where <絞り込みたいフィールド> = (条件)

使用例1:テストで一定以上の点数を取った生徒に絞り込む

whereを使って生徒の点数と平均点を比較してみます。

以下のSPLを実行してダミーデータを用意します。
4人の生徒の英数国の点数です。
makeresultsってなんぞや?という方は以下の記事をご参照ください。
canada-lemon.hatenablog.com

| makeresults format=csv 
data="Class,Name,English,Math,Japanese
2年1組,Alfred,90,60,70
2年1組,Gascoigne,80,80,80
2年2組,Gehrman,60,100,50
2年2組,Ludwig,70,70,90"
| table Class Name English Math Japanese
Class Name English Math Japanese
2年1組 Alfred 90 60 70
2年1組 Gascoigne 80 80 80
2年2組 Gehrman 60 100 50
2年2組 Ludwig 70 70 90

このデータに対し、英語が70点より高い生徒を絞り込みたいときは、以下のように書きます。

| makeresults format=csv 
data="Class,Name,English,Math,Japanese
2年1組,Alfred,90,60,70
2年1組,Gascoigne,80,80,80
2年2組,Gehrman,60,100,50
2年2組,Ludwig,70,70,90"
| table Class Name English Math Japanese
| where English > 70
Class Name English Math Japanese
2年1組 Alfred 90 60 70
2年1組 Gascoigne 80 80 80

備考1:searchとの違い

whereではisnull()isnotnull()のような関数が使えます。例えば、| where isnotnull(Name)と書けば、Name列が欠損していないレコードを検索できます。

一方、ワイルドカードを使う場合はsearchのほうが気軽に書けます。これは次の記事で紹介します。

canada-lemon.hatenablog.com

本記事ではwhereコマンドの説明をしました。
ここまで読んでいただき、ありがとうございました。

Splunk頻出SPLシリーズ