0

所以我正在使用 PowerPivot 并按 30 的桶对数字列进行分组。我唯一的问题是最终结果没有正确排序,因为它认为基于第一个字符的 '30' 大于 '130'。我试图弄清楚如何格式化,以便正确排序。我的想法是在 2 位数字前添加一个“0”,因为数据将最大为 3 位。如果我在下面的公式中添加一个零,它仍然不会显示“0”。我已经用谷歌搜索了大约一个小时,但没有运气。有谁知道 DAX 的 =format 让我的存储桶排序?

=IF([Days in Q]<30,"<"&30,FLOOR([Days in Q],30)&" - "&CEILING([Days in Q],30)+IF(MOD([Days in Q],30)>0,-1,30-1))

输出如下所示:

Row Labels  
<30 
120 - 149   
150 - 179
30 - 59 
60 - 89 
90 - 119    

但需要看起来像这样:

Row Labels  
<30 
30 - 59 
60 - 89 
90 - 119    
120 - 149   
150 - 179   

提前感谢,因为这个网站已经为我节省了不止一次。我认为即使这是 PowerPivot / DAX,excel 格式也会很接近。我也尝试在excel中对此进行排序,但没有任何乐趣。

4

1 回答 1

1

在 Power Pivot 的表中添加一个名为 bucketsort 的排序列。如果包含存储桶的列称为存储桶,则此计算列的公式可以是:

=if([Days in Q] < 30, 1, if([Days in Q] < 60, 2, if([Days in Q] <90, 3, 
    if([Days in Q] <120, 4, if([Days in Q] <150, 5, if([Days in Q] <180, 6, 7))))))

右键单击 [bucketsort] 列并选择从客户端工具中隐藏。然后转到您的 [buckets] 列并将按列的顺序设置为 [bucketsort] 列。

于 2014-05-26T14:23:28.370 回答