powerquery - PowerQuery Text.Combine 中的单词顺序
问题描述
在 Excel 2016 中使用 PowerQuery 按存储在另一列中的类别组合一列中的单词。我在其中使用 GroupBy 和 Text.Combine。我希望单词的顺序能够持续,但它似乎是随机的。
下面有3张图片
首先是我在排序之前的原始表。
MAPPED WORDS 是我需要组合的,CATEGORY 是组合的桶,POSITION 是指示 MAPPED WORD 在 SKU 中的位置的列 - 我按该顺序对单词进行排序,期望 Text.Combine 将其保留在最终字符串中。对于这个例子,我对红色和蓝色突出显示的单词感兴趣。
原始表
Market Tag SKU Position Category Mapped Word
ABG 130 HELLO DAY CRYSTAL MIDI GRANOLA CHOCOLATE 11 BRAND Crystal
ABG 130 HELLO DAY CRYSTAL MIDI GRANOLA CHOCOLATE 7 BRAND Day
AAI 30 FINAX HEALTHY GOOD MUESLI APPLE NUT RAISIN 1 BRAND Finax
AAI 30 FINAX HEALTHY GOOD MUESLI APPLE NUT RAISIN 7 OTHER Healthy
ABG 130 HELLO DAY CRYSTAL MIDI GRANOLA CHOCOLATE 1 BRAND Hello
ABG 130 HELLO DAY CRYSTAL MIDI GRANOLA CHOCOLATE 19 BRAND Midi
AAI 30 FINAX HEALTHY GOOD MUESLI APPLE NUT RAISIN 20 TYPE Muesli
AAI 30 FINAX HEALTHY GOOD MUESLI APPLE NUT RAISIN 33 FLAVOURS Nuts
AAI 30 FINAX HEALTHY GOOD MUESLI APPLE NUT RAISIN 37 FLAVOURS Raisins
ABG 130 HELLO DAY CRYSTAL MIDI GRANOLA CHOCOLATE 32 FLAVOURS Chocolate
AAI 30 FINAX HEALTHY GOOD MUESLI APPLE NUT RAISIN 27 FLAVOURS Apple
ABG 130 HELLO DAY CRYSTAL MIDI GRANOLA CHOCOLATE 24 TYPE Granola
AAI 30 FINAX HEALTHY GOOD MUESLI APPLE NUT RAISIN 15 BRAND Good
排序后
在 GROUPBY-COMBINE 之后。
问题是结果看起来不像任何逻辑 - 顺序被忽略了。红色单词按字母顺序附加,而蓝色单词没有特定顺序。
我需要按照 POSITION 列的顺序组合单词。
解决方案
这与我对排序后关于操作的不同问题给出的答案相同,但我对其进行了测试,如果你将排序步骤放在 Table.Buffer() 中,它似乎也适用于此。
Table.Buffer(Table.Sort(PROPERCASE_WORDS,{{"TAG",Order.Ascending},{"CATEGORY",Order.Ascending}, {"POSITION",Order.Ascending}}))
AFAIK Table.Buffer 将表加载到内存中,这样做会重置各种 PQ 操作使用的内部索引以匹配表的当前排序。我不知道这样做是否有任何缺点,但它似乎适用于您希望操作以“从上到下”的方式进行的许多情况。
推荐阅读
- c++ - C++编译过程:模板的地方
- java - 我试图让我的程序继续要求输入并回答该输入
- python - Pandas:使用 map 函数在另一个 df 中查找一个值
- python - GAMS 和 Python:如何在循环运行 GamsJob 时重写输出 gdx 文件
- mysql - 如何使用lua连接到主机上的MYSQL
- ios - 如何在 ios swift3 中更改特定的单元格颜色
- mysql - 如何使用 mysql 数据库列之一作为 VB.NET 的变量
- javascript - 从引导导航下拉菜单中选择下拉菜单以进行悬停
- java - java IntStream不能使用collect(Collectors.toList()),编译出错,为什么?
- python - 可以非懒惰地调用 Python 生成器吗?