Расчетная мера DISTINCTCOUNT по отфильтрованным таблицам - PullRequest
0 голосов
/ 16 октября 2018

Мне нужно создать вычисляемую меру различного количества столбцов, полученную из двух таблиц с фильтрами, примененными к каждой.Таблицы имеют отношение друг к другу и к измерению даты (одна активна, другая неактивна)

Я собрал рабочий образец с уже используемыми мерами и показываю желаемую меру состояния.

Я создал вычисляемую меру, используя SUMMARIZECOLUMNS для каждой таблицы (ИСПОЛЬЗУЯ TREATAS для фильтрации, затем сделал UNION из них, но он не сохранил контекст фильтра даты.

Поискнекоторая помощь DAX, пожалуйста!

Ссылка на модульный тест

Image of the Tables & Relationships


Текущие показатели:

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"
)

1 Ответ

0 голосов
/ 18 октября 2018

Я решил это с помощью нижнего DAX.Первоначально я пытался использовать SUMMARIZECOLUMNS, чтобы получить СОЮЗ между двумя, однако, заменив на CALCULATETABLE, я смог достичь желаемого результата.

В логических терминах я взял общую сумму, добавив две меры, перечисленные ввыше, и просто удалил COUNTROWS, где у обоих был INTERSECT.

Мера пересечения:

  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
...