Splunk通过不显示它们的方式对具有两个不同组的2个不同字段进行计数

时间:2018-08-02 15:22:57

标签: count statistics splunk

我为子搜索中的模型选择orderids,然后为每个orderid选择最常用的物料,因此我获得了每个物料及其作为订单一部分的时间的列表。我想以所有订单的百分比显示最常用的材料。因此,我需要这个数量来找到每种物料的频率,然后将其除以订单总数。

sourcetype=file1 [subsearch... ->returns Orders] | 

在这里,我需要选择订单总数,例如:

stats dc(Orders) as totalamount by Orders|
stats dc(Orders) as anz by Material|
eval percentage= anz/totalamount|
sort by percentage desc

如何执行搜索总量?

2 个答案:

答案 0 :(得分:0)

尝试使用streamstats命令。

index=foo sourcetype=file1 [subsearch... ->returns Orders]
| streamstats count(Orders) as totalamount 
| stats count(Orders) as anz by Material 
| eval percentage=(anz*100)/totalamount 
| sort - percentage

答案 1 :(得分:0)

我认为从您的基本搜索中,您无论如何都会获得订单和物料, 您需要使用eventstats来获取总数。下面的代码应该可以工作

index=foo sourcetype=file1 [subsearch... ->returns Orders]
| stats count(Orders) as order_material_count by Material 
| eventstats sum(order_material_count ) as totalCount
| eval percentage=(order_material_count*100)/totalamount  
| fields Mateira, order_material_count , percentage
| sort - percentage