Spectre (Clinical) bugs and changes log

Note: If you arrived at this page directly using a search engine such as Google then this may not be the "Spectre" you are looking for. There are a few software packages of this name. This "Spectre" is to do with Clinical Trials Reporting.


Bugs, changes and releases will be listed in descending date order in the next section. Macro names will be preceded by a "%" and scripts not.

List of outstanding bugs

%unistats: 05Feb12: There are reported bugs with the CMH and Welch test but these can no longer be fixed since my SAS Learning Edition expired

Bugs and changes log

15Apr15: All remaining Copyrighted code on this web site has been donated to the public domain making all the software on this web site free to use

%stdtc: 20Jan15: New utility macro added to find variables ending with STDTC or DTC

%blflagdtcm1: 02Jan15: New version of macro for flagging baseline values with ISO 8601 date(time) 20 character forms

%revfmt: 14Nov14: New utility macro added for reversing formats

%dropstartwords, %dropstartwordsm: 04Nov14: Two utility macros added (one for data step use, one for macro string use) that can drop start words in a string

%num2char: 06Oct14: Default format to use is now BEST&len.. where &len is the length of the output field (maximum 32)

%char2num: 05Oct14: Code changed to follow the methodology and techniques of %num2char

%numchars: 05Oct14: Changed to test for numeric using the comma32. informat

%num2char: 03Oct14: Enhanced to keep variable position and labels and now existing numeric format is used if available or BEST. instead

%cont2dict: 03Oct14: Bug in format and informat name preparation fixed and given a default output dataset name

%num2char: 01Oct14: New utility macro added for converting numeric variables to character

%samplevars: 29Sep14: An "order" parameter added so the user can show the least common or the most common sample values if desired

%----: 14Sep14: Use of "keyword" for boolean options dropped from various macros 

%printit: 19Aug14: New utility macro added that prints a dataset using "proc report" "ods pdf" style using formatting information stored in variable labels or extended dataset attributes

%samplevars: 09Jul14: Upgraded to allow for multiple input datasets and variable format applied to samples

%cont2dict: 09Jul14: Fixed a bug where zero format length gets appended onto format name

%samplevars: 08Jul14: New utility macro added to sample values from all variables in a dataset

%dlm2sas: 07Jul14: dsfixvars= processing added for easier changing of variable characteristics for output dataset

%rsubmitter, %mksharemac: 01Jul14: Macros upgraded

%cont2dict: 23Jun14: Fixed bug in type being the wrong way round

%mkdir: 19Jun14: New utility macro added to create a directory

%combpath: 18Jun14: New utility macro added that combines a base path and extension path translating extension slashes into majority base path slashes

%fencoding: 17Jun14: New utility macro added that detects the encoding of text files

%cont2dict: 17Jun14: Multiple input datasets allowed

%rsubmitter: 11Jun14: inheritlibs= and parmreplace= processing added

%rsubmitter: 08Jun14: Updated to calculate streams= value if null

%rsubmitter: 04Jun14: Updated to handle the situation where SAS/ACCESS is not licensed on the computer where it is called

%rsubmitter: 03Jun14: Updated to handle %include files

%mksharemac: 02Jun14: New utility macro added to create a shared macro library for use with remote sessions

%rsubmitter: 01Jun14: New utility macro added to submit a block of tasks to a specified number of multiprocessing sessions

%look4lwork: 01Jun14: New utility macro added to detect whether an LWORK libref exists and if so to adjust the current session settings

%mysasautos: 28May14: New utility macro to return a user's SASAUTOS setting with double quotes translated to single quotes

%dq2sq, %dq2sqnc: 27May14: New utility macros added to translate double quotes to single quotes

%nocommas: 27May14: New utility macro added to translate commas into spaces

%therest: 26May14: This macro flagged as OBSOLETE as it has been replaced by the %allafterc macro

%allafter, %allafterc, %cont2dict: 26May14: New utility macros added

%makehash, %varlens: 01May14: Updated

%cvarlens: 01May14: New utility macro added

%varlens, %makehash, %findinhash: 29Apr14: New utility macros added

%lslist2sas: 20Mar14: Default dataset name now starts with an underscore

20Mar14: Numerous "ds" and "sas" versions of utility macros added such that you can call a macro that creates a dataset either using "sas" in the macro name or "ds"

%fixiso8601: 27Feb14: Numeric variable _obsno added and kept set to _n_

%getvaluems: 22Feb14: New utility macro added that works like %getvalue but returns missing character values as a space in single quotes

%scanlog: 22Feb14: Changed so that the suppression of NOTEs in the code does not hide the important NOTEs diagnostics

%lscmd: 24Aug13: %ls renamed to %lscmd to avoid naming clash with sas autocall library macro

%fixiso8601: 02Aug13: New utility macro added that gives date and time ranges for ISO 8601 partial dates

%trim: 19Jul13: This utility macro deleted. Make sure SASAUTOS is on your sasautos path.

%popfmt: 17Jul13: Two new parameters added

%left, %compress, %verify: 17Jul13: These utility macros deleted. Make sure SASAUTOS is on your sasautos path.

%getfmts: 04Jul13: Major improvements made

%views2data: 28Jun13: New utility macro added that converts all the sas data views in one library to data sets in another library

%hasvarsc, %hasvarsn: 21Jun13: Diagnostic notes written to the log if there are no character variables or numeric variables for comparison

%match: 21Jun13: Logic changed to accept either or both of the reference list and the test list being null

%mkformat: 20Jun13: Macro changed to accept views as input

%combine: 14Jun13: Macro upgraded to be able to handle mixed "set" dataset concatenations and merges

%dropmodifmac: 14Jun13: New utility macro added that is the maco variable equivalent of  %dropmodifiers

%blflag: 13Jun13: New clinical utility macro added to flag baseline observations in simple cases

%dropmodifiers: 11Jun13: New utility macro added to drop dataset modifiers from a string

%lstlist2sas: 04Jun13: Problem with dates in the future fixed

