我需要创建一个计算得出的不同列计数的度量,该度量来自两个表,每个表都应用了过滤器。表格之间相互关联,并且与日期维度(一个处于活动状态,另一个处于非活动状态)
我整理了一个工作样本,并使用了我已经在使用的度量,并显示了所需的状态度量。
我在每个表上使用SUMMARIZECOLUMNS创建了一个计算的度量(使用TREATAS进行过滤,然后对它们进行了UNION,但它没有保留日期的过滤上下文。
请寻找一些DAX帮助!
当前措施:
Valid Touch Point Contact =
CALCULATE(
COUNTROWS(OrderContact),
OrderContact[Direction]="Inbound",
OrderHeader[Region]<>"IE"
)
Valid Touch Point Header =
CALCULATE(
DISTINCTCOUNT(OrderHeader[Order Number]),
USERELATIONSHIP(OrderHeader[Created Date], 'Date'[Date]),
OrderHeader[Type]="Web",
OrderHeader[Region]<>"IE"
)
答案 0 :(得分:0)
我用下面的DAX解决了这个问题。最初,我曾尝试使用SUMMARIZECOLUMNS来使两者之间具有UNION,但是通过替换为CALCULATETABLE,我能够达到预期的结果。
从逻辑上讲,我通过添加上面列出的两个度量来求和,并简单地删除了两个具有相交的COUNTROWS。
相交度量:
Touch Point Intersect = CALCULATE(
COUNTROWS(
INTERSECT(
CALCULATETABLE(VALUES('OrderHeader'[OrderNumber]),
FILTER('OrderHeader',OrderHeader[Type]="Web",OrderHeader[Region]<>"IE"),
USERELATIONSHIP('OrderHeader'[Created Date],'Date'[Date])),
CALCULATETABLE(VALUES(Emails[OrderNumber]),
FILTER('OrderHeader',OrderContact[Direction]="Inbound",OrderHeader[Region]<>"IE"),
FILTER('Emails',OrderContact[Direction]="Inbound")
)
)))
因此,我需要的措施是:
Valid Touch Point Contact+ Valid Touch Point Header - Touch Point Intersect