powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / SAS объединение 2 таблиц.
12 сообщений из 12, страница 1 из 1
SAS объединение 2 таблиц.
    #38647122
Evgeniy78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Столкнулся с проблемой, есть 10 датасетов с посчитанными данными (формат колонок: имя - char, значения - num).
Но мне необходимо все эти данные вывести в файл *.txt с шапкой и колонтитулом. Единственный вариант, который нашел

proc export data=t1
outfile="/t1.txt"
dbms=TAB;
REPLACE;
run;


Но не могу объединить все таблицы в одну, т.к. в шапке все колонки в формате char.

Пробовал перевести цифру в символы

data t1 (drop = n);
set t1;
n1 = put(n,comma8.2);
run;


но к сожалению у меня каждая строка имеет свой формат, а при переводе в символы вся колонка автоматически трансформируется в один формат.
Пример:
Duration of MS (years)
N xx
Mean xx.x
SD xx.xx
Median xx.x
Min xx
Max xx

Duration of MS (years): N(%)
<1 xx (xxx.x%)
>=1-<=5 xx (xxx.x%)
5>-<=10 xx (xxx.x%)
10>-<=15 xx (xxx.x%)
>15 xx (xxx.x%)


Может есть и другие способы сохранить в текстовый файл несколько датасетов.

P.S. Заранее благодарен.
...
Рейтинг: 0 / 0
SAS объединение 2 таблиц.
    #38648271
pentaho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Evgeniy78,

попробуйте через оператор FILE:

Код: plsql
1.
2.
3.
4.
5.
data _null_;
  file "C:\t.txt";
  set t1 t2 ... t10;
  put name  value;
run;
...
Рейтинг: 0 / 0
SAS объединение 2 таблиц.
    #38650127
Evgeniy78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо за ответ, частично помог.
Но если мне надо вывести из:

proc print data=tit5 noobs NOHEADER;
run;

proc report data=a4 nowd headline out=a5 (drop=_BREAK_) ls=120 ps=40 formchar (2) = '_' ;
.........


Нашел вариант:

ods rtf file="text_trad.rtf" ;
.....................
ods rtf close;


но у него 2 недостатка:
1) Выводит в rtf, html, pdf а мне надо txt
2) При выводе в rtf у меня ширина всех колонок 1 символ, а настройку ширины колонок не найду, мне бы что бы брало из программы по умолчанию.
...
Рейтинг: 0 / 0
SAS объединение 2 таблиц.
    #38650170
Evgeniy78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще забыл упомянуть. Если возможность разбивать на листы по блокам и выводить верхний и нижниЙ колонтитулы?
...
Рейтинг: 0 / 0
SAS объединение 2 таблиц.
    #38650974
pentaho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Evgeniy782) При выводе в rtf у меня ширина всех колонок 1 символ, а настройку ширины колонок не найду, мне бы что бы брало из программы по умолчанию.
1 символ? Остальные символы пропадают? Покажите ваш код и снимок экрана.

Evgeniy78Еще забыл упомянуть. Если возможность разбивать на листы по блокам и выводить верхний и нижниЙ колонтитулы?
Многие процедуры поддерживают операторы by и page by.
Заголовок - оператор title, колонтитул - footnote.

Покажите пример ваших таблиц и пример текстового файла, который хотите получить - так будет быстрее.
...
Рейтинг: 0 / 0
SAS объединение 2 таблиц.
    #38651029
Evgeniy78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Вот снимок вывода в rtf файл http://clip2net.com/s/iaRG1v]
вот снимок, если раздвинуть колонки данные не пропадают http://clip2net.com/s/iaRJ3q]

вот как должно быть выведено в текстовый файл

вот кусок кода

ods rtf file="c:\tab16.rtf" ;

proc report data=tab16 nowd headline out=a5 (drop=_BREAK_) ls=120 ps=40 formchar (2) = '_';
column seqno site pt name presbase studstrt durstud cont;
define seqno / order noprint;
define site / group "Site" width=6;
define pt / group "Sibject" width=12;
define name / order 'Medication: V: Verbatim P: Preferred Term C: ATC Level 3'
width=20;
define presbase / width=11;
define studstrt / width=12;
define durstud / ' Stopped During Trial' width=10;
define cont / ' Continuing At End of Trial' width=12;
title1 'Appendix 16.2.7';
title2 'Concomitant Medications';
title3 'Safety Population';
title4 'TREATMENT SEQUENCE = KEMSTRO/BACLOFEN';
footnote2 'Note: Medications coded with WHO Drug 2004 First Quarter.';
run;

ods rtf close;


2) титул и колонтитул выводятся, но как мне в шапку вставить дату и число страниц не знаю пробовал через

ods escapechar='~';
title1 j=r 'Page ~{thispage} of ~{lastpage}';


но не срабатывает у меня версия 9,2
...
Рейтинг: 0 / 0
SAS объединение 2 таблиц.
    #38651032
Evgeniy78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот код раздвинутых колонок
...
Рейтинг: 0 / 0
SAS объединение 2 таблиц.
    #38651033
Evgeniy78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
SAS объединение 2 таблиц.
    #38651034
Evgeniy78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не хочет что то вставлять ссылку http://clip2net.com/s/iaRShe
...
Рейтинг: 0 / 0
SAS объединение 2 таблиц.
    #38653819
pentaho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Evgeniy782) титул и колонтитул выводятся, но как мне в шапку вставить дату и число страниц не знаю пробовал через

ods escapechar='~';
title1 j=r 'Page ~{thispage} of ~{lastpage}';


но не срабатывает у меня версия 9,2

Пример вывода по страницам + кол-во страниц + дата:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
data test;
  do page = 1 to 3;
    do value = 1 to 3;
	  output;
    end;
  end;
run;


ods html;

%macro print_by_page;

  %do page = 1 %to 3;
    %put &page;

	title "Page &page of 3. &sysdate";

    proc print data = test(where = (page = &page)) noobs;
    run;

  %end;

%mend;

%print_by_page;

ods html close;



Результат:
...
Рейтинг: 0 / 0
SAS объединение 2 таблиц.
    #38654467
Evgeniy78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ, данный вариант работает. Но не подскажите как его вставить в процедуру [b]proc report [/b], что бы там считало страницы и выводило дату в шапке каждой страницы?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
SAS объединение 2 таблиц.
    #39195804
Tanya_Komp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евгений, Вы еще здесь? Очень нужна Ваша помощь
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / SAS объединение 2 таблиц.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]