List.Distinct 和 List.Count 挑战

问题描述 投票:0回答:1

在 PQ 中,我有一个数据表(如下),我试图确定标题为 Plan Status-# 的所有列是否相同(不包括空格),如果都相同,则显示该值,如果不显示“因计划而异”

PQ 代码在下面,我使用 List.Distinct 创建所有“唯一值”的列表。 然后,我使用 List.Count 来计算列表中的这个数字,如果为 1,则将该列设置为等于 Distinct 值。

If List.Count({List.Distinct({[#"计划状态-H"],[#"计划状态-D"],[#"计划状态-S"],[#"计划状态-M" ],[#"计划状态-C"],[#"计划状态-U"]})})=1 然后 List.Distinct({[#"计划状态-H"],[#"计划状态-D "],[#"计划状态-S"],[#"计划状态-M"],[#"计划状态-C"],[#"计划状态-U"]}) else "因计划而异"

根据上表,List.Count 似乎无法正常工作,因为某些记录显示列表中项目的合并值,这意味着具有多个值的列表的 List.Count 计算为 1。

excel powerbi powerquery powerbi-desktop m
1个回答
2
投票

您的代码中有额外的括号。试试这个:

if List.Count(List.Distinct({[#"Plan Status-H"],[#"Plan Status-D"],[#"Plan Status-S"],[#"Plan Status-M"],[#"Plan Status-C"],[#"Plan Status-U"]}))=1 
then List.Distinct({[#"Plan Status-H"],[#"Plan Status-D"],[#"Plan Status-S"],[#"Plan Status-M"],[#"Plan Status-C"],[#"Plan Status-U"]}) 
else "Varies across plans"
© www.soinside.com 2019 - 2024. All rights reserved.