奇怪的power query 透视异常操作
目前在计划用PQ 帮助我们的运营同事把各种后台报表快速整合提高工作效率。在教会他们之前,自己得先掌握好这个利器,所以这几周在研究 web页面抓取和批量提取关键文本的场景。
我以“什么值得买”官网的搜索结果页为例,可以针对特定品牌词的搜索结果,根据他相对结构化的DOM排版,来提取正确的元素,再析出其中的文本内容,包括商品标题、优惠价格和渠道来源等。
因为这类商业网站的网页并不是一站到底的XML或者JSON接口的输出,而是自己用多层表结构和DIV等标签拼接渲染的。
所以开始是花了很大的力量,学习如何在源文件中定位DOM一级级找到自己希望的文本所在,再通过PQ统一的行列操作,最终形成我希望的优惠信息列表表格。
奇怪的是,同样的最后一步pivot操作,在我自己做的这个一列数据表上,就不能成为正确的样子,而是倾斜向右下的排列。
实际上,我也尝试过,增加索引列、增加取模列、增加整除整数列……我理解应该是让PQ能找到一个主键,避免透视时的内容重复。
但在官方教程里,仅仅只需要把属性列作为新的列的表头,然后把值value列的内容就自动转置pivot成功了。
我的列表里,实际上第一列已经是 8个属性字段的循环排列, channel/title/price/description/vote/comments/time/souce
但按操作之后,仍然是错误的。
我再做一个流程示意图,可能会更容易理解这个奇怪的结果。
目前,我在“错误的斜角排布”版本上,找到一个临时补救的办法,但并不完美,方案是——通过FILL DOWN,把每一列null的地方都向下填充,因为数据字段是8个8个更替的,所以我只需要保留第8行、第16行、第24行……就都是该行上每一列属性都有正确value的结果的那一行数据。使用 删除交错行的办法,最终得到我想要的数据清单。
还请拨冗指教,再次感谢!