%mkformat: 04Jun13: Macro changed to issue warnings if any repeats are found and to just use the first one

%lstlist2sas: 14May13: New utility macro added to read the output of the Unix/Linux "ls" command into a sas dataset

%dsplit: 06May13: New utility macro added for splitting up a space delimited list of datasets with their modifiers

%termstr: 02May13: New utility macro added that reads a text file and works out the most likely text line end characters (LF or CRLF)

%dlm2sas, %hexchars: 02May13: termstr= parameter added to both macros so the user can tell the macro what to expect for a text line end

%sqlsamevars: 30Apr13: New utility macro added to compare variables names and types in two different datasets/tables

%dlm2sas: 29Apr13: Updated to cope with file names with spaces, "%" and "&" in them

%samevars: 25Apr13: New utility macro added to compare variables names and types in two different datasets

%match: 25Apr13: Updated to accept both a missing reference list and missing test list

%dir2sas, %dirfp2sas, %dir, %dirfpq: 25Apr13: Updated to accept path names with spaces, "%"s and "&"s

%ls2sas, %lsfp2sas: 23Apr13: Two new utility macro added to write a list of Unix/Linux files in a directory matching a pattern to a sas dataset

%dir2sas, %dirfp2sas: 22Apr13: Two new utility macro added to write a list of Windows files in a directory matching a pattern to a sas dataset

%unfmt2mvar: 19Apr13: New utility macro added to nullify formats so that "select distinct" has access to unformatted data values

%commaparmsu: 16Apr13: New utility macro added that does the same as %commaparms but converts the parameter names to upper case as well

%dropend: 16Apr13: Updated to add escape character in the front of the delimiter if required

%dropend: 09Apr13: New utility macro added to drop the end segment of a macro string

%misscnt: 09Apr13: dsout= parameter added to optionally store results in a dataset

%optvarlen: 04Apr13: Minor bugs fixed

%optvarlen: 03Apr13: New utility macro added to create an output dataset with variables in the same order as the input dataset but with character variables having optimised lengths

%dsattr: 02Apr13: New utility macro added that extracts information about a dataset from dictionary.columns

%optlength: 02Apr13: dsout= parameter added so that changed lengths are available in a dataset for further processing

%mkformat: 28Mar13: fmtnotes=yes parameter added so that you can see proc format notes on the format creation

%sep2sp: 26Mar13: New utility macro added that converts groups of spaces and commas to single spaces

%lstattrib: 26Mar13: Temporary dataset names now prefixed with _lst

%commaparms: 25Mar13: New utility macro added that inserts needed commas into a list of macro parameters where these have been deliberately omitted

%scandlm: 25Mar13: New utility macro added that shows a delimiter in front of the scanned string

%dlm2sas: 21Mar13: Variable name correction algorithm changed to replace adjacent multiple invalid characters with a single underscore

%now: 19Mar13: default datetime format changed

%char2num: 15Mar13: upcase used in comparison of variable labels

%words: 09Jan13: Use of %qscan reinstated

%lstattrib: 03Jan13: dsattr= attributes dataset now tolerated without "format" and "informat" variables

%combine: 16Dec12: dsout= parameter added

%isoformats, %isodttm, %isodatepart, %isotimepart: 14Dec12: New utility macros added for working with ISO 8601 datetime values

%lstattrib: 13Dec12: initfile= parameter addded for storing initialization generated sas code

%misscnt: 06Dec12: Notes disabled plus a character "." regarded as a missing value

%misscnt: 03Dec12: New version with both a keep= and drop= list

%vars2num, %int2num: 27Nov12: New utility macros added for converting character variables to numeric variables of the same name

%lstattrib: 13Nov12: Updated to recognize views

%combine: 12Nov12: New utility macro added for combining datasets using given merge variables

%lstattrib: 07Nov12: Extra functionality added

%editlist: 01Nov12: New utility macro added to allow a list of space delimited items to be edited

%superql: 10Oct12: New utility macro added to test for content length of macro parameters or macro variables

%getfmts, %xlblocks, %rgpp: 15Sep12: Updated calls to %getvalue for new version macro

%getvalue, %getvalueq: 15Sep12: %getvalue default changed to not quote strings and %getvalueq is new to act like %getvalue did before

%worddateu, %sep2u, %worddate: 24Aug12: New function-style utility macros added to convert dates into worddate format

%appmvar: 23Aug12: New utility macro added to assist in appending onto an existing macro variable

%mkformat: 01Aug12: Added "other" processing plus allowed macro to accept zero obs input datasets

%aetab: 30Jul12: Call to %delmac added at the end

%unistats, %npcttab, %unipvals, %npctpvals: 20Jul12: Internally defined macro names now start with an underscore and are deleted at macro close using %delmac

%delmac: 20Jul12: New utiliy macro added that deletes macros in work.sasmacr based on a "like" pattern

%ksplitvar: 06Mar12: new utility macro added that is the utf-8 version of %splitvar

%splitvar: 06Mar12: extra parameters added to work more like the %ksplitvar macro

%splitvar:15Feb12: biglen= processing added

%comma2andmac, %comma2andvar: 11Feb12: Two new macros added that change the last ", " to " and "

%splitvar: 07Feb12: No longer use a length statement for the new variable.

%unistats: 26Jan12: plugtran= processing added

%unistats: 20Jan12: When ---STR character variables are created then rounding to the tenth decimal place will be applied

%lstlbls: 19Jan12: New utility macro to list variables with their labels to the log

%missvars: 19Jan12: NOTEs suppressed and a character field that is just a period when left aligned is also regarded as missing

%splitvar: 14Jan12: Commas additionally regarded as split points and work variable length increased to 8040

%unistats, %unimap: 10Jan12: msgs= processing added

%unistats: 10Jan12: misspad= processing added

%popfmt: 04Jan12: msgs= processing added

%unistats: 03Jan12: trtvallist= parameter added plus minor bug fixed with dpvar=

