我有以下数据集:
数据集L
我想编写 DAX 代码,但我没有找到以下情况的正确逻辑: 上面的数据集表代表主题表,其中包含“类别”和“日期”列
我有 2 个切片器,它们来自日历和比较日历表,其中日历表与主题表有关系,但比较日历表与主题表没有活动关系。 当人们在提供的切片器中分别从日历和比较日历表中选择 2 个日期(之前和之后的日期)时,DAX 会将类别名称分为 3 个集群: 1) 已退休 - 当较晚的日期没有前一个日期的类别名称但前一个日期有类别名称时 2)现有 - 当较晚的日期和较早的日期确实具有相同的类别名称时 3)新 - 当稍后的日期确实具有前一个日期的类别名称但前一个日期没有类别名称时
以下是数据模型截图:
预期结果如下:
您应该首先将关系更新为一对多和单向。应该如下所示:
然后创建一个新的Measure:
Cluster =
var d1 = CALCULATE( COUNTROWS('Subject'), REMOVEFILTERS('Comparison Calendar') )
var d2 = CALCULATE( COUNTROWS('Subject'), REMOVEFILTERS('Calendar'), USERELATIONSHIP('Comparison Calendar'[Date], 'Subject'[Date]) )
return SWITCH( TRUE(),
d1 > 0 && ISBLANK(d2), "retired",
d1 > 0 && d2 > 0, "existing",
ISBLANK(d1) && d2 > 0, "new"
)
这应该会产生以下结果: