Skip to content

Commit 63e4f17

Browse files
committed
Updates after webinar
1 parent bb9f7bf commit 63e4f17

11 files changed

+85
-64
lines changed

demo/sashelp_class.sas

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@
2121
dropseqvar=Y
2222
);
2323

24-
proc compare base=sashelp.class compare=work.class;
24+
proc compare base=sashelp.class compare=work.class listall;
2525
run;
Binary file not shown.
Binary file not shown.

macros/read_datasetjson.sas

+1
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,7 @@
264264
proc delete data=work.column_metadata;
265265
run;
266266

267+
libname json&_Random clear;
267268
filename json&_Random clear;
268269
filename map&_Random clear;
269270

File renamed without changes.
File renamed without changes.

programs/02_create_metadata_from_definexml.sas

+22
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,19 @@
1818
/* Some manual data type updates */
1919
data metaadam.metadata_columns;
2020
set metaadam.metadata_columns;
21+
22+
/* Define-XML v2 does not support decimal, but it is supported by Dataset-JSON. */
23+
/* This update is just to show that it works in Dataset-JSON. */
2124
if xml_datatype='float' and index(name, 'VISIT')
2225
then json_datatype='decimal';
26+
27+
if missing(length) then do;
28+
if xml_datatype="date" then length=10;
29+
if xml_datatype="partialDate" then length=10;
30+
if xml_datatype="partialDatetime" then length=19;
31+
if xml_datatype="durationDatetime" then length=19;
32+
if xml_datatype="datetime" then length=19;
33+
end;
2334
run;
2435

2536
/* Create metadata from Define-XML for SDTM */
@@ -31,8 +42,19 @@ run;
3142
/* Some manual data type updates */
3243
data metasdtm.metadata_columns;
3344
set metasdtm.metadata_columns;
45+
46+
/* Define-XML v2 does not support decimal, but it is supported by Dataset-JSON. */
47+
/* This update is just to show that it works in Dataset-JSON. */
3448
if xml_datatype='float' and name ne 'LBSTRESN'
3549
then json_datatype='decimal';
50+
51+
if missing(length) then do;
52+
if xml_datatype="date" then length=10;
53+
if xml_datatype="partialDate" then length=10;
54+
if xml_datatype="partialDatetime" then length=19;
55+
if xml_datatype="durationDatetime" then length=19;
56+
if xml_datatype="datetime" then length=19;
57+
end;
3658
run;
3759

3860

programs/03_write_datasetjson.sas

+31-33
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,20 @@ data _null_;
2424
jsonpath=cats("&project_folder/json_out/adam/", datasetname, ".json");
2525
fileoid=cats("&_fileOID", "/", "%sysfunc(date(), is8601da.)", "/", datasetname);
2626
code=cats('%nrstr(%write_datasetjson('
27-
, 'dataset=dataadam.', datasetname, ','
28-
/* , 'xptpath=', fullpath,',' */
29-
, 'jsonpath=', jsonpath, ','
30-
, 'usemetadata=N,'
31-
, 'metadatalib=metaadam,'
32-
, "fileOID=", fileoid, ","
33-
, "asOfDateTime=2023-05-31T00:00:00, "
34-
, "originator=CDISC ADaM MSG Team", ","
35-
, "sourceSystem=Sponsor System,"
36-
, "sourceSystemVersion=1.0,"
37-
, "studyOID=&_studyOID,"
38-
, "metaDataVersionOID=&_metaDataVersionOID,"
39-
, "metaDataRef=define.xml"
40-
,');)');
27+
, 'dataset=dataadam.', datasetname, ','
28+
/* , 'xptpath=', fullpath,',' */
29+
, 'jsonpath=', jsonpath, ','
30+
, 'usemetadata=N,'
31+
, 'metadatalib=metaadam,'
32+
, "fileOID=", fileoid, ","
33+
, "asOfDateTime=2023-05-31T00:00:00, "
34+
, "originator=CDISC ADaM MSG Team", ","
35+
, "sourceSystem=Sponsor System,"
36+
, "sourceSystemVersion=1.0,"
37+
, "studyOID=&_studyOID,"
38+
, "metaDataVersionOID=&_metaDataVersionOID,"
39+
, "metaDataRef=define.xml"
40+
,');)');
4141
call execute(code);
4242
run;
4343

@@ -50,7 +50,7 @@ run;
5050

5151
%util_gettree(
5252
dir=&project_folder/data/sdtm_xpt,
53-
outds=dirtree_sdtm,
53+
outds=work.dirtree_sdtm,
5454
where=%str(ext="xpt" and dir=0)
5555
);
5656

@@ -60,27 +60,25 @@ run;
6060

