안녕하세요?
가톨릭대학교 의료정보학교실 연구원 김동민입니다
현재 DataQualityDashboard 설치 중에 있는데요,
글 맨 밑에 작성한 에러 리포트와 같이
observation 테이블에서만 from 절이 빠져있다는 에러가 뜹니다
에러 리포트를 보니 observation 테이블 중,
총 4개의 필드 (unit_concept_id, observation_concept_id, observation_source_id, observation_type_concept_id)에서만 동일한 에러가 뜹니다
어느 구문에서 에러가 발생하는지 알아보기 위해
에러 리포트 내 쿼리 중 select 구문만 따로 따로 돌려봤더니,
SELECT ‘OBSERVATION.observation_source_concept_id’ AS violating_field, cdmTable.*
FROM somop.OBSERVATION cdmTable
WHERE cdmTable.observation_source_concept_id = 0 AND OBSERVATION.value_as_number IS NOT NULL;
위 구문에서 from 절이 빠져있다는 에러가 발생했습니다
그 중에서도 WHERE 이하의 OBSERVATION.value_as_number IS NOT NULL 구문에서 에러가 발생했습니다
이를 OBSERVATION.value_as_number IS NOT NULL 에서
‘OBSERVATION.value_as_number’ IS NOT NULL 으로,
작은 따옴표를(’ ')을 붙여서 돌렸더니 에러 없이 잘 돌아갔습니다
그러나 제가 돌린 코드는 R의 DataQualityDashboard::executeDqChecks() 로 돌린 코드이기 때문에
자동으로 sql 쿼리가 생성되는 것이어서, 제가 따로 작은 따옴표를 붙일 수가 없는 상황입니다
혹시 이럴 경우 어떻게 에러를 해결하는지 아시나요?
답변주시면 감사하겠습니다
김동민 드림
DBMS:
postgresql
Error:
org.postgresql.util.PSQLException: 오류: 테이블 "observation"에 FROM 절이 빠져 있습니다.
Position: 420
SQL:
/*********
CONCEPT_RECORD_COMPLETENESS
number of 0s / total number of records {OBSERVATION in (‘OBSERVATION’, ‘MEASUREMENT’)}{*for the OBSERVATION.unit_concept and MEASUREMENT.concept_id
the numerator and denominator are limited to records where value_as_number IS NOT NULL}
Parameters used in this template:
cdmDatabaseSchema = somop
cdmTableName = OBSERVATION
cdmFieldName = unit_concept_id
**********/
SELECT num_violated_rows, CASE WHEN denominator.num_rows = 0 THEN 0 ELSE 1.0num_violated_rows/denominator.num_rows END AS pct_violated_rows,
denominator.num_rows as num_denominator_rows
FROM
(
SELECT COUNT(violated_rows.violating_field) AS num_violated_rows
FROM
(
SELECT ‘OBSERVATION.unit_concept_id’ AS violating_field, cdmTable.
FROM somop.OBSERVATION cdmTable
WHERE cdmTable.unit_concept_id = 0 AND OBSERVATION.value_as_number IS NOT NULL
) violated_rows
) violated_row_count,
(
SELECT COUNT(*) AS num_rows
FROM somop.OBSERVATION WHERE OBSERVATION.value_as_number IS NOT NULL
) denominator
;
R version:
R version 3.6.3 (2020-02-29)
Platform:
x86_64-pc-linux-gnu
Attached base packages:
- stats
- graphics
- grDevices
- utils
- datasets
- methods
- base
Other attached packages:
- magrittr (1.5)
- DataQualityDashboard (1.0.0)
- DatabaseConnector (3.0.0)
- rJava (0.9-12)