我有无法解决的问题。我想使用Card来计数Number,但仅用于Count的最大值。因此,在我的示例中,它将是5而不是9。
Number Count
1 100
2 101
3 102
3 103
3 104
3 105
4 106
5 107
5 108
答案 0 :(得分:0)
您可以按照几个步骤进行操作。
Count
Number
相对应的Count
个值Number
值的出现次数以下是一种可以做到这一点的措施示例:
Count of Max =
VAR MaxCount = CALCULATE(MAX(Table1[Count]), ALLSELECTED(Table1))
VAR MaxNumbers = CALCULATETABLE(VALUES(Table1[Number]), Table1[Count] = MaxCount)
RETURN CALCULATE(COUNT(Table1[Number]), Table1[Number] IN MaxNumbers)
可以用许多其他方式写最后一行。例如,
COUNTROWS(FILTER(Table1, Table1[Number] IN MaxNumbers))
或
SUMX(Table1, 1*(Table1[Number] IN MaxNumbers))
编辑:根据您的评论,您似乎不想执行上述第三步。在这种情况下,您只有两个步骤。
Number for Max Count =
VAR MaxCount = CALCULATE(MAX(Table1[Count]), ALLSELECTED(Table1))
RETURN CALCULATE(MAX(Table1[Number]), Table1[Count] = MaxCount)
如果有多个与最大Number
值关联的Count
值,则将返回这些关联值的最大值。
答案 1 :(得分:0)
这是在M中执行此操作的可能方法之一。将此代码粘贴到高级编辑器中。
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("Tca5DQAwCASwXa6m4E2yC2L/NSJdhSt3wyAwVYw0nDc+eF+P9VwvPvnDF3/XH2Y+", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Number = _t, Count = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Number", Int64.Type}, {"Count", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "IsMax", each [Count] = List.Max(#"Changed Type"[Count])),
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([IsMax] = true))
in
#"Filtered Rows"
关键是第三步,添加自定义列IsMax
,以检查它是否为Count
列的最大值:
为每个类别选择MAX值的替代方法,您可以在这里找到: Select row with MAX value per category Power BI
这是更通用的方法,为每个类别添加索引: Index by category in Power BI equivalent to SQL row_number over partition
更新。如果您想要每个类别的最大值-这是解决方案:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("Tca5DQAwCASwXa6m4E2yC2L/NSJdhSt3wyAwVYw0nDc+eF+P9VwvPvnDF3/XH2Y+", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Number = _t, Count = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Number", Int64.Type}, {"Count", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Number"}, {{"Grouped_by_Number", each List.Max([Count]), type number}})
in
#"Grouped Rows"