我有一张如下所示的表,其类型为 X、Y、Z。
表 1
十 | 是 | 是 |
---|---|---|
1 | 1 | 0 |
0 | 4 | 0 |
简单来说,我想在 Power Query 中创建一个新表,用于像这样对非零行进行计数(而不是求和)。一旦我能够使基本计数发挥作用,我将添加更多列和其他计数过滤器。
表 2
类型 | 全部的 |
---|---|
十 | 1 |
是 | 2 |
是 | 0 |
我尝试将标题转置为一列(类型),然后创建一个计算列(总计),该列将引用“类型”中的值并计算表 1 中相应列的行数。我确信有办法,但我无法正确使用语法。我在 Power Query 中的基本功能是:
= Table.AddColumn(#"添加的列", "总计", each List.NonNullCount(#"表 1"[#"表 2"[类型]]))
这显然是错误的,但它基本上显示了我试图放入 List.NonNullCount 的内容。我在该函数中尝试了各种引用方法,但要么得到错误,要么得到不正确的结果。
我还将参考标题变成列表并尝试使用它进行迭代,但没有成功。
我需要引用是动态的,而不是静态的 X、Y 或 Z。源表是 AZ,X、Y、Z 只是被过滤掉的。如果需要更改,过滤表可能是 A、B、C、Z。我也愿意接受有关其他方式显示最终结果的建议。这似乎相当简单,但我查找过的其他答案似乎存在足够多的差异,因此对我来说不起作用。
你可以尝试
它将列标题移动到第 1 行,然后横向翻转。Record.ToList(_) 将给出该行的所有行。使用 if 公式检查列表中的每个项目是否为 0。将其相加并减一,因为标题也算在内
注意上面的代码已粘贴到主页...高级编辑器....
将 Record.ToList(_) 更改为 List.RemoveNulls(Record.ToList(_)) 以消除任何与空值有关的问题