我为子搜索中的模型选择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
如何执行搜索总量?
答案 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