0

我有一些销售数据,我有英镑、单位和美元的值。在 PowerPivot 中,我正在创建一个包含“周期”列(当前周、MTD、QTD、YTD)和“度量”子列(美元、英镑、单位)的数据透视。我正在使用的计算获取给定期间和度量的今年值与同一期间和度量的去年值之间的百分比差异,例如,([MTD This Year]-[MTD Last Year])/[MTD去年]。

为此,我在 PowerPivot 中的 Data 表旁边添加了一个单列 Period 表和一个单列 Measure 表,没有与 Data 创建任何关系。我将这些用于我的列值,并使用嵌套的 IF 语句来确定对哪些期间和度量执行什么操作。

我用来获得今年和去年价值的措施运行良好。但是当我进行除法时,我得到#NUM!错误仅适用于 IF 语句的外部嵌套。我已经玩过这个并将公式简化为它的基本部分(即,这是我的公式的简化):

=
(
IF(
    COUNTROWS(VALUES(Periods[Period]))=1,
    IF(
        VALUES(Periods[Period])="Current Week",
        1,
        IF(
            VALUES(Periods[Period])="MTD",
            2,
            IF(
                VALUES(Periods[Period])="QTD",
                3,
                IF(
                    VALUES(Periods[Period])="YTD",
                    4
                )
            )
        )
    ),
    0

)
) 
/
(
IF(
    COUNTROWS(VALUES(Periods[Period]))=1,
    IF(
        VALUES(Periods[Period])="Current Week",
        1,
        IF(
            VALUES(Periods[Period])="MTD",
            2,
            IF(
                VALUES(Periods[Period])="QTD",
                3,
                IF(
                    VALUES(Periods[Period])="YTD",
                    4
                )
            )
        )
    ),
    0
)
)

我希望这会为所有值返回“1”。相反,它返回#NUM!对于所有当前周和 MTD 值,其余的为“1”。如果我重新排列嵌套参数,#NUM!始终为外部参数返回。

知道这里发生了什么吗?

4

1 回答 1

0

我想出了一个解决方案,尽管我不清楚为什么这有效,而其他结构却没有。这是我的设置方式:

=
IF(
    COUNTROWS(VALUES(Periods[Period]))=1,
    IF(
        VALUES(Periods[Period])="YTD",
        DIVIDE(1,1),
        IF(
            VALUES(Periods[Period])="QTD",
            DIVIDE(2,2),
            IF(
                VALUES(Periods[Period])="MTD",
                DIVIDE(3,3),
                IF(
                    VALUES(Periods[Period])="Current Week",
                    DIVIDE(4,4)
                )
            )
        )
    ),
    0
)

我的收获是避免将两个嵌套的 IF 语句相互分开。

于 2014-03-14T16:38:41.543 回答