Различное количество элементов в столбце, кроме выбранного в слайсере 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
Выбор слайсера сделан, поскольку этот случай не объясняется в вашем вопросе.