powerbi - 重置基于日期的计算
问题描述
我正在使用此报告逐月跟踪新的登录,目前工作正常,但我需要将所有内容重置为 0 - 以便每个财政年度的每个登录都再次被视为新登录。
登录表
ID | 姓名 | 日期 |
---|---|---|
登录1 | 山姆 | 2020 年 1 月 12 日上午 8:00:00 |
登录2 | 山姆 | 2020 年 1 月 12 日上午 9:00:00 |
登录3 | 戴夫 | 2020 年 1 月 12 日上午 8:00:00 |
登录4 | 戴夫 | 2020 年 1 月 12 日上午 9:00:00 |
登录5 | 杰克 | 2020 年 1 月 12 日上午 8:00:00 |
登录6 | 山姆 | 2020 年 1 月 12 日上午 9:00:00 |
登录7 | 詹姆士 | 2020 年 2 月 12 日上午 8:00:00 |
登录8 | 詹姆士 | 2020 年 2 月 12 日上午 9:00:00 |
登录9 | 詹姆士 | 2020 年 2 月 12 日上午 10:00:00 |
登录10 | 山姆 | 2020 年 3 月 12 日上午 8:00:00 |
登录11 | 山姆 | 2020 年 3 月 12 日上午 9:00:00 |
登录12 | 史蒂夫 | 2020 年 4 月 12 日上午 8:00:00 |
使用这些在 2 月过滤的数据,我们会看到史蒂夫在该日期之前从未登录,因此这使他成为“新人”。詹姆斯也是新人。
我最接近的尝试是自定义的“新个体计数”度量
VAR currentUsers = VALUES('Log-Ins'[Name])
VAR currentDate = MIN('Log-Ins'[Date])
VAR pastUsers = CALCULATETABLE(VALUES('Log-Ins'[Name]),
ALL('Log-Ins'[Date].[Month],'Log-Ins'[Date].[MonthNo],'Log-Ins'[Date].[Year])
, 'Log-Ins'[Date]<currentDate)
VAR newUsers = EXCEPT(currentUsers,pastUsers)
RETURN COUNTROWS(newUsers)
我试图添加一个硬编码并用它替换“currentDate”,但这给了我自该日期以来的所有登录,这是我不想要的。基本上我希望即使在 2020 年也已经登录的人再次被视为新人,但仅限于那个月,而不是直到明年(或我定义的任何日期)
VAR fiscalYear = DATE(2021,2,01)
我想我仍然必须使用 currentDate 但可能会根据财政日期过滤它?不知道该怎么做。
解决方案
不是我正在寻找的答案,但对于遇到此问题的任何人,我以更传统的方式解决了它。我添加了一个新的 FiscalYear 计算列,基本上说“如果日期 = x,将年份设置为 y”。
然后,我使用该计算列作为报告的过滤器,保持原始 DAX 不变,并允许我在报告的年份之间切换,同时保留所有“新”登录数据。
推荐阅读
- python - 将文本中的元素添加到字典
- mysql - 在 3 个表中使用 join 查询 knex
- javascript - 为什么将 SVG 图像导入到 Icon 对象时不显示?
- swift - 选择更改时,通过 NSViewRepresentable 将值从 NSTextView 传递到父 SwiftUI 视图
- excel - 如何在不同的 Excel 工作表中运行宏?它没有循环
- asp.net-core - 使用 EF .net 5 在 ASP.NET Core 中使用迷你探查器出现“未找到”错误
- algorithm - 计算 a[i] 最右边或最左边且最大的段
- php - 在 Codeigniter 中注册后如何进行安全的电话号码验证?
- react-native - React 导航钩子在 Class 组件中未按预期工作
- python - 如何使用虚拟环境访问自定义库中的外部文件?