我在 Power BI 中有下表:
我想在以下条件下从表中过滤掉 id 多次出现的行:
如果该行的语言是“fi”,则保留该行。如果未找到语言“fi”,则保留语言“en”。如果两者都没有找到,则保留语言“se”。因此,表中的结果行将为 1、2、5、6。
有什么方法可以进行这样的过滤吗?我对 powerbi 有点陌生,所以到目前为止还没有成功
最佳答案
您可以在表上应用一些额外的转换。下面是您的表的 Power Query 代码。转到表格的高级编辑器并使用以下代码-
不要忘记更改新代码第 1 行中的 previous_step_name。
let
//.... your existing code
//New code starts here
#"Added custom" = Table.AddColumn(#"previous_step_name", "Custom", each if [language] = "fi" then 1 else if [language] = "en" then 2 else if [language] = "se" then 3 else 4),
#"grouped_table" = Table.Group(#"Added custom", {"id"}, {{"min", each List.Min([Custom]), type number}}),
#"Merged Queries" = Table.NestedJoin(#"Added custom", {"id", "Custom"}, #"grouped_table", {"id", "min"}, "grouped_table", JoinKind.Inner),
#"Removed Columns" = Table.RemoveColumns(#"Merged Queries",{"grouped_table", "Custom"})
in
#"Removed Columns"
这是输出-
您的新代码将如下所示 -
let
Source = PostgreSQL.Database("localhost", "test"),
table_name = Source{[Schema="testschema",Item="table_name"]}[Data],
//New code starts here
#"Added custom" = Table.AddColumn(#"table_name", "Custom", each if [language] = "fi" then 1 else if [language] = "en" then 2 else if [language] = "se" then 3 else 4),
#"grouped_table" = Table.Group(#"Added custom", {"id"}, {{"min", each List.Min([Custom]), type number}}),
#"Merged Queries" = Table.NestedJoin(#"Added custom", {"id", "Custom"}, #"grouped_table", {"id", "min"}, "grouped_table", JoinKind.Inner),
#"Removed Columns" = Table.RemoveColumns(#"Merged Queries",{"grouped_table", "Custom"})
in
#"Removed Columns"
关于powerbi - 根据语言过滤 powerbi 表中的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76329368/