Поиск или замена отсутствующих данных при извлечении ETL в SQL Server - PullRequest
0 голосов
/ 22 мая 2019

Я извлекаю данные встречи. использование хранимой процедуры из EMR для загрузки и форматирования для стороннего поставщика EDI. В некоторых данных отсутствует код процедуры, поэтому я создал таблицу «пешеходного перехода», которая сопоставляет типы поставщиков и типы посещений с соответствующими кодами. Теперь у меня проблемы с привязкой таблицы к тому месту, где код должен быть успешным. По сути, мне нужно следующее: «Если код процедуры равен нулю, перейдите в эту таблицу и найдите этот тип поставщика, затем этот тип посещения, а затем используйте код процедуры, связанный с этими двумя».

Я попытался использовать только цикл "Case when", но он дал такой большой результат, что не хватило места для его завершения (что определенно не должно быть так). Если я запускаю только код для таблицы «lookup», превращая ее во временную таблицу, она создает пропущенные коды. Я просто не могу понять, как вставить это в хранимую процедуру. Вот этот код:

SELECT #Crosswalk.PROC_CODE
FROM #Crosswalk

SELECT 
DISTINCT 
       a.[encounter id],
       CASE
           WHEN a.[Code] IS NULL
           THEN CASE
                    WHEN a.[Provider] = b.[Provider]
                    THEN CASE
                             WHEN a.[Visit Type] = b.[Visit Type]
                             THEN b.[Proxy Code]
                             ELSE a.[Code]
                         END
                    ELSE a.[Code]
                END
           ELSE a.[Code]
       END AS 'PROC_CODE'
INTO #Crosswalk
FROM v_all_encounters AS a
     FULL OUTER JOIN [dbo].[Crosswalk] AS b ON a.[Provider] = b.[Provider]




/*  It needs to go in the stored procedure right where a.[Code] AS 'PROC CODE' is below; if a.[Code] is NULL--I need it to replace it with my alternate code*/

  '' AS 'Type_of_Service', 
  '' AS 'Revenue_Code',
  a.[Code] AS 'PROC_Code', 
  '' AS 'PROC_Code_MOD1', 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...