首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用SUMMARIZE计算日期范围内的值

使用SUMMARIZE计算日期范围内的值
EN

Stack Overflow用户
提问于 2020-09-26 01:12:03
回答 1查看 24关注 0票数 0

我正在尝试使用汇总来生成一个表,其中包含人员列表(由PhishingZid表示)以及该人员在12个月内出现“网络钓鱼结果”为“失败”的次数。每个人的12个月期间将从CalendarMonth索引表示的日期开始,然后我想计算该月索引和月索引- 11之间的失败次数。

例如,假设网络钓鱼表中的当前行的ZID值为wzqc51,CalendarMonth索引= 27。在CALCULATE函数中,我想计算月份索引的失败次数,介于16和27之间。下面尖括号里的那块我看不懂。

此外,日历和网络钓鱼之间有一个1:M,日历表不是传统的每日日历。这是一个月历,其中月份指数1是数据的第一年和第一个月,月份指数27是我们拥有的数据的第27年和第27个月。

代码语言:javascript
运行
复制
SUMMARIZE(
    Phishing,
    Phishing[Zid],
    Calendar[Month Index],
    "Count", CALCULATE(
        COUNT(Phishing[Zid]),
        < I want to calculate a count between the current month index and month index - 11 >
        Phishing2[Phishing Outcome]= "Fail"
        )
    )

输出应如下所示:

代码语言:javascript
运行
复制
Zid      Month Index   Count
QZ4TIN   27            4

这意味着Zid为QZ4TIN的用户在月份索引16和27之间失败了四次。

EN

回答 1

Stack Overflow用户

发布于 2020-09-26 01:41:57

在没有数据可供测试的情况下编写DAX有点棘手,但我怀疑您可能想要这样的东西

代码语言:javascript
运行
复制
FILTER ( 
    ALL ( Calendar ),
    Calendar[Month Index] <= EARLIER ( Calendar[Month Index] ) &&
    Calendar[Month Index] >= EARLIER ( Calendar[Month Index] ) - 11
)

其中EARLIER引用较早的行上下文(来自汇总而不是过滤器),与日期或时间无关。

您可能希望在计算之前创建一个变量,而不是使用前面的

代码语言:javascript
运行
复制
SUMMARIZE (
    Phishing,
    Phishing[Zid],
    Calendar[Month Index],
    "Count",
        VAR CurrMonth = Calendar[Month Index]
        RETURN
            CALCULATE (
                COUNT ( Phishing[Zid] ),
                FILTER (
                    ALL ( Calendar ),
                    Calendar[Month Index] <= CurrMonth &&
                    Calendar[Month Index] >= CurrMonth - 11
                ),
                Phishing2[Phishing Outcome] = "Fail"
            )
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64068575

复制
相关文章

相似问题

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