Различное количество элементов в столбце, кроме выбранного в слайсере DAX

Я пытаюсь написать дакс для следующего запроса:

select EncounterID
,EncounterDateKey 
,DxCode
,DxID  
into #PatEnc
from table1
where EncounterDateKey = 20180601
  and DxCode = 'Z00.00'

select count(distinct(dbf.DiagnosisCode))
from #PatEnc    
 left outer join tabel1 dbf on dbf.EncounterID = 
  #PatEnc.EncounterID
 where dbf.DxCode != 'Z00.00'

Моя таблица фактов имеет следующую структуру

EncounterID      EncounterDateKey     DxCode     DxID
1                20180601             Z00.00      1
1                20180601             Z00.01      2
1                20180601             D00.00      3
2                20180601             A00.0       4
2                20180601             Z00.00      1
3                20180601             B00.00      5
3                20180601             F0.0        6

поэтому код Dax должен возвращать счет как 3, так как есть 3 различных кода Dx для Встреч, которые были выбраны, когда Z00.00 был выбран из среза. Я пробовал фильтр и функцию исключения для кода DAX, но он не дает точных результатов.

Я получаю значение, выбранное в слайсере, но не могу получить количество оставшихся значений. Любая помощь приветствуется.

1 ответ

Решение

Ответ отредактирован, вопрос обновлен:

Этот запрос возвращает различное количество невыбранных DxCode(s) за Encounter ID(s) связано с выбранным DxCode(s):

Count Unselected = 
VAR SelectedDxCodes = VALUES ( Table1[DxCode] )
VAR SelectedEncounterIDs = VALUES ( Table1[EncounterID] )
RETURN
    CALCULATE ( 
        DISTINCTCOUNT ( Table1[DxCode] ),
        ALL ( Table1[DxCode] ),
        ALL ( Table1[EncounterID] ),
        NOT ( Table1[DxCode] IN SelectedDxCodes ),
        Table1[EncounterID] IN SelectedEncounterIDs
    )

В настоящее время возвращается BLANK если нет DxCode Выбор слайсера сделан, поскольку этот случай не объясняется в вашем вопросе.

Другие вопросы по тегам