【问题标题】:Creating a measure totalling different columns depending on date根据日期创建总计不同列的度量
【发布时间】:2020-11-16 23:07:15
【问题描述】:

我有一个条形图可视化,按月监控呼叫中心的来电。通常,来电位于“s_offered”列中。由于我无法控制的因素,2020-07-01 之后收到的任何电话都需要从不同的列“m_adj_offered”中提取。

如果日期早于上述日期,我有办法返回布尔值

m_useadjfigure = if(MIN('Calendar'[Date]) < date(2020,07,01), 0, 1)

然后我在我的可视化中使用以下度量,它工作正常。

m_magic_entered = if(QueueSummary[m_useadjfigure] = 1, sum(QueueSummary[m_adj_offered]), sum(QueueSummary[s_offered]))

但是,图像中有一个使用相同度量的总数。 可视化中的月份是正确的。但所有月份的总和与顶部的总和不匹配。我理解为什么会发生这种情况,因为 m_useadjfigure 测量条件和 MIN 函数。但我不确定如何修复它或如何重写度量(或编写新度量)。

该报告是动态的,切片器中提供了其他年份,因此我无法应用页面级过滤器等。

总而言之,可视化的月份很好。总计不是。任何人都可以就如何编写一个度量来正确计算总数提供一些 DAX 建议吗?

【问题讨论】:

    标签: powerbi dax powerbi-desktop measure


    【解决方案1】:

    我将向您建议一种简单的方法来解决您的问题并计算 m_magic_entered 度量。

    使用此代码:

    m_magic_entered =  
    VAR datebar=date(2020,07,01)
    RETURN  CALCULATE(sum(QueueSummary[m_adj_offered]),FILTER('Calendar','Calendar'[Date] < datebar) + 
    CALCULATE(sum(QueueSummary[s_offered]),FILTER('Calendar','Calendar'[Date] >= 
            datebar) 
    

    您不再需要 m_useadjfigure 度量。

    【讨论】:

    • 我知道你打算用这个去哪里,但它不起作用,因为 2020-07-01 之后 s_offered 列中仍有数据,但我们将忽略它。
    • 谢谢 - 我收到一条错误消息“函数 MIN 已在用作表格过滤器表达式的 True/False 表达式中使用。这是不允许的。”
    • 非常感谢您的指导。我已经接受了您所说的并使用 FILTER 而不是 MIN 等 m_magic_entered = CALCULATE(SUM(QueueSummary[s_offered]), FILTER(QueueSummary,[date] = date(2020,07,01))))
    猜你喜欢
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 2022-08-06
    • 2019-05-30
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多