%unistats: 02Jan12: Bug with decimal place adjustment fixed and leftstr= processing added

%adjfmt, %mkformat: 02Jan12: NOTEs suppressed

%aetab, %npcttab, %popfmt, %unistats: 30Dec11: msglevel= processing changed to not show Notes by default

%popfmt: 30Dec11: _trtvallist_ added which is a list of treatment arm values unquoted

%unistats: 29Dec11: Major enhancement to add character variables ending in STR corresponding to transposed numeric variables with optional decimal places adjustment

%rgpp_old: 27Dec11: Removed from clinmacros as historic and no longer useful

%splitvar, %comblvls, %aetab: 26Dec11: Headers updated to explain that these macros currently only support Western character sets

%adjfmt: 21Dec11: new utility macro added to allow you to create a new format based on an existing format by adding leading spaces or a leading and a trailing underscore

%mkformat: 21Dec11: Enhanced to add underscore= processing

%lowcase: 18Dec11: Removed from the utility macro library as it is already there in the SI supplied autocall library

%npcttab: 12Dec11: Bug with setting style 3 label fixed

%popfmt: 12Dec11: indent= processing added

%unicatrep: 12Dec11: Used &startcol to position pageline and endline

%labncfb: 05Dec11: (was %rxlab) An example macro that uses %unistats to print lab (normalized) change from baseline added to the clinical reporting macros

%qleft, %qtrim: 05Dec11: Both removed from the utility macro library as they are already there in the SI supplied autocall library

%unistats: 04Dec11: _unidsin temporary dataset now deleted at the end of the macro

%popfmt: 01Dec11: underscore= processing added

%mkformat: 30Nov11: indent= processing added

%qdequote: 16Nov11: Bug when str="" fixed

%npctpvals: 16Nov11: "BY line truncated" messages minimized

%unistats: 16Nov11: (default=6) added to p63val format definition

%dosfdasize: 15Nov11: new macro to test sas dataset size for FDA submissions

%dosfilesize: 15Nov11: updated to cope with one or two level dataset names

%aetab: 14Nov11: Bug in handling p-values fixed where there were zero counts in a treatment arm 

%aetab: 08Nov11: filtercode= and extmacro= processing added

%unistats, %unipvals: 05Nov11: Updated for the ttest and Satterthwaite approximation

%npcttab: 03Nov11: Numeric formats automatically adjusted for maximum value and bug with character variable treatment arm handling fixed

%aetab, %prntlvls: 02Nov11: pvalue processing added

%clashvars, %clashlibs: 02Nov11: Notes in the log suppressed

%aetab, %trnslvls: 31Oct11: Updated to automatically correct too small formats for nfmt= and evfmt= 

%npcttab: 30Oct11: style3lbl= value now automatically generated if left blank

%aetab: 28Oct11: New clinical macro for multi-level AE reporting of patient counts, percentages and optional event counts

%splitvar: 28Oct11: Bug with "lenvar" fixed

%npcttab: 28Oct11: hindent= default value changed from 1 to 0

%freqlvls, %trnslvls, %comblvls, %prntlvls: 27Oct11: New clinical reporting component macros added

%mkordinfmt: 26Oct11: New utility macro added

%npcttab: 24Oct11: Bug with positioning of compute block line fixed

%splitvar: 19Oct11: Bug with __minw fixed

%sas2tabdlm: 15Oct11: New utility macro added

%npcttab: 13Oct11: Now odsescapechar="°" to match %unistats

%unistats, %unipvals: 10Oct11: Both macros changed to allow other procedures to replace "proc glm". Work on this is ongoing and during this time the %unipvals macro is unstable.

%npcttab: 06Oct11: midskip= and highskip= parameters added to control spacing between groupings

%unistats: 27Sep11: Variable length of 30 used where it used to be &strlen

%unipvals: 26Sep11: freqsept and glmquad processing changed to allow stats values to be placed in treatment columns

%xlblocks: 24Sep11: Logic for detecting blocks rewritten

%gettitles: 19Sep11: New utility macro to read the titles of an LST file and write them to the global macro variable _titles_

%scanfile: 19Sep11: changed to use EMPTY to signify an empty file in keeping with the %gettitles macro

%unistats, %unicatrep: 17Sep11: nodata= processing added

%scanfile: 17Sep11: New utility macro added to scan a file for a string or RE and return a count of the number of lines that contain the string or match the RE

%var2mvar: 09Sep11: New utility macro to write a variable's contents to a global macro variable

%lstattrib: 30Aug11: Enhanced version that initialises all the variables

%unistatlabel: 28Aug11: Added mapping for confidence limits for the spread of values

%unimap: 28Aug11: Map statistics label S.D. to the STD keyword

%unistats: 28Aug11: Default descriptive statistcs changed and bug fixed in decimal places adjustment

%npcttab: 19Aug11: Changed call to %splitvar due to parameter renaming

%splitvar: 19Aug11: New version that treats colons as an indentation marker

%md5sum: 12Aug11: Utility macro added to run the "md5sum" checksum utility on a dataset held on the remote server

%rcmd2log, %rcmd2ds, %rcmd2mvar: 12Aug11: New utility macros added to run Unix commands on the remote server

%scanlog: 31Jul11: New version 3.0 for better handling of interactive sas sessions log windows plus "rules file" use, multiple log files and Perl Regular Expression processing

%unistats, %unicatrep: 26Jul11: trtw= and trtsp= parameter count increased from 15 to 19

%killsess, %killsas: 26Jul11: Utility macros added to kill of bad SAS sessions on Citrix

%env2ds, %env2dsw7: 25Jul11: Test for missing value added

%unistats, %unicatrep: 23Jul11: spacing= and trtsp1-15= parameters added

%npcttab: 23Jul11: Bug in alllowlvl=yes handling fixed

%npcttab: 22Jul11: Improved handling of dsall= data to fill missing higher level variables and alllowlvl= and dsallonly= processing added

%npcttab: 17Jul11: Flow of ascii text for style=3 reports improved using %splitvar macro plus 3-level reports allowed for style=3

