date - DAX 日历月中的所有活动订阅,X 个月前
问题描述
我对 DAX 和 PowerBI 比较陌生,并且有一个问题让我陷入困境。
我有一个表,其中包含来自我的源系统的数据和一个日历表,我还有一个度量表,其中计算/存储了各种 DAX 度量。
在源系统中,我有 3 列与此处相关:Unique_ID、PurchaseDate、TerminationDate
TerminationDate 要么有值(如订阅终止)要么为 NULL(因此处于活动状态)
我要解决的问题是,我想知道 N 个月前有多少活动订阅,并将其作为动态值。
我最初认为我在下面的代码中取得了成功,但是当我更改变量 Month1 以 1 为增量索引它时,例如: =MONTH(TODAY())-2 =MONTH(TODAY())-3 等)价值没有改变。
Previous 1 month Total active Services =
var month1= MONTH(TODAY())-1
var year= YEAR(TODAY())
return
calculate(
COUNTROWS(Table1),
FILTER(Table1,
Table1[PurchaseDate] >= month1
&& Table1[PurchaseDate] >= year
&& ((Table1[TerminationDate] <= month1
&& Table1[TerminationDate] <= year)
|| isblank(Table1[TerminationDate]) )
))
所以,然后我决定上面的内容太聪明了,我会通过对购买日期等于或小于今天的 Month-1/Year 的所有订阅采取措施来简化事情,这是终止日期的另一种措施小于或等于今天的 Month-1/Year,然后从另一个中减去一个应该给出答案。
Previous 1 month Total active Services calculation 2 =
var month1= MONTH(TODAY())-1
var year= YEAR(TODAY())
return
calculate(
COUNTROWS(Table1),
FILTER(Table1,
Table1[TerminationDate] <= month1
&& Table1[TerminationDate] <= year
))
请记住,我通过在 SQL 后端运行它来验证上述的准确性(这一切都是在数据库的副本上完成的,所以我知道没有生产更改)
select count(t.unique_id)
from table1 t
where t.terminationdate <= '2020-07-31'
然后做同样的事情,但使用“2020-06-30”等。
理想情况下,该解决方案不需要创建额外的列,也不需要使用切片器——这是为了(应该是)一个非常简单的计算。
样本数据:
Unique_ID PurchaseDate TerminationDate
WM-SP-998407 2016-06-01 07:42:41.000 2020-01-02 11:25:26.000 WM-SP-998412 2016-06-01 08:02:11.000 2017-08-30 11:26:31.000 WM-SP-998417 2016-06-01 08:11:01.000 2017-08-30 11:26:05.000 WM-SP-998422 2016-06-01 08:11:02.000 2017-08-30 11:25:49.000 WM-SP-998427 2016-06-01 08:22:41.000 2018-08-30 11:26:18.000 WM-SP-998432 2016-06-01 08:47:41.000 NULL WM-SP-998437 2016-06-01 09:22:41.000 2020-03-07 08:10:49.000 WM-SP-998442 2016-06-01 09:25:42.000 NULL WM-SP-998447 2016-06-01 09:51:11.000 2018-08-30 11:26:33.000 WM-SP-998452 2016-06-01 09:51:11.000 NULL WM-SP-998457 2016-06-01 10:00:51.000 NULL
解决方案
推荐阅读
- c++ - 无法在完美转发中将“int&&”类型的右值引用绑定到“int”类型的左值
- javascript - JavaScript - 检查字符串的子字符串并将子字符串大写
- c# - Azure 人脸检测 API - 发送请求时出错
- sql - 在 Flask 的列中显示一定数量的字符
- redux - ngrx 中的参数化选择器的类型未知
- reactjs - React Ant 设计文件仅上传 xls 文件验证
- laravel - Select2 templateResult 不适用于触发器更改
- python - 在这个卷积神经网络机器学习模型中,我应该用什么替换“test_images”和“test_labels”?
- c# - 如果结构具有 ReadOnlySpan 字段,如何将 ref struct 参数传递给 MethodInfo
- asp.net - 如何显示正确的值?