[已解决] 如何把同一设备每天的某数据汇总到一行里面

  [复制链接]
查看150758 | 回复140 | 2021-2-18 18:29:31 | 显示全部楼层 |阅读模式
如何把同一设备每天的某数据汇总到一行里面,用PQ要怎么操作?还是有其他的公式或者插件。每个表的数据大约在22万条。

10806111417431.rar (94.26 KB, 下载次数: 0)
回复

使用道具 举报

lzswzbs | 2021-2-18 18:34:32 | 显示全部楼层
我们都是云南搞通信的啊. 这个可以搞, 可能效率不高, 我帮你写一个看看
回复

使用道具 举报

zhenblisa | 2021-2-18 18:43:32 | 显示全部楼层
我们都是云南搞通信的啊. 这个可以搞, 可能效率不高, 我帮你写一个看看


感谢感谢,哪家运营商?
回复

使用道具 举报

wds | 2021-2-18 18:47:32 | 显示全部楼层
  1. // output

  2. let

  3.   Source = Excel.CurrentWorkbook(){[Name="表1"]}[Content],

  4.   // 获取每个MAC每天对应的ONU接收光功率数据, 形成新的lists

  5.   trans = List.TransformMany(Table.ToList(Source), each {sLists}, (x,y)=>List.Transform(y, (z)=>{x, z{0},fnGetRxPwr(z{1},x)})),

  6.   // 转到一维表

  7.   sTbl = Table.FromRows( List.Combine(trans), {"MAC", "day", "pwr"}),

  8.   pvt = Table.Pivot(sTbl, List.Distinct(sTbl[day]), "day", "pwr")

  9. in

  10.   pvt



  11. // sLists

  12. let

  13.   Source = Folder.Files("E:\Users\leewe\Desktop\linshi"),

  14.   filter = Table.SelectRows(Source, each ([Extension] = ".csv"))[[Name],[Content]],

  15.   sLists = Table.ToList(filter, each {Text.Replace(_{0}, ".csv", ""), fnExtrCsv(_{1}) })

  16. in

  17.   sLists



  18. // fnExtrCsv

  19. (bin)=> Table.PromoteHeaders(Csv.Document(bin,[Encoding=936]))



  20. // fnGetRxPwr

  21. (CsvTbl, mac)=> CsvTbl[#"ONU上行口接收光功率(dBm)"]{Table.PositionOf(CsvTbl, [MAC=mac], 0, "MAC")}
复制代码



10806111417432.rar (107.76 KB, 下载次数: 0)
回复

使用道具 举报

神童 | 2021-2-18 18:53:32 | 显示全部楼层
感谢感谢,哪家运营商?


移动的.
已经上传了, 待审核中, 到时你测试反馈一下. 做成动态路径了, 把那个名称为"结果"的电子表格文件和你的CSV文件放到一个文件夹就可以
回复

使用道具 举报

jyalen | 2021-2-18 18:55:33 | 显示全部楼层
移动的.
已经上传了, 待审核中, 到时你测试反馈一下. 做成动态路径了, 把那个名称为"结果"的电子表格文 ...


谢谢,指标多不好干啊
回复

使用道具 举报

沙王 | 2021-2-18 18:59:33 | 显示全部楼层
DJYZX 发表于 2020-11-29 22:36
谢谢,指标多不好干啊


我那个List.Transform那层写多了,自己可以改一下
回复

使用道具 举报

wzfwzf | 2021-4-27 12:37:07 来自手机 | 显示全部楼层
珍爱生命,果断回帖。
回复

使用道具 举报

小兵张噶 | 2021-6-11 19:38:17 | 显示全部楼层
楼猪V5啊
回复

使用道具 举报

东莞高步康 | 2021-6-17 11:40:28 | 显示全部楼层
努力蜕变中
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则