Если ваши данные выглядят так: Таблица 1 :
COL1 COL2
1 VIT_A VIT_C
2 12 10
3 23 9
4 22 0
Вам просто нужно использовать where
предложение
Если ваши данные выглядят так: Таблица [2] :
COL1 COL2
1 VIT_A VIT_C
2 12 23 22 0 32 0 11 10 9 0 21 0 26 76
Затем вы можете использовать функцию tranwrd
для замены ' '
на ','
, затем заменить '0'
на ''
Раствор для стола 1 :
Данные:
data have;
input VIT_A VIT_C;
datalines;
12 10
23 9
22 0
0 21
3 20
0 26
11 76
;
run;
Создайте две новые таблицы без значений 0
и добавьте номер строки как obs
:
proc sql;
create table VIT_A as
select monotonic() as obs , VIT_A from have where VIT_A ne 0 ;
create table VIT_C as
select monotonic() as obs ,VIT_C from have where VIT_C ne 0;
quit;
Объединить две таблицы:
data want;
merge VIT_A VIT_C;
by obs;
run;
Выход:
obs=1 VIT_A=12 VIT_C=10
obs=2 VIT_A=23 VIT_C=9
obs=3 VIT_A=22 VIT_C=21
obs=4 VIT_A=3 VIT_C=20
obs=5 VIT_A=11 VIT_C=26
obs=6 VIT_A=. VIT_C=76
![Output](https://i.stack.imgur.com/N19EZ.png)