Различное количество элементов в столбце, кроме выбранного в слайсере DAX - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь написать 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 для Encounters, которые были выбраны, когда Z00.00 был выбран из среза.Я пробовал фильтр и функцию исключения для кода DAX, но он не дает точных результатов.

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

1 Ответ

0 голосов
/ 04 декабря 2018

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

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

...