%splitvar: 14Jul11: New version to maintain indents when flowing and to add an optional "hanging indent"

%unistats, %unicatrep, %npcttab: 12Jul11: trtalign= parameter added

%hexchars: 02Jul11: Added check for input file existence

%dlm2sas: 02Jul11: Improved parameter checking

%dlm2sas: 01Jul11: Utility macro added to read delimited files into a sas dataset

%clashlibs: 30Jun11: Utility macro added to check for dataset variable inconsistencies across different assigned libraries

%clashvars: 30Jun11: route output to log by default and allow to route to print output as well as a file as before

%ls, %lsfpq, %dir, %dirfpq, %xlblocks, %xl2sas, %xlsheets: 26Jun11: Changed to tolerate unexpected file name quoting

%asciinonp, %hexchars: 25Jun11: %asciinonp removed as %hexchars does the same job and now enhanced to optionally route output to the log or print output and made more friendly about file quoting

%npcttab: 23Jun11: anywhen=after processing bug fixed

%savopts: 14Jun11: New function-style utility macros added to save sas options for later restoring that will compensate for badly formed expressions for missing=" " and formdlim=" "

%dirfpq, %lsfpq: 12Jun11: New function-style utility macros added for passing the contents of a directory on Windows or Unix as full-path quoted file names to a macro variable

quotelst: 12Jun11: Script added for quoting arguments. Especially useful for quoting a list of files whose names can contain spaces

%prefix, %suffix: 12Jun11: New function-style utility macros added for prefixing and suffixing items in a list

%dir, %ls: 12Jun11: New function-style utility macros added for passing the contents of a directory on Windows or Unix  to a macro variable

%unistats: 09Jun11: Macro parameter statlabelmacro=unistatlabel added to allow users to change the macro that changes statistics labels to suit sponsor preferences

%doallitem: 09Jun11: Macro parameter "list" renamed to "__dolist"

%rinclude: 09Jun11: New utility macro to submit local sas code members on the remote host

%unistatlabel, %unistats: 08Jun11: %tr_statlabel renamed to %unistatlabel and will be automatically called by %unistats

%npcttab: 05Jun11: pagevar= parameter removed as not used and superseded by pageon= parameter

%unicatrep: 01Jun11: Minor bug in pageline handling fixed

%npcttab: 31May11: Bug with pageline processing fixed

%npcttab: 27May11: pageline= parameters and endline= parameters added as used in %unistats

%popfmt: 26May11: Check for missing treatment variable format

%npcttab: 26May11: Event counts retained in output dataset and double= parameter added

%unipvals: 26May11: Merging of dummy p-value datasets made more efficient with less use of point= dataset option

%unistats, %unicatrep: 25May11: pageline= and endline= parameters extended to 15 (was 9) and pagemacro= and endmacro= parameters added

%unistats: 24May11: msglevel=N processing added

%npcttab: 24May11: filtercode= , extmacro= and msglevel=N processing added

%unistats: 23May11: Bug with "print=yes" declared twice in macro definition fixed

%unistats, %npcttab: 17May11: Name-Value "tall" parameter datasets allowed in addition to "flat" parameter datasets to assist in the metadata-driven use of these macros

%unistats: 16May11: unicatrep=no changed to print=yes and unicatrep= parameter removed plus some "code tidy" damage fixed

%popfmt: 16May11: Changed to avoid numeric to character conversion notes

%rgpp: 15May11: RGPP v4.0 source code for the graphical patient profiles software released

%getfmts: 12May11: Enhanced version released of macro to extract information on formats

%----: 08May11: All the macros that needed it received a code tidy to indent the code and to avoid the words "ERROR" and "WARNING" in the code

%match: 01May11: Code restructured and missing list allowed

%rcmd: 15Apr11: Utility macro added for running commands in the remote session

%complibs: 15Apr11: dslist= parameter added

%getfmts: 13Apr11: Utility macro added to extract information on formats

%delifexist: 05Apr11: Utility macro added to delete a dataset if it exists

%unistats, %unipvals: 28Mar11: Fix bug where missing pvalues are not shown as "n/a"

%unistats, %unipvals: 21Mar11: freqsept1-20= parameters added so that proc freq statistics can be placed anywhere on the output report

%unistats, %unipvals, %unicatrep: 13Mar11: Major changes

%rename8: 12Feb11: New macro added to shorten variable names to eight characters

%checkv6: 07Feb11: New macro added to check the Version 6 compatibility of a later version dataset before conversion to a transport file

%unistats: 06Feb11: allcat=yes is now the default

%npcttab: 06Feb11: Bug with unresolved pvalue macro variable fixed

%sas2xpt, %xpt2sas: 02Feb11: New macros to convert sas datasets to V6 transport files and vice versa

%prxnames: 01Feb11: New macro to create a pearl regular expression for use in a prxmatch() function from sas dataset or variables names using the end colon notation

%complibs: 30Jan11: titlenum= parameter added to control where the internal title is positioned

%mkformat: 19Jan11: dataset modifiers allowed

%xlblocks: 09Jan11: New macro to read in an Excel spreadsheet sheet with separated blocks of information in it and to output each block as a numbered dataset

%xl2sas: 01Jan11: xlisopen= parameter added to tell macro if the spreadsheet is already opened in Excel

%xlsheets, %xl2sas: 20Dec10: Further enhancements

%dequote: 18Dec10: Added a  version of %qdequote without macro quoting

%xlsheets: 17Dec10: Changed to write sheet names to a global macro variable

%xlsheets, %xl2sas: 16 Dec10: Uses %sysexec so that file names with spaces in them work OK

%unipvals: 07Dec10: Bug handling by variables for npar1way fixed

%popfmt, %unistats, %unipvals, %unicatrep, %uniquad (new): 21Nov10: Major updates to allow the free placement and formatting of ods table values in the output report

%npcttab: 18Nov10: npctord= parameter added to allow for the reversal of N and PCT display order

