看完了Power Query 学习 03 如何系统学会 List.Accumulate。
但是很迷糊
我就想知道怎么确定初始值?怎么确定初始值的类型?这块太迷糊了,迷糊的什么都做不了,怎么确定初始值呢???确定初始值的技巧是?
关于初始值里面的参数尤其涉及三个四个的参数该怎么办???哪位老师,能否指点迷津
看完了Power Query 学习 03 如何系统学会 List.Accumulate。
但是很迷糊
我就想知道怎么确定初始值?怎么确定初始值的类型?这块太迷糊了,迷糊的什么都做不了,怎么确定初始值呢???确定初始值的技巧是?
关于初始值里面的参数尤其涉及三个四个的参数该怎么办???哪位老师,能否指点迷津
这个核心就是第二参数,先去群主pq博客里学一下这个函数的用法,还有例子,,,,然后第二参数都是靠自己想象了....
初始值是对你要处理的内容进行循环处理.
参数描述为 seed as any, 可为 文本, 数值, list, record, table等.
比如 对 文本 "abcdefg" 中的"b"替换成"x", "d"替换成"y", "g"替换成"z".
那么这里的初始值即为文本("abcdefg").
常规替换可以考虑用三次Text.Replace(然后一般重复性的操作,一般会有较为简洁步骤的写法.)
然后用acc写是:
List.Accumulate({{"b","x"}, {"d", "y"}, {"g", "z"}}, "abcdefg", (s,c)=>Text.Replace(s, c{0}, c{1}))
s是初始文本值"abcdefg"
c是前边list列表{{"b","x"}, {"d", "y"}, {"g", "z"}}中的各个小list,总共有3个.
在循环的过程中,
第一次调用{"b","x"}, 用"b"替换成"x", "b"在{"b","x"}中的索引为0,"x"在{"b","x"}中的索引为1, 所以是
Text.Replace(s, c{0}, c{1}).
第一次替换完的结果是 "axcdefg", 然后这个结果作为下一次(第二次)调用替换的初始值..
第二次调用{"d", "y"},
第二次替换完的结果是"axcyefg",然后这个结果作为下一次(第三次)调用替换的初始值.
第三次调用{"g", "z"},
第三次替换完的结果是"axcyefz"(也就是最终结果).
思想就是:每次处理完的结果,都作为下一次处理的初始值.
第一次调用{"b","x"}, 把"b"替换成"x".
不是"用"字,是"把"字.
我跟你一样 案例看懂了 还是不晓得第二 参数怎么构建 只晓得大神喜欢用{}空List来装容器 ,自己要是构建就怎么构建怎么错 搞不懂 太难这函数