У меня вопрос по SAS. У нас есть таблица crimes
, состоящая из преступлений (одно преступление в строке с множеством других сведений, таких как статья уголовного закона или дата).
Date Article
——————————————-
2019-01-01 146
2019-01-01 122
2019-01-01 123
2019-01-01 123
2019-01-02 160
...
Каждый год мы получаем анкету, в которой указывается, сколько преступлений было совершено по определенным категориям (например, мошенничество, убийства и т. Д.). К сожалению, категории в этой анкете не совпадают с нашими категориями (статьями уголовного закона). Итак, мы должны определить, какие статьи относятся к какой категории опросов. Эта информация хранится в таблице под названием definitions
.
В приведенном ниже примере есть две статьи (110, 111), которые можно кратко охарактеризовать как «кража», и три статьи, которые можно кратко охарактеризовать как «нападение»:
Category Article Query
———————————————————————-
Theft 110 select count(*) from crimes where article = 110
Theft 111 select count(*) from crimes where article = 111
Robbery 130 select count(*) from crimes where article = 113
Assault 140 select count(*) from crimes where article = 140
Assault 141 select count(*) from crimes where article = 141
Assault 146 select count(*) from crimes where article = 146
В нашей базе данных crimes
у нас также есть столбец «статья». Теперь наша цель - узнать, сколько существует преступлений.
В результате я хотел бы иметь такую таблицу, которая дает мне количество преступлений по категории (категории, определенные в таблице definitions
):
Category Count
———————————————————
Theft 10,038
Robbery 503
Assault 1,200
Теперь возникает вопрос: как лучше всего получить желаемый результат?