%unistats, %unicatrep: 16Nov10: extmacro= parameter added to %unistats for major external manipulation of output dataset and tfmacro= no longer to be used for output dataset manipulation

%tr_statlabel: 10Nov10: Example macro added to clinical macros collection to show how best to translate _statlabel values like "Probt" to "Prob > |t|" when using %unistats

%unistats; 09Nov10: Bug in displaying paired confidence intervals fixed

%unimap: 09Nov10: More confidence limit alpha values added and mismatch diagnostics improved

%unistats, %unimap, %unicatrep: 07Nov10: Ability to show confidence limits added and odsescapechar changed to "§" 

%popfmt, %unistats, %unipvals, %unicatrep: 01Nov10: Updated to keep and optionally display the statistics value to go with the p-value

%clashvars: 01Oct10: Enhanced version v3.0 released that allows bypassing use of sashelp.vcolumn

%wordsq, %scanq: 19Sep10: New macros to return the number of items in a list (space-delimited strings or string in quotes) and return a specific numbered delimited item

%clashvars: 16Sep10: Enhanced version v2.0 released

%xlsheets: 12Sep10: New macro uses DDE to write Excel sheet names (topics) to a sas dataset

%nodata: 12Sep10: Added option to keep footnotes

%xl2sas: 31Aug10: Bug fixed so it now closes sheet after reading and optionally quits Excel

%qdosfileinfow7, %dosfilesizew7: 08Aug10: New utiltity macros added that work with Windows 7

%env2ds, %env2dsw7: 06Aug10: New utility macros added that write environment variables and their values to a dataset

%npcttab: 24Jan10: compskip= and associated parameters added from %unicatrep

%npcttab, %unicatrep: 24Jan10: PDF output created separately due to problems with column width control 

%npcttab: 24Jan10: Variable _combtext2 added for better style=3 ODS indentation of the combined categories 

%unicatrep: 23Jan10: ODS column width adjusted and font_face_stats changed to Times 

%npcttab: 23Jan10: A few %unistats ODS parameters now implemented in %npcttab 

%unistats: 23Jan10: font_face_stats changed to Times

%unicatrep: 13Jan10: Call to tfmacro made earlier in the macro so that the addition of a pvalue variable can be detected

%fixnames: 24Nov09: New macro added to fix UTF-8 characters in peoples names

%vwlist, %liblist: 24Nov09: New macros to list views in a library and to list libraries added

%npcttab: 15Nov09: Warning message about BY variable length avoided and truncation of high level term avoided for ODS output 

%compvars: 14Nov09: New macro added to report on the differences between the presence of variables in two datasets

%missvars: 11Nov09: Global macro variable names for list of variables now fixed as _nmiss_ and _nonmiss_ 

%npcttab: 08Nov09: New parameter pageon= added to allow paging to be incremented based on the highest level variable and its values 

%unistats: 07Nov09: New parameter pageon= added to allow paging to be incremented based on byrowvar= values 

%unistats, %unicatrep: 04Nov09: odsdpalign= parameter added such that ODS non-listing output no longer aligned on the decimal point.. Stats font changed to Arial from Courier 

%unistats: 03Nov09: Paging now achieved using <p> or <pg> in variable list. Parameters page1vars-page9vars removed. 

%lstattrib: 24Oct09: New utility macro added that writes the attributes of a dataset as LENGTH and ATTRIB code 

%dosfilesize: 12Oct09: Macro %qdosfileinfo called instead of %dosfileinfo 

%unistats, %unipvals, %scanlog,%pagexofy, %npcttab, %openrep, %closerep: 12Oct09: Calls to %dequote changed to calls to %qdequote due to macro renaming 

%proginfo, %jobinfo, %openrep, %closerep: 12Oct09: Call to %readpipe changed to call to %qreadpipe due to macro renaming 

%qdosfileinfo: 12Oct09: Name changed from %dosfileinfo to %qdosfileinfo

%qreadpipe: 12Oct09: Name changed from %readpipe to %qreadpipe

%qgetenv: 12Oct09: Name changed from %getenv to %qgetenv 

%qdequote: 12Oct09: Name changed from %dequote to %qdequote 

%unicatrep: 10Sep09: asis=on put into effect for columns

%unistats, %npcttab: 10Sep09: %unquote() used with %dequote() 

%words: 01Sep09: Use of countw() function discontinued

%npcttab, %unistats, %unicatrep: 30Aug09: odsescapechar= parameter added

%unistats, %unicatrep: 27Aug09: statstfmacro= and odstrtvarlist= parameters added. compskip=yes is now the default (for ascii output compskip=no is enforced) 

%unistats, %unipvals: 23Aug09: statsopdest= processing changed to ODS style, moved into %unistats and removed from %unipvals

%unipvals: 21Aug09: Bug while using missing character response variables with CHI/Fisher test fixed 

%unistats, %unicatrep: 02Aug09: pvalcolw=8 parameter added

%unipvals: 15Jul09: If total treatment arms for a by group is less than two then do not calculate p-values

%unistats, %npcttab: 13Jul09: New parameter listallparams= added 

%unistats, %npcttab: 12Jul09: New parameter dsparam= added 

%npcttab, %unistats, %unicatrep: 11Jul09: odstfmacro= parameter added

%unipvals: 10Jul09: Bug with CHI/Fisher test selection in case when missing values are present fixed

%unicatrep: 10Jul09: topline=yes now activated in macro code if not specified 

%npcttab: 10Jul09: Ascii output always created separately from ODS output and new parameter odstrtlabel= added. prerepcode= and postrepcode= renamed to odsprerepcode= and odspostrepcode= 

%unipvals, %unistats: 06Jul09: Bug with misspct=no not being passed through to %unipvals for correct handling fixed

%unicatrep, %unistats: 04Jul09: New parameter odstrtlabel= added 

%unicatrep: 03Jul09: Ascii output always created separately from ODS output 

%unistats, %unicatrep: 22Jun09: prerepcode= and postrepcode= renamed to odsprerepcode= and odspostrepcode=

