首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerPivot DAX:随着时间的推移,确定每个项目/案例的最后状态

PowerPivot DAX:随着时间的推移,确定每个项目/案例的最后状态
EN

Stack Overflow用户
提问于 2016-12-15 17:35:48
回答 1查看 513关注 0票数 0

我是DAX的新手

我正在一个IT服务台工作,我想要一个仪表板,向我展示一段时间以来的“运行案例”。

案件有不同的状态:等待-正在进行-计划-结束。

当案例的状态低于时,除了“已关闭的”之外,它们被视为“运行案例”。

目标是为每个运行用例(不是关闭的)最后一次状态,以显示工作负载是什么

以下是所需的结果:期望结果

如何到达这个结果和什么是完整的数据?以下是为期4天的交易表,其中9例为:每种情况4天后的交易表

我尝试了这些和其他DAX语法,但我没有得到预期的结果。

=COUNTROWS(过滤器(表1;最大值(Table1Date)

=CALCULATE(COUNTROWS(Table1);FILTER(ALL(Table1);Table1Date<=MAX(Table1Date)))

我很难制定正确的DAX语法,以便获得如下所需的结果。

我非常感谢你在这件事上的帮助。

EN

回答 1

Stack Overflow用户

发布于 2016-12-15 18:26:52

创建一个度量,以获取StatusCLOSED不同的每个日期的行数。

代码语言:javascript
复制
Running Cases =
CALCULATE (
    COUNTROWS ( Table1 ),
    FILTER ( Table1, Table1[Status] <> "CLOSED" )
)

在数据透视表中使用此度量,您将得到以下结果:

注在所需的结果示例中,08.12.2016的运行用例值为3,但在示例数据集中,我只能计算2,希望这是键入错误。

更新:运行案例直到上下文日期。

ClosedOn中创建一个名为Table1的计算列,并使用以下DAX表达式。

代码语言:javascript
复制
=
IF (
    ISBLANK (
        CALCULATE (
            MIN ( [Date] ),
            FILTER (
                Table1,
                [Date] >= EARLIER ( Table1[Date] )
                    && [ID_Case] = EARLIER ( Table1[ID_Case] )
                    && [Status] = "CLOSED"
            )
        )
    ),
    MAXX ( Table1, [Date] ) + 1,
    CALCULATE (
        MIN ( [Date] ),
        FILTER (
            Table1,
            [Date] >= EARLIER ( Table1[Date] )
                && [ID_Case] = EARLIER ( Table1[ID_Case] )
                && [Status] = "CLOSED"
        )
    )
)

这一计算栏将告诉我们案件何时结案。

然后,您可以在运行的cases度量中使用该计算列,如下所示:

代码语言:javascript
复制
Running Cases :=
CALCULATE (
    DISTINCTCOUNT ( Table1[ID_Case] ),
    FILTER (
        ALL ( Table1 ),
        [Date] <= MAX ( [Date] )
            && [ClosedOn] > MAX ( [Date] )
    )
)

数据透视表中的结果应该如下所示:

如果这有帮助的话请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41170155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档