You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PowerShell统计事件系统热词并聚合关联ID完成行列转换

PowerShell实现工单热词ID聚合方案

实现逻辑

  • 先对原始数据按Word字段分组,同时可直接筛选出现次数超过4次的热词,匹配你的业务规则
  • 统计所有分组的最大ID数量,用于自动生成对应数量的ID列
  • 为每个分组构造自定义对象,动态填充Id1到IdN的属性值
  • 输出后自动匹配你需要的表格格式,ID列会随工单数量自动扩展

完整代码

# 假设你已经将筛选后的原始数据存入$rawData变量,每个元素包含Id和Word两个属性
# 1. 按单词分组,同时筛选出现次数>4的热词
$groupedWords = $rawData | Group-Object -Property Word | Where-Object { $_.Count -gt 4 }

# 2. 统计所有分组的最大ID数,用于生成对应数量的Id列
$maxIdCount = ($groupedWords | Measure-Object -Property Count -Maximum).Maximum

# 3. 构造输出对象
$output = $groupedWords | ForEach-Object {
    $wordItem = [PSCustomObject]@{
        Word = $_.Name
    }
    # 循环填充Id列
    for ($i = 0; $i -lt $maxIdCount; $i++) {
        $idPropertyName = "Id$($i+1)"
        $wordItem | Add-Member -MemberType NoteProperty -Name $idPropertyName -Value $_.Group[$i].Id
    }
    return $wordItem
}

# 4. 控制台输出格式化表格
$output | Format-Table -AutoSize

# 也可以直接导出为CSV文件供后续创建工单使用
# $output | Export-Csv -Path "热词关联工单汇总.csv" -Encoding UTF8 -NoTypeInformation

效果验证

用你提供的测试数据验证时,可临时去掉Where-Object { $_.Count -gt 4 }筛选条件,输出结果如下:

Word      Id1   Id2   Id3
----      ---   ---   ---
sub2255   12345 36651 35542
drivrutin 12345 36651

内容的提问来源于stack exchange,提问作者Obbelix_SWE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 07:12:02