%unicatrep: 22Jun09: topline processing changed 

%npcttab: 18Jun09: tfmacro= parameter added 

%unistats, %unipvals: 18Jun09: tfmacro= parameter now passed through to %unicatrep if called 

%unipvals: 17Jun09: Stats procs now not called if treatment arm count < 2 in all cases 

%unipvals: 12Jun09: Incorrect variables in _dummypval  fixed

%mvarvalues: 11Jun09: New macro to accept a list of macro variable names and to display each with its resolved value on a separate line in the log 

%mvarlist: 11Jun09: New macro to return a list of macro variables with a given scope 

%globlist: 10Jun09: Changed to a shell macro 

%unistats, %unicatrep: 01Jun09: prerepcode= and postrepcode= parameters added 

%npcttab: 11May09: prerepcode= and postrepcode= parameters added

%unistats, %unipvals: 05Mar09: Changes made to avoid "uninitialized" messages

%unistats, %unipvals: 03Mar09: glmlsmeans= and odstblname= parameters added 

%rannomac: 02Jan09: All filled-shape macros now do a two pass draw and %box now works like the other filled-shape macros for version 2.0 

%scanlog: 01Jan09: %unquote() the %dequote()ed filename 

%dequote: 01Jan09: Use %qtrim() instead of %quote() 

%rannomac: 01Jan09: %text macro changed to allow a sas variable name for the font= parameter 

%npcttab: 16Nov08: Default style changed from 3 to 1 and some variables increased in length. Truncation of terms for style=3 bug fixed. 

%getenv: 01Nov08: New macro added to get contents of environment variable 

%readpipe: 31Oct08: Major update for version 2.0

%unistats, %unicat2word: 12Oct08: _varlabel and _tempstr2 length increased to 256

%words: 26Sep08: Sysfunc call to "countw" used for sas version 9 or later 

%npcttab: 11Sep08: Bug with font parameters not being resolved fixed 

%unicatrep: 11Sep08: font_weight_stats=medium is now the default set in the code

%unistats, %unicatrep: 03Aug08: font_weight_stats=medium is now the default 

%unicatrep: 31Jul08: Checking added for font weights, font style and rules value 

%complibs: 15Jul08: Major enhancement to allow full comparison of text field differences 

%partialdates: 07Jul08: New macro added for handling partial dates

%agedec, %mtype: 06Jun08: New macros added

%unistats, %unicatrep: 02Jun08: spanrows= parameter added 

%unistats, %unicatrep: 18May08: Extra compskip= parameters added 

%unicatrep: 14May08: cellwidth applied to "indent" column 

%unistats, %unicatrep: 13May08: More ODS parameters added

%unipvals: 12May08: Syntax error in "ods listing close" fixed 

%unipvals, %unistats: 12May08: byvars2= parameter added

%unistats, %unicatrep: 12May08: More ODS parameters added

%unistats, %unicatrep: 11May08: More ODS parameters added 

%unistats, %unicatrep, %npcttab: 09May08: font=face_stats=, font_face_other= and font_weight_other= parameters added 

%unistats: 07May08: filtercode= parameter added 

%nobs and %nlobs: 07May08: A where clause modifier is now accepted and %nobs and %nlobs will now work on views

%npcttab: 02May08: dsdenom= , denomshow= , pctcompress= and byrow= parameters added for v8.0 

%popfmt: 02May08: Variable name "total" changed to "_total" 

%unistats: 02May08: dsdenom= and denomshow= parameters added and glmopdest= replaced by statsopdest=

%npcttab: 26Apr08: Duplicate style 3 label parameter removed

%popfmt: 26Apr08: freesuff= parameter added

%unicatrep: 26Apr08: "flow" option added to byrow columns 

%npcttab: 26Apr08: A new style (style=3) has been added and this is now the default 

%scanlog: 20Apr08: New macro added

%unistats: 20Mar08: Where paired stats are both missing then change to a space and show no delimiters 

%nodata: 19Mar08: "nowd" option added to "proc report" call 

%unistats and %unicatrep: 19Mar08:  trtvarlist= parameter added 

%unistats, %unicatrep, %npcttab: 15Mar08: odslisting= parameter added to allow user to specify file=

%unistats: 13Mar08: Mispelling of SKEWNESS corrected in code 

%rannomac: 11Mar08: New annotate macro %fillbar added

%rannomac: 06Mar08: New annotate macros %drawline and %bigbox added

%rannomac: 05Mar08: Defaults changed to font=' ', color=' ' and height=. for %text macro 

%rannomac: 04Mar08: Keep list added to %dclannovars macro 

%rannomac: 01Mar08: New macro added that works like %annomac but suitable for patient profiles 

%unistats: 24Feb08: byvars= list generated if this is null yet byrow*= parameters used. Numeric pvalue merged on the first of a paired stat rather than the second 

%unistats: 15Feb08: Paired stats spaces now controlled by "^" character in the delimiter which will be translated into a space 

%unistats: 10Feb08: mincolw= parameter added 

%unicatrep: 10Feb08: Column layout bug fixed 

%unicatrep and %unistats: 09Feb08: compskip=no is now the default

%unicatrep and %unistats: 03Feb08: More byrow*= parameters added

%unicatrep: 02Feb08: byrow*= parameters added plus other changes 

%unistats: 02Feb08: Paired stats labels such as "Min;Max" allowed and other parameters added for this v5.0 release 

%xl2sas: 02Feb08: New macro added for reading html spreadsheets 

%unimap: 27Jan08: Upgraded to handle "paired" stats labels such as Min;Max

%npcttab: 27Jan08: print=no logic changed so that other ods outputs are still available 

%unistats, %unipvals and %npcttab: 27Jan08: trtlabel= set to null by default and odshtmlcss= and odscsv= parameters added 

%unistats: 26Jan08: Bug fixed for handling formats such as $3. in %cat call 