6161
data _null_;
6262
length datasetname $64 jsonpath $512 fileoid $128 code $2048;
63-
set dirtree_sdtm;
63+
set work.dirtree_sdtm;
6464
datasetname=scan(filename, 1, ".");
6565
jsonpath=cats("&project_folder/json_out/sdtm/", datasetname, ".json");
6666
fileoid=cats("&_fileOID", "/", "%sysfunc(date(), is8601da.)", "/", datasetname);
6767
code=cats('%nrstr(%write_datasetjson('
68-
/* , 'dataset=datasdtm.', name, ',' */
69-
, 'xptpath=', fullpath,','
70-
, 'jsonpath=', jsonpath, ','
71-
, 'usemetadata=Y,'
72-
, 'metadatalib=metasdtm,'
73-
, "fileOID=", fileoid, ","
74-
, "asOfDateTime=2023-05-31T00:00:00, "
75-
, "originator=CDISC SDTM MSG Team,"
76-
, "sourceSystem=Sponsor System,"
77-
, "sourceSystemVersion=1.0,"
78-
/*
79-
, "studyOID=&_studyOID,"
80-
, "metaDataVersionOID=&_metaDataVersionOID,"
81-
*/
82-
, "metaDataRef=define.xml"
83-
,');)');
68+
/* , 'dataset=datasdtm.', name, ',' */
69+
, 'xptpath=', fullpath,','
70+
, 'jsonpath=', jsonpath, ','
71+
, 'usemetadata=Y,'
72+
, 'metadatalib=metasdtm,'
73+
, "fileOID=", fileoid, ","
74+
, "asOfDateTime=2023-05-31T00:00:00, "
75+
, "originator=CDISC SDTM MSG Team,"
76+
, "sourceSystem=Sponsor System,"
77+
, "sourceSystemVersion=1.0,"
78+
/* , "studyOID=&_studyOID," */
79+
/* , "metaDataVersionOID=&_metaDataVersionOID," */
80+
, "metaDataRef=define.xml"
81+
,');)');
8482
call execute(code);
8583
run;
8684

@@ -92,4 +90,4 @@ libname metaadam clear;
9290
libname metasdtm clear;
9391
libname dataadam clear;
9492
libname datasdtm clear;
95-
*/
93+
*/

programs/04_read_datasetjson.sas

+14-14
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,20 @@
1313
%put WAR%str(NING): No JSON files to read in directory &root/json_out/adam.;
1414
%end;
1515

16-
proc datasets lib=metainad nolist kill;
16+
proc datasets lib=metasvad nolist kill;
1717
quit;
1818
run;
1919

2020
data _null_;
2121
length code $2048;
2222
set work.dirtree_adam;
2323
code=cats('%nrstr(%read_datasetjson(',
24-
'jsonpath=', fullpath, ', ',
25-
'datalib=outadam, ',
26-
'dropseqvar=Y, ',
27-
'savemetadata=Y, ',
28-
'metadatalib=metainad',
29-
');)');
24+
'jsonpath=', fullpath, ', ',
25+
'datalib=outadam, ',
26+
'dropseqvar=Y, ',
27+
'savemetadata=Y, ',
28+
'metadatalib=metasvad',
29+
');)');
3030
call execute(code);
3131
run;
3232

@@ -44,20 +44,20 @@ run;
4444
%put WAR%str(NING): No JSON files to read in directory &root/json_out/sdtm.;
4545
%end;
4646

47-
proc datasets lib=metainsd nolist kill;
47+
proc datasets lib=metasvsd nolist kill;
4848
quit;
4949
run;
5050

5151
data _null_;
5252
length code $2048;
5353
set work.dirtree_sdtm;
5454
code=cats('%nrstr(%read_datasetjson(',
55-
'jsonpath=', fullpath, ', ',
56-
'datalib=outsdtm, ',
57-
'dropseqvar=Y, ',
58-
'savemetadata=Y, ',
59-
'metadatalib=metasdtm',
60-
');)');
55+
'jsonpath=', fullpath, ', ',
56+
'datalib=outsdtm, ',
57+
'dropseqvar=Y, ',
58+
'savemetadata=Y, ',
59+
'metadatalib=metasvsd',
60+
');)');
6161
call execute(code);
6262
run;
6363

programs/05_compare_data.sas

+14-14
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ data _null_;
2727
set members;
2828
name=lowcase(name);
2929
code=cats('%nrstr(%util_comparedata(',
30-
'baselib=dataadam, ',
31-
'complib=outadam, ',
32-
'dsname=', name, ', ',
33-
'compareoptions=%str(criterion=0.00000001 method=absolute), ',
34-
'resultds=work.results, ',
35-
'detailall=N',
36-
');)');
30+
'baselib=dataadam, ',
31+
'complib=outadam, ',
32+
'dsname=', name, ', ',
33+
'compareoptions=%str(criterion=0.00000001 method=absolute), ',
34+
'resultds=work.results, ',
35+
'detailall=N',
36+
');)');
3737
call execute(code);
3838
run;
3939

@@ -55,13 +55,13 @@ data _null_;
5555
set members;
5656
name=lowcase(name);
5757
code=cats('%nrstr(%util_comparedata(',
58-
'baselib=datasdtm, ',
59-
'complib=outsdtm, ',
60-
'dsname=', name, ', ',
61-
'compareoptions=%str(criterion=0.00000001 method=absolute), ',
62-
'resultds=work.results, ',
63-
'detailall=N',
64-
');)');
58+
'baselib=datasdtm, ',
59+
'complib=outsdtm, ',
60+
'dsname=', name, ', ',
61+
'compareoptions=%str(criterion=0.00000001 method=absolute), ',
62+
'resultds=work.results, ',
63+
'detailall=N',
64+
');)');
6565
call execute(code);
6666
run;
6767

programs/config.sas

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,5 @@ filename luapath ("&project_folder/lua");
2626
%SetLib(metaadam, &project_folder/metadata/adam);
2727
%SetLib(metasdtm, &project_folder/metadata/sdtm);
2828

29-
%SetLib(metainad, &project_folder/metadata_in/adam);
30-
%SetLib(metainsd, &project_folder/metadata_in/sdtm);
29+
%SetLib(metasvad, &project_folder/metadata_save/adam);
30+
%SetLib(metasvsd, &project_folder/metadata_save/sdtm);

0 commit comments

Comments
 (0)