PowerBI获取错误功能' CALCULATE'已经用过

时间:2017-05-15 11:19:20

标签: powerbi dax powerquery m

我想显示卡片值:

  • 如果当前月份值不可用,则应自动与上个月的值进行比较。

enter image description here

在上面的图像中,2017年4月的价值不可用,那么它应该与2017年3月的价值进行比较。

如果2017年3月的价值也没有,那么前一个月的价值。保持开始。 还有一件事是我不想再使用切片机了。实际上我不打算使用切片机。

我只想在卡片视觉效果中显示月份比较值。

我想提供一下我有哪些数据的信息。我有桌子计划rev,实际转速和MonthYear

我使用MonthYear表中的Date列创建了一个关系,以计划rev和实际rev Date列。

MonthYear表

enter image description here

在计划转速,月份,计划转速,日期,以及实际转速实际转速,月份和日期列。

然后为

编写措施
 For Sumof Plan rev-->
 PlanSum = SUM('Revenue Report'[Planned Rev])
   For Prev month value-->
 PlanPrevMon = CALCULATE([PlanSum],PREVIOUSMONTH('Month Year'[Date]))

月份的开始和结束日期

FILTERDATESTART= FIRSTDATE('MonthYear'[Date])
FILTERDATEEND= LASTDATE('MonthYear'[Date])

然后对于当月的PlanArrows度量是。

PlanArrows = CALCULATE(
    IF(
        ISBLANK([PlanSum]),"No data Available",[PlanSum]
    )& " "& IF(
        [PlanSum]=[PlanPrevMon],
        "",
        IF([PlanSum]>[PlanPrevMon],
            UNICHAR(8679),
            UNICHAR(8681)
        ) & IF([PlanSum]<=0,
        "",""
        )
    ),
    'Month Year'[Date]>=FILTERDATESTART, 
        'Month Year'[Date]<=FILTERDATEEND
)

但它不起作用。我收到了错误:

  

功能&#39; CALCULATE&#39;已用于True / False表达式,用作表过滤器表达式。这是不允许的。

请提出任何建议,

由于

Mohan V

1 个答案:

答案 0 :(得分:0)

我想我自己得到了解决方案。 我写了解决这个问题的措施。

PlanArrows =
VAR s = [FILTERDATESTART]
VAR e = [FILTERDATEEND]
RETURN
    CALCULATE (
        IF ( ISBLANK ( [PlanSum] ), "No data Available", [PlanSum] ) & " "
            & IF (
                [PlanSum] = [PlanPrevMon],
                "",
                IF ( [PlanSum] > [PlanPrevMon], UNICHAR(8679), UNICHAR(8681) )
                    & IF ( [PlanSum] <= 0, "", "" )
            ),
        'Month Year'[Date] >= s
            && 'Month Year'[Date] <= e
    )