首页 文章

获得#NUM!对于PowerPivot测量中IF语句划分的外巢

提问于
浏览
0

我有一些销售数据,我的 Value 是英镑,单位和美元 . 从PowerPivot,我正在创建一个包含Periods列(Current Week,MTD,QTD,YTD)和“Measure”(美元,磅,单位)子列的数据透视表 . 我正在使用的计算得到了今年给定期间和计量的 Value 之间的百分比差异,以及同一期间和计量的去年值,例如([MTD今年] - [MTD去年])/ [MTD去年] .

为此,我在我的数据表旁边的PowerPivot中添加了一列Period表和一列Measure表,没有为Data创建关系 . 我将这些用于我的列值,并使用嵌套的IF语句来确定如何处理哪些Periods和Measures .

我用来获得今年's and last year' s值的措施运行得很好 . 但是当我进行分工时,我会得到#NUM!错误仅适用于IF语句的外部嵌套 . 我've played around with this and simplified the formula to it'的基本部分(即,这是我公式的简化):

=
(
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!始终返回外部参数 .

知道这里发生了什么吗?

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语句相互划分 .

相关问题