Подсчет уникальных пациентов и общее наблюдение с использованием PROC SQL - PullRequest
0 голосов
/ 25 октября 2018

Работа в SAS, но с использованием некоторого кода SQL для подсчета количества уникальных пациентов, а также общего количества наблюдений для набора показателей.Каждая запись имеет идентификатор пациента, учреждение, в котором находится пациент, и группу бинарных показателей (0,1) для каждой секции кровати (конкретное место в больнице, где находится пациент).Для каждой записи пациента только 1 секция кровати может иметь значение «1».В целом, пациенты могут иметь несколько наблюдений в секции кровати или в других секциях кровати, то есть пациенты могут быть госпитализированы> 1. Идея состоит в том, чтобы свернуть эти данные, установленные в учреждении, и подсчитать общее количество госпитализаций для каждой секции кровати, а такжеВсего людей для каждой секции кровати.Количество людей всегда будет <= к количеству наблюдений.Подсчет людей был просто добавлен в мой список дел, и к этому моменту я только суммировал наблюдения для каждой секции кровати, используя код ниже: proc sql;создать таблицу fac_bedsect как средство выбора, sum (bedsect_alc) как bedsect_alc, sum (bedsect_blind) как bedsect_blind, sum (bedsect_gen) как bedsect_gen из группы bedsect_type по объекту;quit; </p>

Есть ли способ, которым я могу включить в этот код количество уникальных людей для каждой секции кровати?Спасибо.

1 Ответ

0 голосов
/ 25 октября 2018

Без знания исходной таблицы (таблиц) невозможно дать точный ответ, но синтаксис для подсчета различных значений такой, как показано ниже.Вам нужно будет использовать правильное имя столбца, где я использовал «Patient_id»:

SELECT
    facility
  , COUNT(DISTINCT patient_id) AS patient_count
  , SUM(bedsect_alc)           AS bedsect_alc
  , SUM(bedsect_blind)         AS bedsect_blind
  , SUM(bedsect_gen)           AS bedsect_gen
FROM bedsect_type
GROUP BY
    facility
;
...