根据组汇总不同行中的值

时间:2019-05-15 14:15:25

标签: powerbi dax

我的目标是根据其他列的组在一个列中汇总值。

例如,我的表格如下:

https://imgur.com/YbTFDh2

和所需的输出将是这样的:

https://imgur.com/5It0KgW

我可以在同一个表上执行此操作,也可以创建一个新表。

我尝试过:

SUMMARIZECOLUMNS (
    'Sheet1 (2)'[Item],
    'Sheet1 (2)'[Name],
    "Total", SUM([Money])
)

,但返回的错误是:*表达式引用多个列。多列不能转换为标量值。* z

编辑

最终我的最终目标是创建一个计算列,以使用SWITCH函数基于一系列范围将美元向上舍入。

=SWITCH(TRUE(),[Money] <= 10, 0, [Money] <= 20, 10) 

...类似的东西。

2 个答案:

答案 0 :(得分:3)

最简单的方法是创建一个简单的度量:

Total=SUM([Money])

然后,您可以在Power BI中通过将“名称”放在轴上来查看此内容:

像这样... Table Example

或者这个... Bar Chart Example

在Excel中,您可以使用数据透视表显示相同的内容。

答案 1 :(得分:1)

您可以使用以下方法将每个组的总和四舍五入到最接近的10:

Answer =
FLOOR ( SUM ( 'Sheet1 (2)'[Money] ), 10 )

FLOOR()将“ Money”列的总和作为第一个参数,并将所需的倍数(在本例中为10)作为第二个参数。如果您想四舍五入到最接近的值,可以交替使用CEILING()MROUND()

编辑:

根据您最近的评论,也许像这样更合适:

Answer = 
IF(SUM('Sheet1 (2)'[Money]) < 10, 0,
IF(SUM('Sheet1 (2)'[Money]) < 20, 10,
IF(SUM('Sheet1 (2)'[Money]) < 25, 20, BLANK())))

SWITCH仅可与常量一起使用,因此您需要将一些IF语句链接在一起以获得所需的内容。