网上随便找段文字,就以Power BI官网上这段文字为例好了:
想要统计其中的词频,实现如下图的效果:
解法1:使用输入法词库
其中的难点无疑在分词了,中文不像英文可以按空格拆开分词,仅仅单靠Power Query中的功能遇到这种问题好像没法搞,因为它不知道你要按什么规则来拆,不知道哪几个字连起来算一个词。
那我们就得想办法告诉它规则,于是想到了输入法。输入法之所以如此贴心,就是因为有着丰富的词库,我们可以去输入法的设置里找出词库导出来。
我已经把我的输入法词库导出来并上传到网站服务器上,所以如果你找不到词库在哪就直接用我的吧。
let
源 = Excel.CurrentWorkbook(){[Name="源数据"]}[Content],
词库 = Table.FromColumns({List.Buffer(List.Select(Csv.Document(Web.Contents("https://pqfans.com/pq/pinyin/py.txt"),[Delimiter=" "])[Column2],each Text.Length(_)<>1))},{"词"}),
词频 = Table.AddColumn(词库, "词频", each List.Count(Text.PositionOf(源[文本]{0},[词],2))),
排序 = Table.Buffer(Table.Sort(词频,{ {&