%unipvals: 26Jan08: Wrong p-value displayed for centre effect bug fixed and Fisher or chisq settings now override adjcntrvar= 

%removew: 26Jan08: compbl bug fixed where string is null

%unistats: 20Jan08: Decimal places shown for kurtosis and skewness made the same as for STD.

%unistats and %unipvals; 19Jan08: All variables in input dataset are kept and passed to %unipvals

%unipvals and %unistats: 19Jan08: GLM override parameter values can be enclosed in single quotes to reference macro variables such as &trtvar (will resolve to the treatment variable) and &respvar (will resolve to the response variable)

%unistats and %unipvals: 14Jan08: GLM override parameters added (more to do) 

%unistats and %unipvals: 13Jan08: CMH processing added for categorical variables to compensate for centre effects 

%unistats and %unipvals: 13Jan08: cntrwarn=processing changed 

%unistats and %unipvals: 08Jan08: Added parameters for warning of centre effects 

%unistats and %unipvals: 07Jan08: Added parameters to test for the homogeneity of variances and to use the Welch test

%unistats and %unipvals: 06Jan08: Added parameters errortype= , modelform= and dsmodelanova= for adjustment for centre effects 

%unistats and %unipvals: 06Jan08: Added parameters adjcntrvar= and glmopdest= for adjustment for centre effects for t-test and F-test calculations 

%unistats: 05Jan08: Decimal point alignment bug fixed in "fillstr:" routine 

%unistats: 31Dec07: Bug with NMISS format where decimal points adjusted by variable "/--" modification fixed 

%unistats: 31Dec07: Mapping of statistic labels to keywords and formats displayed in log. All keywords starting STD will have the stdfmt= format applied. 

%unimap: 31Dec07: Extended list of statistics keywords to match all those listed in sas v9.1.3 documentation 

%unimap: 30Dec07: Added "MISSING" to map to NMISS keyword

%unistats: 30Dec07: NMISS now uses the same format used by N 

%unistats: 30Dec07: Bug with _popfmt_ always being used as a label for transposed treatment arm variable fixed. 

%npcttab: 10Nov07: Bug in handling non-user formats (such as $200.) assigned to level variables fixed

%unistats and %npcttab: 30Sep07: Default changed to topline=no to suit ODS output 

%unistats: 24Sep07: Added parameters tfmacro= and pvalues=yes to allow user to define a macro to create titles and footnotes able to use the p-values set up in global macro variables. 

%unistats and %unicatrep: 21Sep07: Added parameters odsrtf=, odshtml=, odspdf= and odsother= parameters to pass through ODS statements to the "proc report" step. 

%unistats: 18Sep07: Added unicatstyle= parameter so that when unicatstyle=2 you get a column report rather than an indented report plus a varw= parameter to define width of the first column for this style of report

%unistats and %unicat2word: 16Sep07: New macro %unicat2word added plus added wordtabdest= and wordtabdlim= parameters in %unistats for creating cell tables for inclusion into a word processor to be converted into in-text tables 

%unistats and %npcttab: 16Sep07: Added out= parameter to allow keeping the output dataset created by "proc report" 

%now: 07Sep07: Simple macro added that returns the current timestamp added 

%unistats and %npcttab: 01Sep07: pctwarn= parameter added to check for percentages > 100.01

%removew: 10Aug07: New macro added 

many macros added: 31Jul07: All macros have been consolidated into the macro library stored on the Spectre web site 

many macros: 30Jul07: Header tidy and commercial macro versions now free versions 

alltitles: 29Jul07: Explanation of how to edit it to fit your program naming conventions added 

%dosfileinfo, %dosfilesize: 22Jul07: Two sasautos macros added for extracting DOS file information 

prefix: 22Jul07: New script added to prefix all the items in a list. Works the same way as the script "suffix" 

crtitlesds, crtitlesds_win: 20Jul07: Added calls to "lisremap" and "lisremap_win" 

lisremap, lisremap_win: 20Jul07: New scripts added to list the output file name remapping specified in "lisfile:" .titles entries 

alltitles: 20Jul07: If there are no *.titles files then assume ALL.TITLES was created by another means and exit

crtitlestmpl: 20Jul07: Mention "label:" and "lisfile:" in the generated header for the titles template 

%closerep: 19Jul07: Fixed the free version 4.0 of %closerep so it can pick up different donelist temporary file names as set up in "makerun" and "makexrun" by reading the environment variable DONELIST 

makerun, makexrun: 19Jul07: Set up system environment variable DONELIST to contain the name of the donelist temporary file so that %closerep can use it

%crtitlesds, %proginfo, %closerep: 19Jul07: Added handling for the lisfile output lis name 

alltitles: 19Jul07: Updated to copy across "lisfile:" lines in titles members to ALL.TITLES 

showtitles, showtitles_win: 19Jul07: Updated to display lisfile name as stored in titles dataset otherwise as derived if "lisfile" variable is blank or missing 

makerun, makexrun, makemyrun: 19Jul07: Updated to use the "intitlis" script instead of the "intitlabels" script 

intitlis, intitlis_win: 19Jul07: New scripts added to replace "intitlabels" and "intitlabels_win" 

makexrun, bigxps, bigxlis: 15Jul07: New scripts added to handle "extra analysis" program run and output collection 

makerun, alltitles: 15Jul07: Added ability to store titles of "extra analysis" programs that start with "x" in the titles dataset but to exclude them from the script "runreports" created by "makerun".

%lcralign: 01Jul07: New macro added 

crprottmpl: 25Jun07: Extra "Pagemac : pagexofy" line added to define the macro used to add "Page x of Y" labels

%crprotds, %protinfo, %closerep: 25Jun07: Allows you to define a replacement for the %pagexofy macro for special handling of the output file to enable you to add extra titles and footnotes and so break the 10 titles, 10 footnotes limit. 

%unistats: 28May07: Version 4.6 Allows you to define variable labels to the varlist= parameter and allows you to force numeric processing on numeric variables with a user format applied by specifying the /n flag.

