2015-06-18 3 views
-2

Say У меня есть следующие данные:счетная и Суммирование количество времени, наблюдение происходит группой в SAS

Ad_Code  Employers   State City 
    246   McDonald   CA  Los Angeles 
    345   Mcdonald   CA  Los Angeles 
    4547  Mcdonald   CA  Los Angeles 
    4563  TJMax    CA  SanFran 
    5475  TJMax    CA  SanFran 
    23   TJMax    CA  SanFran 
    6   BestBuy   CA  SanFran 
    66747  BestBUy   CA  SanFran 
    7   Walmart   CA  Los Angeles 
    71   Walmart   CA  Lost Angeles 

Теперь я хочу, чтобы создать программу, которая будет выплюнуть Топ 2 нанимателей с большинством объявлений на город в штате, а также за государство. Так, например, для Лос-Анджелеса, топ-2 работодателей будут McDonald и Walmart, в то время как для San Fran это будет TJMax и Best Buy. А для штата Калифорния в целом два лучших работодателя будут TJMax и BestBuy. Другая часть моей проблемы заключается в создании своего рода «счетного» метода из AD_Code. Так что мои таблицы Excel (на одном листе для каждого города, а затем состояние) будет выглядеть следующим образом:

Лист 1 (state_CA)

Employer Count 
TJMAX  3 
BestBuy  3 

Лист 2 (City_LA)

City Employer Count 
    LA McDonald 3 
    LA Walmart  2 

лист 3 (City_SF)

City Employer Count 
    SF TJMAX  3 
    SF BestBuy  2 

Также, как я могу получить граф из Ad_code? Есть ли способ подсчитать количество времени, которое значение появится в столбце AD_code, а затем присвоить ему значение 1, а затем суммировать все значения, которые появляются в Ad_code, и поместить их под новым заголовком столбца с именем Count? Как мне пойти на выполнение такой задачи? Любая помощь будет принята с благодарностью.

+1

Stack Overflow предназначен для вопросов о коде, который вы написали, а не о написании кода. Пожалуйста, смотрите онлайн для документации процедур, таких как «PROC RANK» или «PROC MEANS», попытайтесь решить эту проблему, а затем вернитесь с конкретными вопросами. – Joe

+0

Спасибо, Джо. Я на самом деле не искал, чтобы кто-то написал мне код, но просто чтобы направить меня на некоторые процедуры, которые я мог бы использовать для выполнения такой задачи. – user2916331

ответ

2

Общий путь я бы подойти к этому:

  1. PROC MEANS, с class заявления, используя обе группировки переменных и type заявление, определяющее виды комбинаций этих группирования переменных, которые вы хотите (звучит как только 1 способ, так что вы даже можете использовать ways=1). Выведите в набор данных нужную вам статистику.

  2. Используйте уровень данных или proc rank, чтобы рассчитать числа и сохранить только те, которые вы хотите (так rank le 2 или некоторые из них).

  3. Возьмите выходной набор данные и экспортировать его с помощью proc export с where положения, или если вы пишете много экспорта, использует метод управляемых данных для создания макро-вызовов на макрос, который запускает свой экспорт ргоса для вас. Поиск «SAS», ориентированное на данные, для этой цели.

+0

Спасибо, Джо. Это очень полезно. Для целей вывода, я на самом деле использую теги ODS ... Мне это очень нравится. Я думаю, что единственная проблема для меня прямо сейчас - это выяснить, как сделать какой-то счет для AD_Code, где он будет присваивать значение 1 всякий раз, когда есть код, а затем складывать все из этих 1 до конечного номера счета , – user2916331

+0

Посмотрите на proc и N статистику – Reeza

Смежные вопросы