用于计算总单位数为

时间:2017-03-29 10:53:34

标签: excel powerpivot dax

我有一个订单行列表(附带截图的第一个表)。我想知道有多少订单有1个单位,多少2个单位等等。

我通常使用2个数据透视表(如附带的屏幕截图所示)。问题是我必须创建一个中间表,如果我有超过100万个订单,由于excel的行数限制,我无法采用这种方法。

我尝试过以多种方式使用CALCULATE,但我无法找到正确的方法...

以下是屏幕截图:Tables

提前致谢!

豪尔赫

编辑:我使用MS Excel 2017,而不是Power BI

2 个答案:

答案 0 :(得分:1)

此解决方案涉及使用SUMMARIZECOLUMNS功能,该功能似乎仅在Power BI, Analysis Services 2016, or Excel 2016中可用。

SUMMARIZECOLUMNS是一种更有效的构建汇总表的方法。

使用Power BI中的表达式重建两个汇总表:

new table

Order Summary = 
SUMMARIZECOLUMNS(
    Orders[OrderNo],
    "Sum of Units", SUM(Orders[Units])
)

-

Unit Summary = 
SUMMARIZECOLUMNS(
    'Order Summary'[Sum of Units],
    "Number of Orders", COUNTROWS('Order Summary')
)

结果将符合预期:

result

答案 1 :(得分:1)

正确的方法是使用SUMMARIZE函数(一个嵌套在另一个中),如下所示:

SUMMARIZE(
    SUMMARIZE(
        Orders, 
        Orders[OrderNo],
        "Sum of Units", SUM ( Orders[Units] ) 
    ),
    [Sum of Units],
    "Number of Orders", COUNTROWS (
        SUMMARIZE(
            Orders,
            Orders[OrderNo],
            "Sum of Units", SUM ( Orders[Units] )
        )
    )
)
ORDER BY [Sum of Units] ASC