%noquotes, %quotescan and %quotecnt: 28May07: Added to macro library for %unistats variable label processing


%npcttab and %unistats: 17May07: further checking of pctfmt= value added 

pagexofy: 16May07: "A0"x and not "FE"x substituted with a space 

%unicatrep and %pagexofy: 16May07: "FE"x no longer treated as a space

%npcttab and %unistats: 16May07: pctfmt=5.1 added so percent format can be changed 

%windex: 10May07: added break-loop-on-match processing

%npcttab: 03May07: pctsign=no added so display of percent sign can be forced 

%unistats: 02May07: pctsign=no added so display of percent sign can be forced 

%popfmt: 02May07: brackets=yes parameter added so users can suppress (N=xxx) round brackets 

%npcttab: 30Mar07: Bug fixed in handling trtlabel and toplabel 


%unistats, %unicatrep and %pagexofy: 24Mar07: "A0"x used instead of "FE"x for decimal point alignment so no more "þ" characters will appear in %unistats output. 

%unistats and %unicatrep: 23Mar07: Removed 3 character limit for catnfmt= so that a category "n" of thousands or greater can be used 

%npcttab: 21Mar07: Added support for the "nocenter" option 

%unicatrep: 21Mar07: Added support for the "nocenter" option 

%unipvals: 21Mar07: Updated to cancel format attached to the _pvalue variable

%unimap: 21Mar907: Added mapping of S.E.M. (standard error of the mean) 

%unistats: 21Mar07: Fixed "extra line" problem of merging pvalues on top of categories plus added support for S.E.M. (standard error of the mean) 

%unistats: 20Mar07: Handling of character treatment arms debugged 

%popfmt: 20Mar07: Creation of _nX_ variables dropped as being too messy

%pagexofy: 19Mar07: macro now allows for two part page labels such as "Seite x" and "(SEITE X)" 

%unistats: 19Mar07: parameter dpalign=yes added to make it possible to disable the addition of the special character that the macro uses for decimal point alignment

19Mar07: %mkformat, %hasvars, %match, %hasvarsc and %hasvarsn added to macro library in preparation for CDISC reporting 

%pagexofy: 15Mar07: Now checks to make sure "Page x of Y" style has 4 parts 

showme: 15Mar07: Made a bit more Wordpad friendly

%unistats: 12Mar07: Default now pctcalc=pop instead of pctcalc=cat due to the macro's strong connection with %popfmt


pagexofy: 07Mar07: This script has now been replaced by the %pagexofy macro so is now just a utility script

getfields: 04Mar07: This script added to display client/office/drug/study/increment that must be tailored for each site 

All: 02Mar07: many scripts and macros changed so that "der." is replaced by "&_ptlibref_.." _ptlibref_ must be set up in the allocation macros to say which libref the "protocol" and "titles" datasets are located. This makes the installation process for both Unix and Windows easier as edits are avoided. 

makerun: 27Feb07: Cygwin emailing fixed (ssmtp must be installed)

SPECTRE ON WINDOWS: 25Feb07: Initial release. Uses Cygwin. PDF creation and emailing from Spectre scripts not done yet. 

makerun: 25Feb07: generation of "runreports" script changed to use "rm" for deleting report program output instead of the safer "rem" to look for group permission before deletion. 

%proginfo: 21Feb07: made Windows compliant 

%layout2lsps: 21Feb07: new macro added for Windows compliancy

dirtree: 18Feb07: new script to display directory structure with indents from current directory downwards

sasb: 17Feb07: Made Windows compliant and now calls "scanlogs" instead of "sc" due to Cygwin command conflict 

sc: 17Feb07: "sc" has been renamed to "scanlogs" due to Cygwin command conflict 

%openrep: 16Feb07: Made Windows compliant 

%closerep: 16Feb07: Now writes to "donelist.tmp" rather than "donelist.txt". Made Windows compliant 

makerun: 16Feb07: "donelist.tmp" processing added and updated for "donepages" script 

donepages: 16Feb07: Changed to take a donelist file as the first parameter

%jobinfo: 13Feb2007: Made Windows compliant. 

All Macros: 13Feb2007: "MACRO CALLED" messages added before macro definition for all sas macros to put name of macro called and the version of the macro in the sas log. 

SPECTRE ON WINDOWS: 05Feb07: Start of project to port Spectre onto Windows Phase I (uses Cygwin Linux emulator). 

ddiff: 24Nov2006: A check was added to make sure a file of the same name exists in the target directory and no comparison will be done unless that is the case. Fixed on 24Nov2006. 

ddiff: 13Nov2006: File permissions can prevent temporary files from being overwritten so these are now deleted at end of every iteration. Fixed on 13Nov2006 

%unistats: 09Oct2006: Problem detected with fmtord. not found messages. Fixed on 09Oct2006 

%unipvals and %unistats: Sometimes a p-value can not be calculated due to unusual circumstances and to avoid macro crashes if these datasets are not found then %unipvals now sets up dummy p-value datasets. %unistats has a pvalmisstxt=" n/a" added so that missing p-values from the dummy datasets can be given a suitable text form. Updated 23Sep06 

%unistats: 26Aug2006: nopctcatlist= parameter added. Version incremented from 3.0 to 3.1

%unistats: 21July2006: bug associated with lowercasing _statlabel when set to &misstxt. Fixed on 22Jul06

%unistats: 11July2006: _statord=1 instead of _statord=5 used to match p-value to category. Search for "RRB002" in the code to see where change was made. Fixed on 11Jul06 

%unipvals: 10Jul06: "missing" option added to "proc freq" tables statements so it could calculate p-values based on missing values passed to it by the %unistats macro. 

%unistats: 10Jul06: misspct=yes was having its displayed percentage blanked out. Fixed on 10Jul06. 

%unistats: 06Jul06: catn= setting caused macro to crash. Fixed on 07Jul06. 



This concludes the list of bugs found and changes made to Spectre.


Check here for added and further information concerning unistats
powered by Go FTP FREE Software