Jay*_*een 2 m powerquery powerbi
我想创建一个自定义函数,在其中传入一个表、一个列和值,并计算满足这些条件的所有行。
到目前为止我有
let
fCountif = (tbl as table, col as text, value as any) as number =>
let
select_rows = Table.SelectRows(tbl, each [col] = value),
count_rows = Table.RowCount(select_rows)
in
count_rows
in
fCountif
Run Code Online (Sandbox Code Playgroud)
但是我遇到了各种各样的问题。第一个是调用函数来测试它,当我为表名传入一个字符串时,它会向函数发送一个文字字符串,而不是将其转换为表。这可能只是通过查询编辑器按钮调用它时出现的问题,并且在我的其余 M 代码中使用该函数时应该会自行解决。
第二个是如何将col值传递到[col]函数的部分中。我已经看到了使用脂肪火箭其他例子即[column name] <= col只是不能得到它的工作。
我正在努力了解函数,并且在 vba 中很舒服,所以如果你有任何提示,请大声说出来。这方面的文档很难获得。干杯。
表可以被认为是一个记录列表,其中每条记录都是一行。在 Table.AddColumn 和 Table.SelectRows 的函数中,[col]是一种较短的写法Record.Field(_, "col"),它访问记录的“col”字段。
这是编写函数的一种方法:
let
fCountif = (tbl as table, col as text, value as any) as number =>
let
select_rows = Table.SelectRows(tbl, each Record.Field(_, col) = value),
count_rows = Table.RowCount(select_rows)
in
count_rows
in
fCountif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1936 次 |
| 最近记录: |