25-Nov-2020 =========================== WPS ANALYTICS RELEASE NOTES =========================== Version 4.2.4-GA-release (4.2.4.0.11339-GA-release) Information about important fixes and enhancements delivered in the latest version of WPS Analytics. In this document, text shown between paired angle brackets is variable, and can be replaced by required text. For example, indicates that you should specify the required path-name to a device. ======================================================================= CONTENTS ======================================================================= - What's new - Known issues - Upgrade notes - Undocumented updates - Closed issues - Getting support ======================================================================= WHAT'S NEW ======================================================================= General ======= - WPS Analytics now distributes and uses the OpenJDK Java Runtime Environment version 8. Workflows ========= - This release includes the following new Workflow features: - A variable selection tab for all blocks that require variables to be chosen. - An undo facility. - Parameters. Global variables can be created and used in place of user-specified values when configuring blocks. - The Filter block now includes an expression editor - This release includes new blocks: - Database Export - Reject Inference - Population Stability Index - Query - Tableau Export - This release includes enhancements to: - The Database Explorer view: - Can connect to, and view the content of, remote database tables. - The Database Import block and Database Explorer view: - MySQL now supports specifying SSL settings. - You can now import from: - Amazon Redshift. - Google BigQuery. - MS Azure SQL Warehouse. - Snowflake Data Warehouse. - ODBC has various improvements to help you configure databases more easily. - The Impute block can now output a model. - The Join block can join tables dragged to the canvas from the Database Explorer view. - The Binning block can now be connected to a Score block. - The Decision Tree block has a new Summary Table tab. - The Chart Builder block. - The WoE Transform block. - The Database export block can now export to: - Amazon Redshift. - Google BigQuery. - MS Azure SQL Warehouse. - Snowflake Data Warehouse. DATA step functions =================== - The following DATA step functions have been enhanced in this release: - INPUT. If the first argument of the function is a character- formatted variable, the format of that variable is applied before the informat argument. - MAX and MIN. Both functions now accept one or more arguments. System options ============== - The following system options have been added at this release: - CMPLIB - CONNECTPAGEBREAK - CONNECTPROGRESSINTERVAL - CONNECTTIMEOUTLIMIT - CONNECTTRANSCODEWARNINGS - EMAILCSSMTPPGM - EMAILCSSMTPSYSOUT - EMAILSTARTTLSKEYDB - EMAILSTARTTLSKEYDBLABEL - EMAILSTARTTLSKEYDBPW - EMAILSTARTTLSKEYDBSTASHFILE - FILEBUFNO - HTTPUSERAGENT - IMPORTDELIMTRIM - INPUTCASTNUMTOCHAR - LEGACYMARIADBENGINE - LEGACYMYSQLENGINE - MCACHE - NETEZZACHARCOLUMNTYPE - ODSLISTINGDEST - UTILLOC - VARINITCHK - WPSCATENGINE - WPSMBCSSTRINGUTILS Formats ======= - The following format has been updated at this release: - NENGO - The following format has been added at this release: - IEEE Informats ========= - The following informat has been updated at this release: - NENGO ODS === - The ODS RTF destination is now supported. - The ODS LAYOUT statement is now supported. - The ODS REGION statement is now supported. - ODS TEXT and ODS TEXT statements are now supported. ODS LISTING ----------- - Has been revised to improve layout control of the destination output. - The ODS LISTING statement uses the reimplemented destination output. - To use the existing version, use the ODS OLDLISTING statement in SAS language programs or specify the ODSLISTINGDEST option in a configuration file. ODS EXCEL --------- - Now supports the DPI and IMAGE_DPI options. ODS PDF ------- - Now supports ODS LAYOUT ABSOLUTE. General procedures ================== - The following general procedures have been enhanced at this release: - CONTENTS and DATASETS. The options OUTZEROVARDATASETS and NOOUTZEROVARDATASETS have been added to the PROC CONTENTS statement. - IMPORT. The option DELIMTRIM has been added to the PROC IMPORT statement. - UNIVARIATE now supports the INSET statement. Statistical procedures ====================== - The following statistical procedure is new at this release: - STDRATE. - The following statistical procedures have been enhanced at this release: - MIXED. Now supports the WEIGHT statement. - GLMSELECT. Now supports the PARTITION and PERFORMANCE statements. Machine Learning procedures =========================== - The following machine learning procedure has been enhanced at this release: - DECISIONFOREST. The PROC DECISIONFOREST statement now includes the CLASSCOMB option. Quality control =============== - The following quality control procedure has been enhanced at this release: - CAPABILITY: - Now supports the INSET statement. - Now supports the INTERVALS statement. - The OUTFIT option has been added for the HISTOGRAM statement. - You can now specify a seed to be used for random number generation for all distributions. Time series procedures ====================== - The following time series procedures are new at this release: - ESM - SEVERITY - SPECTRA - TIMESERIES Data engines ============ - The following Data Engines are new in this release: - MARIADBM - MYSQLM - The following data engine has been enhanced at this release: - ODBC. Can now access Amazon Redshift, Amazon Athena Query Service, MS Azure SQL Data Warehouse, and Snowflake data warehouses. - TERADATA. Now supports options to bulk insert data on the Library reference statement, and separate dataset options. Communicate =============== - The following updates have been made in this release: - Diagnostic messages have been improved for issues with sign-off after a sign-on with a telnet sign-on script. ======================================================================= WPS Analytics known issues and getting support ======================================================================= This section contains information about known issues in this version of WPS Analytics and how to get technical support. ----------------------------------------------------------------------- Critical known issues ----------------------------------------------------------------------- None ----------------------------------------------------------------------- Major known issues ----------------------------------------------------------------------- ODBC ==== Updating or deleting rows using the ODBC engine now uses cursor-based updates via the "WHERE CURRENT OF" clause that is supported by some ODBC drivers. We currently only support this functionality for DB2 and SQL Server connections using the ODBC library engine. Python procedure ================ - When using the Python procedure, any Python program call that stops the Python interpreter -- such as sys.exit() or os.exit() -- will stop processing in WPS Analytics, and the WPS server will need to be restarted. DBCS/multibyte ============== - DBCS/multibyte session encoding is not supported on z/OS. - UTF-16 with automatic detection of byte order from the Byte Order Mark for external file encoding is not supported. Explicit UTF-16BE and UTF-16LE are supported, however, and will tolerate the byte order mark. - Performance may be an issue with some of the functions, formats and informats. - WPS Engine for Sand does not currently support multibyte encodings. ----------------------------------------------------------------------- Minor Known Issues ----------------------------------------------------------------------- Workbench ========= - The Code Analyzer does not handle files in which the lines end with numbers; these are typically mainframe files. - If you attempt to apply a license to a server that has been specified on a path that does not contain an installation of WPS Analytics, the license application will fail, but not cleanly, and messages referring to unknown errors are displayed. - The file import preview might truncate data because the rows returned by the preview row limit might not contain information sufficient to determine a variable's length. - On Linux: - Dialog boxes might be hidden behind other windows. File naming =========== - If you create or rename a file on the Windows operating system and the filename contains characters that cannot be represented in the current WPS Analytics session encoding, the characters that cannot be represented will be replaced or omitted. By default, they are replaced. This is for display in WPS Analytics procedures and functions only. For example, if you use the DATASETS procedure to list the members of a library, a filename with characters that cannot be represented will be listed with substitution characters. However, you cannot perform any operations on the file using the filename, as the filename does not represent the actual filename. - You can change how WPS Analytics behaves with such filenames using the CHARTRANUNMAPPABLE system option; you can, for example, specify that characters are substituted with an escape character, or ignored. Data engines - multithreaded ============================ NETEZZA ------- If your SAS language programs use the LIBNAME statement to connect to Netezza, and the statement contains any of the following options, you must replace NETEZZA with NETEZZAOLD in the LIBNAME statement: - DELETE_MULT_ROWS - IGNORE_READ_ONLY_COLUMNS - STRINGDATES - UPDATE_MULT_ROWS - USE_ODBC_CL - UTILCONN_TRANSIENT ODBC ---- If your SAS language programs use the LIBNAME statement to connect via ODBC, and the statement contains any of the following options, you must replace ODBC with ODBCOLD in the LIBNAME statement: - BL_LOG - BL_OPTIONS - BULKLOAD - BCP - CURSORTYPE - DELETE_MULT_ROWS - INSERT_SQL - KEYSET_SIZE - QUERY_TIMEOUT - QUOTE_CHAR - STRINGDATES - UPDATE_MULT_ROWS - UPDATE_SQL - USE_ODBC_CL - UTILCONN_TRANSIENT SQLSERVER --------- If your SAS language programs use the LIBNAME statement connect to SQL Server, and the statement contains any of the following options, you must replace SQLSERVER with SQLSERVEROLD in the LIBNAME statement: - CURSOR_TYPE - DELETE_MULT_ROWS - INSERT_SQL - KEYSIZE_SET - QUERY_TIMEOUT - QUOTE_CHAR - STRINGDATES - UPDATE_MULT_ROWS - UPDATE_SQL - USE_ODBC_CL - UTILCONN_TRANSIENT Broker configuration for Web services ========================================= - It is highly recommended that configuration settings in the file broker.cfg, located in //web/cgi-bin, are ordered in such a way that ALL 'WPSPowered*' (where "*" is a wildcard) named settings appear before 'Service' settings in that file. Echo statements in .bashrc files when using WPS Link ==================================================== If your shell initialisation scripts echo text during a non-interactive login, WPS Link will fail to start. Such echo statements should therefore either be removed, or made conditional on the shell being interactive, as follows: * Check the 'interactive' flag For example: case $- in *i*) echo "This is an interactive shell"; esac * Use the TTY utility to detect an interactive shell For example: if tty > /dev/null 2>&1 do echo "We have an interactive session" fi * Check the value of the $SSH_TTY environment variable if [ "$SSH_TTY" ] then echo "We have an interactive session" fi JAVAOBJ DATA step component on z/OS =================================== The JAVAOBJ DATA step component is supported on z/OS only when WPS Analytics is invoked via the USS interface. WPS Analytics searches for the Java classes to be loaded in the directories named in the CLASSPATH environment variable, which exists when running via the USS interface but not when running via TSO or as a submitted job. XLSX Data Engine on z/OS ======================== - The XLSX data engine is supported on z/OS only when WPS Analytics is invoked via the USS interface. ======================================================================= Upgrade Notes ======================================================================= ----------------------------------------------------------------------- YEARCUTOFF Option ----------------------------------------------------------------------- - The default value for the YEARCUTOFF system option is now 1926. The range of two-digit dates is, by default, 01-January-1926 through to 31-December-2025. As a result of this change, any WPS Analytics functionality to which a two-digit year value is specified - for example, the MDY() DATA step function - might output different results. To return to the behaviour of previous versions of WPS Analytics, specify the YEARCUTOFF system option value of 1920. ======================================================================= Undocumented Updates ======================================================================= The GENMOD procedure ==================== - PROC GENMOD can now fit a Poisson, negative binomial, zero-inflated Poisson, zero-inflated negative binomial, or geometric distribution if non-integer numbers are specified rather than integer numbers. - The TRUNC and NOTRUNC options have been added to the MODEL statement used to specify these distributions. TRUNC specifies that integers are used, and non-integer numbers are truncated appropriately. Specify NOTRUNC to use decimal numbers. The default is NOTRUNC. ======================================================================= Deprecated Functionality ======================================================================= The following functionality is deprecated at this release and the features will be unavailable in future versions of WPS Analytics. Any SAS language programs using these features should be modified to use the recommended alternative: - ODS OLDHTML statement: - Use the ODS HTML statement. - LIBNAME ORACLEOLD statement: - Use the LIBNAME ORACLE statement. - LIBNAME DB2OLD statement: - Use the LIBNAME DB2 statement. - Support for the SQLSRV32 ODBC Driver is to be removed. You should install and use the Microsoft ODBC Driver for SQL Server in preference. ======================================================================= Closed Issues ======================================================================= Core ==== General ------- - On UNIX-based platforms, if a function requires a user name, WPS Analytics first checks the LOGNAME environment variable for a name. If that is not set, the USER environment variable is checked. If neither environment variable is available, the entered username of the user is used. - File names on MacOS are now formatted using the required variant of UTF-8 encoding. - SAS language dataset variable names and DATA step variables are now encoded and converted to upper case using the session encoding. - An error message is now reported if an empty macro-variable name is used in DATA step macro CALL routines. - Improved performance when a large compiled macro catalog is used. - Log lines containing NULL characters are truncated. - The SYSDBMSG and SYSDBRC automatic Macro variables are now supported. - The WPS Jupyter Kernel can now be used with Jupyter Lab. - Local and global macro variables can now be specified to be read-only. - The SQLRC and SQLX macros are now automatic macro variables rather than global macro variables. - The DESC and MINDELIMITER options in macro definitions now allow spaces between the option and the assigned value. - XPORT library engine now supports XPT version 8. - Use of Missing values in DATA step arithmetic is now consistently reported. - Added the PLAIN authentication option for EMAIL SMTP servers. - The number of records replaced using the modify statement is now correctly reported. - WPS Analytics no longer runs indefinitely when a macro is called with an undefined named parameter. - The derivatives of functions are now computed correctly in nested IF ELSE statements. - A note is now created in the log when a missing value as either the numerator or denominator in a division calculation. - The validity of one-part and two-part dataset names is now checked to ensure they conform with the value specified in the DATASTMTCHK system option. - WPS Analytics can now be used with R version 4. - LIBNAME XML now correctly supports square bracket notation to select a specific element in a list. Cleanwork utility ----------------- - The utility on Windows - Now supports the force (-f), verbose (-v) and list (-n) options. - Now supports the -ff option to select a temporary directory more effectively than the -f switch does. FILENAME SFTP ------------- - Now reports when the underlying SFTP command returns a non-zero exit code. - The DEBUG option now only selects debug output for the current SFTP. FILENAME URL ------------ - Now handles numeric values larger than 2^31 coming from the server using 64 bit representations. Text-Replacement macro ---------------------- - An exact self-reference expansion now deletes the referenced macro. - A macro name now replaces exact matches only, and the name must be no longer than 8 characters. For example MACRO abcdefgh % matches against 'abcdefgh' but does not match against 'abcdefghijklm'. - Self-recursive text macro definitions are now correctly expanded. - Self-recursive text macro definitions are now correctly expanded. - In some circumstances, specifying text-expansion macro directives as global statements might cause an error during evaluation. - The %LET statement now has a maximum recursion limit of 1000000 elements. - The %SCAN() and %QSCAN() functions now support the optional modifiers argument. Formats and informats --------------------- - When using the INPUT DATA step statement, a warning is now generated if the $VARYING format is applied to a variable with an inferred numeric type. - Formats applied to negative numbers now output asterisks (*) rather than 0 (zero) if the specified width is too narrow to for the variable value. - Informats B8601LZ and E8601LZ now output the correct offset time value. System options -------------- - NOS99NOMIG now functions as expected. - The maximum number of transcoding warnings issued during a Connect upload or download can be controlled using CONNECTTRANSCODEWARNINGS. - When ERRORABEND is specified, an out-of-memory error when parsing a SAS language program now correctly causes ABEND. - Can now correctly read a dataset using an index created when IBUFSIZE was smaller than the current value - The WPSCOMPR alias can now be used for the WPSCOMPROTOCOL system option. Global statements ----------------- - RESETLINE now functions correctly as a global statement. - SYSTASK COMMAND now supports the DEFEROUTPUT options that waits until a matching WAITFOR command is complete before outputting any messages to the log file. - FILENAME HTTP no longer sends the port number in the HOST: request header. - FILENAME FTP now uses the .netrc file on LINUX platforms. DATA step statements -------------------- - The INPUT statement no longer causes an error if the line pointer is set to 0 (zero). - Lines of data in the DATALINES statement are now processed as a complete line and not split into 256 byte lengths for processing. - The KEY and END options can now be used together on the SET statement, and work as expected. - The _FILE_ option to the FILE statement can now be used when accessing a VSAM dataset. - The _INFILE_ option to the INFILE statement can now be used when accessing a VSAM dataset. - Data step components can now only be declared once in a step. DATA step functions -------------------- - EUROCURR now contains the fixed-rate exchange rates for when the Euro replaced the Latvian Lats and Lithuanian Latis. - TWEEDIE distribution functions no longer return missing values if optional arguments are not supplied. - The SUBPAD function no longer writes out of bounds and corrupt memory. - The Decision Forest DF_OPEN, DF_PREDICT, CALL_DF_CLOSE, CALL_DF_DESCRIBE, and CALL_DF_PREDICT require R version 3.5.0 or greater. - The HTMLDECODE function now correctly decodes the   HTML entity. - The HOLIDAY function now returns the correct date when UKEASTERMONDAY is specified. - The RAND("BINOMIAL") function now allows 0 (zero) and 1 (one)as probability of success values. - The COUNTC() function now supports the A, B, C, D, F, G, H, L, N, P, S, U, W, and X modifiers. Data engines ============ General ------- - TIMESTAMP values before 01 January 1582 are now returned as missing values when retrieved through DB2, Oracle and ODBC database] connections. DBF --- - Multiple libraries now function as expected when concatenated in a new LIBNAME DBF statement. NETEZZA ------- - When bulk-loading data, CHAR, VARCHAR and LONG VARCHAR column types now use the internal encoding of Latin 9; NCHAR, NVARCHAR and LONG NVARCHAR column types now use the internal encoding of UTF-8. ODBC ---- - Can now be used to connect to a MongoDB database. ODBCM ----- - Can now be used to connect to a MySQL database. ORACLE ------ - A sequential scan Oracle curser can now be rewound. - Can now be used to access tables that contain Japanese characters. - Program execution no longer stops when a LIBNAME statement fails to connect to a database and the ERRORABEND system option is specified. TERADATA -------- - Bulk loading functionality is now supported on Windows and Linux only. XLSX ---- - Multiple libraries now function as expected when concatenated in a new LIBNAME XLSX statement. ODS === General ------- - Styled PUT statements can now be used in the HTMLCSS, EXCELXP, MSOFFICE2K, PDF, and EXCEL ODS destinations. - Paged destinations (PDF, LISTING) now reprint blanked group variable values on top row of continued page tables. - ODS destinations no longer trim PREFORMATTED or ASIS styled character cell data or batch output. - Style options specified to the ODS MARKUP statements now determine whether white space is output with data. Leading spaces are controlled by the ASIS style option; trailing spaces by the WHITESPACE style option. - The GTITLE and GFOOTNOTE options can now suppress the title/footnote in the specified to an ODS destination. EXCEL ----- - The TAGATTR style option provides extensibility to ODS enabling Excel-specific formatting to be applied - The worksheet name can now be set to nothing by specifying SHEET_LABEL=''. - Now supports the DPI and IMAGE_DPI options and the DPI sub-option. - Now supports the CONTENTS sub-option. - Now lays out TITLE/FOOTNOTEs using all the columns in the worksheet. - Now handles ODS TEXT better and only outputs TITLEs/FOOTNOTEs that have changed. - Now outputs the values from the AUTOFILTER option in the table header row. - Specified sub-options are now preserved between invocations. - The default value for the WIDTH_FUDGE_FACTOR sub-option has been increased to 1.32. - Now generates worksheet names as expected. - Now correctly outputs values specified to the MISSING system option. - The table of contents output style and content now matches other ODS destinations. EXCELXP ------- - The tagset now correctly: - Calculates row heights and cell widths. - Aligns text that is wrapped. - The value of the WIDTH_FUDGE option must be in the range 0-75. - The DEFAULT_COLUMN_WIDTH option is used to calculate column widths. - Non-standard thousand separators are now supported. - Specifying SHEET_LABEL='None' means the sheet label is unset. - The AUTOFILTER_TABLE option now correctly restricts filters to the specified table. - Now supports column stacking. - Only outputs styles in use to reduce file size. - The ABSOLUTE_COLUMN_WIDTH option now works correctly. - The DEFAULT_COLUMN_WIDTH option now works correctly. - Now correctly outputs values specified to the MISSING system option. HTMLCSS ------- - Now supports GRIDDED layout. LISTING ------- - An empty ODS LISTING statement will now close an open, named, listing file. - Output summary groups are now left aligned. - Lines of data are no longer output on the page after a footnote is output. - Page numbers are no longer output when the DATA step statement FILE PRINT NOTITLES is specified. - Now outputs tall column cells as expected. MARKUP ------ - The BASE option now generates a BASE tag in the HTMLCSS and MSOFFICE2K tagsets. - The DEVICE option no longer causes the WPS Analytics process to fail. - The PATH URL option is now used to for BODY, CONTENTS, FRAME, and STYLESHEET file URLs. PDF --- - Now supports the NEVER, NOW and BYGROUP settings for the STARTPAGE option. - Now correctly reports insufficient space available outputting a table that is too wide. General procedures ================== CATALOG ------- - The NEW statement now functions correctly when the target catalog already exists. - The EXCHANGE statement now functions correctly with newly-created catalogs. COMPARE ------- - Variables observed to contain both missing and non-missing differences are now only counted once in results. - The ID field name is now used rather than the label when producing summary information. DELETE ------ - An error is now generated if an unknown MEMTYPE is specified to the DATA option. EXPORT ------ - Now exports temporary files without adding a file extension. - Can now export multi-byte DBF files. - Files are now correctly exported when the variable names contain single- or double-quotation marks. FORMAT ------ - The rounding applied to formats defined with the PICTURE statement is now 1e-8 rather than 1e-10. FREQ ---- - Now gives consistent results rather results depending upon the order of input data. - Now correctly utilises user defined formats on output. HTTP ---- - Uses the default User-Agent string WPS/URL, to match the behaviour of the other WPS Analytics HTTP clients. - Enables the user agent string sent in the HTTP request to be controlled by the USERAGENT option. - Now correctly handles multiple user-provided headers. IMPORT ------ - Now imports UTF-8 encoded files that contain invalid UTF-8 characters. - Can now import multi-byte DBF files. - Files are now correctly imported when the variable names contain single- or double-quotation marks. MEANS ----- - CLASS variables that contain leading spaces are now processed as expected. OPTIONS ------- - The LONG DEFINE VALUE option now prints the correct value for the maximum number of characters in a string. PRINT ----- - The formatting of the BY variable is now maintained in SUM rows. - BY groups are kept together when outputting wider-than-page tables to the ODS LISTING destination. - The PAGEBY option can now be used with ID variables. - All formatted output now renders accurately when the WIDTH=MININIMUM option is specified. - Now supports printing multiple copies of a variable specified multiple times. - Now outputs the correct number of decimal places for values with exact powers of 2. PWENCODE -------- - Now puts the encoded string in the _PWENCODE global macro variable. REPORT ------ - The DEFINE statement now supports NOPRINT. - Specifying LABEL=" " now clears any existing LABEL value. - The SUMMARIZE option is no longer mandatory for the BREAK and RBREAK statements. - Now allows non-printing columns that occur before the last printing column to affect the style for table row. SQL --- - Reports a syntax error as text, not as an address to a read-only macro variable. - Uses a constant date-time value when the CONSTDATETIME option is specified. - Reports an error if the incorrect CREATE VIEW syntax is used rather than failing. - Preserves formats applied to the source dataset when creating a new dataset. - MATCH and SPRINGFIELD joins now work as expected. - The ALTER TABLE now correctly sets the sort option information. - Using the LIKE and ESCAPE options in the WHERE statement with a CREATE VIEW table now works as expected. - Using a WHERE clause to query a VIEW now functions correctly. - The FEEDBACK option now correctly reports the original table and column names used to create a view. SUMMARY ------- - No longer fails if a unknown variable is specified to the FREQ statement. TEMPLATE -------- - The COLUMN statement now supports the GLUE option. - A warning is now output when a user-defined format used as a style attribute resolves to an incorrect value. - A missing value can now be specified as a style attribute. UNIVARIATE ---------- - The NOPRINT option now correctly disables printing only from the PROC UNIVARIATE statement, not also from the HISTOGRAM statement. - The conditions used for the mean and standard deviation for the Generalised Pareto distribution are now correct.  - Now functions correctly with sequential datasets. - Now uses the correct column names in ODS output for the basic measures table. - No longer creates excessive numbers of bins when NMIDPOINTS is specified to HISTOGRAM. - Histograms no longer have an empty bin on the upper end. - Now uses specified mu0 value when testing trimmed and Winsorized mean values. - The full calculated value of the Shapiro-Wilk p-Value is now displayed in the Tests for Normality table. Machine Learning procedures =========================== DECISIONFOREST -------------- - The Mean Square Error Statistic is now calculated accurately. DECISIONTREE ------------ - The CODE statement now passes variable names as string literals in scoring code. OPTIMALBIN ---------- - WOEADJUST is now only used in bins where the predictor variable takes a single value. MLP --- - The CODE statement now passes variable names as string literals in scoring code. - The Iteration History table now reports the average training residual error with the regularisation term. - Training history now correctly labels the first epoch. Statistical procedures ====================== General ------- - Comparison adjustment calculations have been improved in the ESTIMATE statement of the LIFEREG, LOGISTIC, PHREG and PROBIT procedures: - The two-sided adjusted p-value and confident intervals for the ADJUST=SIMULATE method. - The adjustment results for the ADJUST=SCHEFFE method. - The adjustment results when there are non-estimable entries in contrast matrix L. - The SYSERR variable is now correctly set if there is a syntax error when parsing the SEVERITY, GENMOD, GLIMMIX, NLIN and PHREG procedures. CANDISC ------- - CLASS variables that contain leading spaces are now processed as expected. CORRESP ------- - Now functions correctly when the number of observations in the input dataset is greater than the dimension of resultant Burt table when running MCA with VAR statement. DISCRIM ------- - CLASS variables that contain leading spaces are now processed as expected. GENMOD ------ - The default response sort ordering is now INTERNAL when a multinomial distributed model with numerical response is specified. - The RORDER option now supports FREQ and INTERNAL. - The AGGREGATE option setting is now taken into account when calculating the TYPE1 deviance statistics. - Initial parameter estimates for a trial/event binomial distributed model are now correctly weighted. - The FREQ statement now interacts with distributions in the expected manner. - The CODE statement now passes variable names as string literals in scoring code. - The test for Hessian convergence using a Hessian matrix from a previous iteration rather than the one associated with the current parameter estimates. GLM --- - The ADJUST option of the LSMEANS statement now works as expected when the contrast matrix has non-estimable entries. LIFEREG ------- - Can now use a previously calculated OUTEST dataset to the INEST option of a subsequent procedure invocation. LOGISTIC -------- - The Type 3 Wald Chi-Square statistics is now correctly calculated when GLOGIT link function specified. - The CODE statement now passes variable names as string literals in scoring code. - Now displays warnings if complete quasi-complete separation is detected while model fitting. - The equation in the linear dependency tables is now limited to 2000 characters. MEANS ----- - Computing the mode statistic of a class variable containing no valid observations no longer causes the processing engine to fail. MI -- - The ACF plot output is now consistent with ACF plots from other procedures. MIANALYZE --------- - No longer becomes stuck in an infinite loop. - Now functions correctly if the MODELEFFECTS statement is not included with every effect from a model. - Now correctly matches PARMINFO parameters in multiple imputations. - No longer crashes or produces invalid output where there are many missing values. - No longer outputs an empty dataset if the input dataset contains insufficient information. MIXED ----- - No longer fails to converge in some cases if there is any constrained parameter during Newton-Raphson iterations. - No longer fails when an intercept term is specified as a repeated effect in REPEATED statement. - The ADJUST option of the LSMEANS statement now works as expected when the contrast matrix has non-estimable entries. - Now produces correct LSMEANS results when a WEIGHT statement is specified. NLIN ---- - By groups no longer cause a failure if not the first item in the dataset. - The model (dependent) variable can now be a character item. - No longer generates an error if the model dependent variable is a user program variable rather than an input dataset variable. PHREG ----- - Now displays coefficient tables correctly. - Now works as expected with singular covariance and backward model selection. PROBIT ------ - The CODE statement now passes variable names as string literals in scoring code. REG --- - The START option for the MODEL statement must now be greater than zero when CP, ADJRSQ or RSQUARE is specified for the SELECTION option. TABULATE -------- - The KEYWORD statement now works as expected if no style options are specified. TREE ---- - Cluster labels are now correctly assigned in an OUT dataset when HEIGHT=R is specified. TTEST ----- - Now functions correctly if the same variable is paired. - No longer outputs missing values for a 2-sample ratio test where the mean is negative. - Crossover design statistics now show the correct period number. - Now supports the PLOT option. Quality control procedures ========================== CAPABILITY ---------- - The NOPRINT option now correctly disables printing only from the PROC CAPABILITY statement, also from the HISTOGRAM statement. - Now uses the correct column names in ODS output procedure for the basic measures table. - Fixed the potential occurrence of an infinite loop in non-central chi2 inverse. - When invoked on z/OS, an incomplete BETA function now correctly converges. - The full calculated value of the Shapiro-Wilk p-Value is now displayed in the Tests for Normality table. - WEIBULL2 plots now plot specification lines in the correct place. Graphing procedures =================== General ------- - The graph background colour for SGPLOT, SGPANEL and SGSCATTER procedures is now controlled by the template style. GPLOT ----- - Now supports multiple PLOT statements in RUN groupings. SGPLOT ------ - Now supports the DOT statement. z/OS ==== - The TSOWPS CLIST now forms the members of the concatenation that is used for the DD allocation using the sequence { installation-config-file, user-config-file }. Previously, it was { user-config-file, installation-config-file }. This ensures that restricted system options cannot be changed locally. - The compiled scatter read/write facility no longer fails when there is a very large number of variables. - WPS Analytics can now use a CPU count greater than four. - Now uses session encoded line endings when processing RECFM=V files in USS ZFS locations. - The IEC1451I 413-18 IO Abend is no longer triggered when a data step writes a dataset to a blank tape. - Using a LIBNAME statements with empty path location now generates a warning message. - The value of the DB2 libname SERVER option is automatically converted to uppercase. - The DSCB variable is filled with blanks when no DSCB can be read for an MVS dataset referenced by an INFILE or FILE statement in a DATA step. - An Abend is no longer generated when reading an MVS file using an INFILE or FILE User Exit and either the DSCB or CCHHR option. - WPS Analytics is supported on z/OS versions 2.1 and above. - WPS Analytics is supported on ARCH(9) and above. - The STARTTLS system options are now supported. - The MVS $README files @FONTCFG message has been updated. - Messages and EXIT statements in RINST REXX installer have been renumbered. - The TSOWPS CLIST now binds the output DD cards when in DMR mode, - The TSOWPS CLIST now provides a binding for SASLOG in DMR mode. - The DMRSAVEOUTPUT option enables default bindings for all unbound outputs. - If an error is encountered when reading input, the input buffer and variable list are now output before ABEND. - The LRECL correction factor is now properly applied for a RECFM=V dataset. - A B37 I/O abend in a DATA step is now handled as expected when closing a DATA step. - ODS LISTING now works as expected and longer causes a CEEDUMP error. - The FILENAME File location is now correctly reported. - Filename SFTP is now supported. - Improved the reporting of library and member locations from the CONTENTS procedure. - The sashelp.vextfl table of file references to locations now correctly shows file references defined using a DD reference or member name. - A FILENAME declared to a single element HLQ causing the HLQ to be considered a DD name now works as expected. - The SASDASD library can now contain compressed files with zero pages. - The SFTP client now supports the ASCII command to transcode to and from ASCII as it transfers data. ACSII transcode is specified using either the ASCII option to the FILENAME SFTP or the SFTPASCII system option. - FILENAME EMAIL now supports the OUTLIM option used to specify the OUTLIM value for the SYSOUT DD used to send email via CSSMTP. The EMAILCSSMTPOUTLIM system option must be specified. - FILEBLKSIZE(3490E) now supports sizes up to 256K. - For WPS SORT on z/OS using UTILLOC is more flexible than SORTWORK. WPS Communicate =============== - Can now use wildcards at any position in a filename in the UPLOAD and DOWNLOAD procedures. - The WPS Communicate server port number is now stored in the TCPPORTSERVER automatic variable. - Improved functionality to keep connections during long-running steps. Web === - The Load Manager now has correct timeout values. Workbench ========= - The Workbench now displays a message in the log if the environment variables WPS_USER_CONFIG and WPS_SYS_CONFIG are set incorrectly. - Output to ODS NEWLISTING containing Unicode characters is now correctly paged. - Character data displayed in the data grid view now uses the default format name and the width set from the length of the variable. Workflow ======== General ------- - Datasets on the workflow canvas imported from Database Explorer view can now be copied. Data Import blocks ------------------ - Datasets that come from a database in the workflow canvas, will now indicate the database it came from in its configuration settings. Data preparation blocks ----------------------- - The Impute block now requires a percentage expressed as a fraction for Winsorized mean and trimmed mean. - The Mutate block retains focus after inserting any input variables or functions from the lower pane. Code blocks ----------- - The code block are now full screen editors and may be kept open during workflow execution. Model Training blocks --------------------- - The C4.5 algorithm in the Decision Tree block now has the option to score missing observations or ignore them. - The Decision Tree block editor tab is now named according to its block label. - The Decision Tree block now has a clearer display of Prune Confidence Limit as a percentage. - The variable selection panel in the Decision Tree block and Decision Forest block now allows sorting by variable treatment. - The WoE Transform block now scales with total observations even for bins where the predictor variable takes a single value. Scoring blocks -------------- - The Analyse Model block now contains the Gini coefficient under the statistics tab. - The PSI block now contains a Use standardised PSI option to standardise values according to the 10-bin scale ======================================================================= Getting Support ======================================================================= How you access technical support for WPS Analytics software depends on how you purchased your software. All WPS Analytics users are able to use the user-to-user forum available at https://support.worldprogramming.com. You are welcome to use the forum to ask questions, post answers and share advice and best practices with other users. If you hold a commercial Standard Edition annual license for WPS Analytics, you are also able to use the technical support ticketing system available at https://www.worldprogramming.com/my-account/support/tickets. Copyright (c) 2002-2020 World Programming Limited