我有一个数据列表,当每个值首次出现时,我想在其他列中返回1个数据。我可以在带有公式'=的Excel表中执行此操作(countif($ a $ 2:$ a2,$ a2)= 1)+0',但我不知道如何在电源查询中执行此操作。可以在这里看到一个例子:
用户id | |
---|---|
PowerQuery中的一种方式是一个转移的列,它比大数据集的索引快得多。
或您可以使用分组
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Grouped Rows" = Table.Group(Source, {"User ID"}, {{"data", each Table.RemoveColumns(Table.AddColumn(Table.AddIndexColumn(_, "Index", 0, 1, Int64.Type), "First Instance?", each if [Index]=0 then 1 else 0),{"Index"}), type table }}),
#"Expanded data" = Table.ExpandTableColumn(#"Grouped Rows", "data", {"First Instance?"}, {"First Instance?"})
in #"Expanded data"
不错,一个想法可能是在您的用户ID列上使用索引 - 列:
请有人帮助我解释代码的这一部分,
如果[index.1]>0then if [index.1] - 1和[index] = [index]
else1
我有同样的问题有示例,但我无法使用M代码
谢谢