06-Sep-2023 =========================== ALTAIR SLC RELEASE NOTES ======================== Version 2023.5 (5.23.5.0-GA-release) Information about important fixes and enhancements delivered in the latest version of Altair SLC. 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. ======================================================================= Table of contents ======================================================================= - Supported platforms - New features - Known issues - Upgrade notes - Deprecated Functionality - Closed issues - Getting support ======================================================================= Supported platforms ======================================================================= Altair SLC is supported on the following platforms: - AIX version 7.2 or later running on PowerPC (ppc)/POWER/System p hardware. - Microsoft Windows version 10 or later running on x86_64 hardware. - Microsoft Windows Server 2016 or later running on x86_64 hardware. - macOS 10.11 (El Capitan) and later running on x86_64 hardware. - Red Hat Enterprise Linux 7 (or equivalent distribution) or later running on one of: - x86_64 hardware. - AARCH64 hardware. - PowerPC (LE) hardware. - s390x hardware. - z/OS version 2.2 on Architecture 10 or later. Altair Analytics Workbench is supported on the following platforms: - Microsoft Windows version 10 or later running on x86_64 hardware. - macOS 10.11 (El Capitan) and later running on x86_64 hardware. - Red Hat Enterprise Linux 7 (or equivalent distribution) or later running on x86_64 hardware. ======================================================================= New features ======================================================================= General ======= - Altair SLC is now available for purchase under Altair Units using Altair Licensing. - Altair SLC now supports OpenSSL version 3.0 Altair Analytics Workbench ========================== - The SLC licence type can now be specified through the Apply Licence for Server dialog box. The supported licence options are: - Altair Managed Licence. - Altair On-Premises Licence. - Wpskey Licence. - Altair Analytics Workbench can now be used with a licenced remote Altair SLC engine when the local engine is licensed with community edition. - Output written to the Console log can now be saved to an external file. - SNOWFLAKE connections in the Database Explorer can now bulk insert data from a dataset to a table in the database. - The File Explorer view now includes zip and unzip options on the short cut menu. - The Project Explorer view. - Program code created and stored in Workflow files is now included in search results. - Now includes a search option on the shortcut menu. - Running a Hub program with parameters created from an Altair Analytics Workbench Project now supports: - Dynamically populating parameters from a service, for example a web API returning JSON arrays. - Specifying repeatable parameters. - Code completion for choice and string parameter types. - The interactive form layout for a Hub program can now be specified using the s Form Layout tab in the SAS Language view or the Form Layout page in the Workflow Settings dialog box. Workflow -------- - A workflow can now be converted to a custom block and used as a processing block in a different workflow. - A workflow is specified as a custom block in the Workflow Settings dialog box. - Parameters can be specified for a custom block using the Parameter Import block. - Custom blocks can now be nested and call other custom blocks in a custom block workflow. - When a custom block has been defined, the block is added to the Custom group. - The following parameter types have been added for a custom block workflow: - Variable name – binds one or more dataset variables to a parameter. - Dataset – binds an existing dataset to a parameter. Dataset parameters can be specified by the following blocks: - Parameter Import. - Input dataset. Variable name parameters can be specified by the following blocks: - Aggregate. - Database export. - Deduplicate. - Hierarchical Clustering. - Impute. - K-means Clustering. - Linear Regression. - Logistic Regression. - Merge. - Mutate. - Rank. - Select. - Sort. - Text Transform. - Top Select. - Transpose. - The Input Dataset block has been added to the Custom group. - This block is used to specify the expected variables in an input dataset for a custom block. The dataset passed from the Workflow invoking the custom block must match the specified structure. - The Output Dataset block has been added to the Custom group. - This block is used to specify an output dataset from a custom block that is returned to the Workflow invoking the custom block. - The Dataset Import block: - Now supports importing a dataset from a sas7bdat formatted file. - The Filter block: - Now supports the CONTAINS condition to enable searching for a substring in a character variable. - The Program Inputs block: - Now supports code completion for choice and string parameter types from a specified endpoint. - Now supports defining repeatable parameters in SAS language hub programs. - Now supports custom input forms when the hub program is invoked through a browser. - The Aggregate block: - A prefix or suffix can now be specified for selected variables. - Selected variables can now be reordered. - A selected function can now be applied to multiple variables. - The Impute block: - Multiple variables can now be specified for a selected impute type. - The SAS language block: - Now supports creating an ODS destination that is visible and can be opened from a Workflow canvas. The supported destinations are: - ODS EXCEL. - ODS HTML. - ODS HTML5. - ODS LISTING. - ODS PDF. - ODS POWERPOINT. - ODS RTF. - ODS XML. - The Logistic Regression block: - Selected variables can now be ordered in the Variable Selection panel. - The Query block: - Now supports the CONTAINS condition to enable searching for a substring in a character variable. - The Dataset Export block: - Now supports exporting a working dataset to a sas7bdat formatted file. - The Workflow Settings dialog box: - Now supports defining custom input forms that are displayed when the hub program is invoked through a browser. - Now supports specifying LIBNAME statement options in the Databases tab. System options ============== - The following system options have been added at this release: - MACROMAXLETELEMENTS - MACROMAXRECURSIONDEPTH - MAXSORTSIZE - MAXSUMSIZE - MINSORTSIZE - MINSUMSIZE - PARALLELINSTANCES - SQLENABLEINDEXEDJOINS - SQLSERVERDEFAULTDRIVER - WPSUSEALM - The following system option has been modified at this release: - LRECL The default value for record length is now 32767. Global statements ================= - The following statement is now supported: - LIBNAME ARROW Formats and informats ===================== - The following formats are now supported: - B8601LX - E8601LX - The following informat is now supported: - $OCTAL Output Delivery System ====================== - Now supports the ODS RESULTS statement. - Now supports the ODS USEGOPT statement. - The ODS LAYOUT and ODS REGION statements now support the STYLE option. - The ODS HTML5 destination is now supported. - The ODS LISTING destination now supports the GPATH option. - ODS EXCEL: - The OPTIONS option now supports the INDEX sub-option. - ODS PDF now supports: - The NOUNIFORM option. - The UNIFORM option. DATA step ========= - The following function has been added at this release: - HASHING_FILE General procedures ================== - The following procedures has been enhanced at this release: - COMPARE - Now supports the LABELIGNORECASE option. - FCMP Now supports the following CALL routines: - CALL ADDMATRIX - CALL CHOL - CALL DET - CALL ELEMMULT - CALL INV - CALL MULT - CALL SUBTRACTMATRIX - CALL TRANSPOSE - FREQ Now supports: - Binomial proportion exact point probability calculations. - The BOWKER and MCNEM options to the EXACT statement. - The AGREE option to the OUTPUT statement. - The AGREE and PLOTS options to the TABLES statement. - The ZEROS option to the WEIGHT statement. - HTTP Now supports: - The HEADERS statement. - The OAUTH2 statement. - MEANS Now supports: - The AVERAGE alias for the MEAN statistical keyword. - The PROC MEANS statement now supports the STACKODSOUTPUT option. - PRINT - The PROC PRINT statement now supports the BLANKLINE option. - SORT - The PROC SORT statement now supports the NOUNIQUEKEY, NOUNIQUEREC, and UNIQUEOUT options. - SQL - The PROC SQL statement now supports the FLOW option. Graphing procedures =================== - The following graphing procedure has been added at this release: - G3GRID - The following graphing procedures has been enhanced at this release: - GCHART now supports the HBAR3D, PIE3D and VBAR3D statements. - SGPLOT now supports the XAXISTABLE and YAXISTABLE statements. Statistical procedures ====================== - The following statistical procedures has been enhanced at this release: - GLIMMIX. Now supports the CODE statement. - GLM. Now supports the ABSORB and REPEATED statements. - LIFEREG. The CODE statement now supports the QUANTILE option. - MCMC. Now supports the following functions: - LPDFDIRICH - LPDFIWISH - LPDFMNOM - LPDFMVN - LPDFMVNAR - MIXED. The RANDOM statement now supports the GDATA and RATIOS options. - PHREG. Now supports the CONTRAST statement. - SVM. The SCORE statement now supports the PROB option. Time Series procedures ====================== - The following procedure has been added at this release: - QLIM Quality Control procedures ========================== - The following procedures have been added at this release: - FACTEX - MVPMODEL Data engines ============ - The following data engine has been added at this release: - SAPHANA ODBCM ----- - The following option is now supported: - STRINGDATES POSTGRESQL ---------- - Now supported on the AIX platform. SNOWFLAKE --------- - The following options is now supported: - BL_UNLOAD_USE_SNOWSQL TERADATA -------- - The following dataset options are now supported: - DBTYPE - DBCREATE_TABLE_OPTS ======================================================================= Altair SLC known issues and getting support ======================================================================= This section contains information about known issues in this version of Altair SLC and how to get technical support. ----------------------------------------------------------------------- Critical known issues ----------------------------------------------------------------------- None ----------------------------------------------------------------------- Known issues ----------------------------------------------------------------------- None ======================================================================= Upgrade Notes ======================================================================= - Datasets written using Altair SLC 2023 cannot be opened with previous versions of Altair SLC (or WPS Analytics). If backwards-compatibility is required, we recommend either creating a copy of existing WPD-format datasets to use with Altair SLC 2023, or accessing existing datasets as read-only from Altair SLC 2023. - The default installation location of the Altair SLC executable has changed at this release: - Microsoft Windows: C:\Program Files\Altair\SLC\2023\bin - Linux: /opt/altair/slc/2023/bin - macOS: /Applications/altairslc.app/Contents/MacOS Any SAS language programs or processes that reference previous versions of Altair SLC might need to be modified to reference the new installation location. - IBM ARCH(10) is required to run Altair SLC version 5.0 or later. - IBM XL C/C++ version 16 is required to run Altair SLC 5.0 on the AIX platform. ======================================================================= Deprecated Functionality ======================================================================= None ======================================================================= Closed Issues ======================================================================= General ======= - The -setinit option can now be specified on the Altair SLC command line to force the use of setinit-based licensing. - In procedure steps that support data step-like statements: - Previously undefined variables specified with the concatenate operator in an expression now default to character variables rather than numeric variables. - Altair SLC now allocates the correct amount of memory on Linux platforms. - The ALMUTIL executable is now distributed with Altair SLC. - Output of SYSPRINTTOLOG macro variable is now quoted - Dataset options. Support for the UPDATEBUFF dataset option has been added. Core ==== - FILENAME SFTP - Now uses the session encoded line feed characters. - Now always runs in batch mode rather than interactive mode. - CATNAME statement. Recreating an already specified concatenated catalog with replacement catalog names now works correctly. - FILENAME JSON - The names used for datasets extracted from below the top level of the JSON input are now formed from the lowest two levels of the JSON path to the dataset. - Unique dataset names are maintained by adding an incremental numeric suffix to second and subsequent datasets that would otherwise have the same name. - Unique variable names in a dataset are maintained by adding an incremental numeric suffix to second and subsequent JSON field that would otherwise have the same name. System options -------------- - The support and append options are now supported with the following system options: - INITSTMT - SITEINITSTMT - TERMSTMT - SITETERMSTMT - PRINTERPATH is now parsed but has no effect. This is provided for compatibility purposes only. - NOSYNTAXCHECK is now parsed but has no effect. This is provided for compatibility purposes only. - The FORMDLIM option now functions as expected. Formats and informats --------------------- - The $QUOTE format now encloses text in quotation marks that has already been enclosed in quotation marks, creating, for example, ""mytext"" from "mytext". Macros ------ - If expansion of a macro variable is not valid, a failure warning is now written to the log. - The following automatic macro variables are now supported: - SYSPRINTTOLOG - SYSPRINTTOLIST - The %SYSFUNC function now returns an error, rather than the program failing, if the string argument exceeds the maximum length. DATA step ========= Statements ---------- - The SET statement: The variable specified to the END option is now cleared on each iteration where the condition is not true rather than only on the final iteration of the data step. Functions and CALL routines --------------------------- - Leading spaces are now removed from a string variable specified to the SOUNDEX function. - Null values can now be specified in the expression argument to the PRXCHANGE function. - The COMB function now returns an integer value avoiding rounding errors. - The INTCK function now accurately counts the number of periods when using the continuous method. - The EUROCURR function now provides conversion calculation for Croatian Kuna to Euro. - CALL SORTN. Duplicate variables specified to the routine now use the last specified value when sorted. Data engines ============ DB2 --- - Now supports the BL_DATAFILE, BL_DB2CMD_PATH, BL_DEFAULT_DIR, and BL_DELETE_DATAFILE LIBNAME statement options. - The BL_METHOD LIBNAME statement option now supports the CLP setting. - Now supports the BL_DATAFILE, BL_DB2CMD_PATH, BL_DEFAULT_DIR, BL_DELETE_DATAFILE, BL_LOG, and BL_METHOD dataset options. ORACLEM ------- - Now checks a member exists before creating a database table. - Importing a dataset containing unsupported column data types from an Oracle database no longer causes a SAS language program to fail. The program now continues to run; any variables specified with an unsupported type are dropped from the imported dataset and a note is written to the log. - When writing data to column of type Number in a table, numeric variables are now converted to a string representation before insert to preserve the precision and scale of the value. POSTGRESQL ---------- - Datasets with greater than 1000 columns can now be uploaded to a POSTGRESQL database. SNOWFLAKE --------- - Now supports use of the escape character in text variables. SQLSERVER --------- - Now accurately creates a copy of a dataset with the COPY procedure when database indexes are used. TERADATA -------- - Date variables now use the database DATE format rather than ANSI date format. - Now supports LDAP credentials when specifying a LIBNAME statement. ODS === - The ODS NORESULTS statement is now parsed but has no effect. This is provided for compatibility purposes only. - The NOPF option is recognised when specified with an ODS PACKAGE OPEN statement but has no effect. This is provided for compatibility purposes only. - The ODS ESCAPECHAR now supports the short syntax style "^S={...}" when styling subscript and superscript text. - ODS graphics procedures now render right-to-left encodings correctly in titles and labels. - The short form ESCAPECHAR character syntax now produces the expected output when using multiple escape characters in the same ODS output statement. ODS EXCEL --------- - Now supports the MERGE_TITLES_FOOTNOTES and TITLE_FOOTNOTE_WIDTH options. ODS EXCELXP ----------- - Now writes missing values to a spreadsheet. ODS LISTING ----------- - Output written using the PRINT procedure now produces the expected result when DATA step views are specified. - Now produces the expected result when writing a wide dataset using the PRINT procedure. ODS TEXT -------- - An empty single line is no longer automatically added between output created by contiguous ODS TEXT statements. - Output written using ODS TEXT is no longer truncated to the length of a report table in excel spreadsheet output. General Procedures ================== CATALOG ------- - The procedure statements now work as expected if a specified catalog does not exist. CONTENTS -------- - The default print path for a variables dataset is now 'Contents.DataSet.Variables'. CORR ---- - A Pearson correlation table is no longer written to output when only the POLYSERIAL option of the PROC CORR statement is specified. DATASETS -------- - Specifying MT=DATA now preserves the SASMACR catalog rather than removing the catalog. FCMP ---- - The maximum length of a user-defined function or call routine is now 32000 bytes. FORMAT ------ - The DATATYPE option of the PICTURE statement can now be specified as a general option, in which case it creates a default for all picture mappings, and as an option to a defined picture mapping, in which case it applies only to that mapping. FREQ ---- - The trace path for CrossTabFreq tables now uses the format Freq.Tableof.CrossTabFreqs - The table layout of the Confidence limits table are now consistent across the output statistical test. - Now correctly groups variables when ranges are specified for variable names with numeric suffixes. HTTP ---- - Files specified to the IN option are now treated as binary content and passed directly to the server that hosts the web site. - Header information specified to the HEADERIN option is now used in preference to the default header information or values specified to the CT option. - The returned body now contains information from the error stream if HTTP status code 400 or 403 are encountered. JSON ---- - The WPSJSONExport variable is now automatically incremented when multiple datasets are written to the same JSON-formatted file. PLOT ---- - The correct byline information is now written to the listing destination when output is grouped using the BY statement. PRINTTO ------- - The output of SYSPRINTTOLOG macro variable is now surrounded in quotation marks. PYTHON ------ - Importing a data frame to a dataset now converts NaN/infinity values to MISSING values. REPORT ------ - The STYLE option is now supported when used with the BEFORE and AFTER options to the COMPUTE statement. - BY group headings specified using the TITLE statement are now written to the ODS output. - Now removes empty table header rows. - Now writes the expected output when using an iteration variable as a column index. - Now supports traffic-lighting highlighting in table header rows styled with user-defined formats. SQL --- - String literals specified in implicit passthrough queries are now only right-trimmed if the variable is used in a comparison. - Specifying VALIDVARNAME=UPCASE now forces all variable names (table column names) into upper case when read by a SAS language program. - The CREATE TABLE statement now supports creating DATETIME and TIMESTAMP fields. - Dictionary member names now support a length of 32 characters. TABULATE -------- - The INDENT option now has a default maximum indent of 32. This maximum can be modified using the TABULATEMAXINDENT system option. - Now accurately handles class variables using the MLF option when the specified format is empty. - Specifying an empty dataset to the CLASSDATA option without specifying a BY statement now generates a report. - The output format of the resulting dataset has been modified to resolve compatibility issues. TTEST ----- - Now generates t statistics when the standard error of the input variable is close to zero. UNIVARIATE ---------- - Specifying the TRIMMED option now returns more accurate results. - If the SN or QN options of the OUTPUT statement are specified when a WEIGHT statement is also specified in the procedure, a message is now written to the log and MISSING values written to the output dataset. Machine Learning procedures =========================== OPTIMALBIN ---------- - The MONOTONEWOE option now works correctly when variables containing missing values are specified. - Now reports the correct bin index in the scored data set when using OUT option and CODE statement. MLP --- - Epochs in the training history table are now correctly labelled when using mini-batch training algorithms. SEGMENT ------- - If a specified variable does not exist in the input dataset, a warning is now written to the log and the procedure does not fail. Statistical procedures ====================== General ------- - Where procedures support CLASS and MODEL statements, you must now specify any CLASS statement in the procedure before specifying the MODEL statement. DISTANCE -------- - Now produces a correct distance matrix for the JACCARD and DJACCARD methods when only asymmetric nominal variables are specified. GLM --- - Now writes out the correct output tables when the REPEATED statement is specified and no independent effects are specified in the MODEL statement. - Now writes the correct variable names into the epsilon output table. GLMSELECT --------- - Now produces more accurate results for standardised coefficients in the parameter estimates table when the adaptive LASSO method is selected. - Now produces the expected results when specifying the OUTDESIGN and NOPRINT options to the PROC GLMSELECT statement. KDE --- - Now supports outputting 3D surface plots and 3D histogram plots. LIFEREG ------- - Specifying the CDF option on OUTPUT statement now works without requiring the P option to also be specified. - The predicted, residual and standard error values generated by the CODE statement now match those generated using the OUTPUT statement. - The CODE statement now drops all temporary variables across all BY-groups to accurately create data step code for a model. LOGISTIC -------- - A full set of fit statistics has been added to the FitStatistics ODS table created using the SCORE statement. - Now displays statistics relating to the full log-likelihood model in the FitStatistics table when trial/event syntax used. - The maximum number of iterations has been increased when finding a ridge value that results in the log-likelihood increasing when performing parameter optimisation. LP -- - When loading a dataset in sparse format, the order in which the model is specified no longer affects the output of the procedure. MIXED ----- - Specifying the OUTP option on the MODEL statement now generates correct predictions and standard errors for missing dependent variables when the RANDOM and REPEATED statements are both specified. NLIN ---- - Now removes any variables specified to the PARAMETERS statement but not the MODEL statement from the analysis. NPAR1WAY -------- - Score test tables are now output in tabular form. PHREG ----- - Specifying both the NOFIT option to the MODEL statement and COVS option to the PROC PHREG statement now outputs the correct p-value for the robust sandwich estimate of the global score. - The STRATA statement now outputs the stratum in the print path. PLAN ---- - The NVALS option of the OUTPUT statement now supports non-integer numeric values, and values can be specified in a comma-separated list. Altair SLC Communicate ====================== DOWNLOAD -------- - Now supports the INCAT and OUTCAT options. - SAS language Catalogs can now be transferred from a remote server using this procedure. UPLOAD ------ - Now supports the INCAT and OUTCAT options. - SAS language Catalogs can now be transferred to a remote server using this procedure. Altair Analytics Workbench ========================== General ------- - Connecting to a remote Altair SLC processing engine now uses SSH by default. - Dark theme is now supported in the SAS language and Workflow perspectives. - Can now run a SAS language program in the Console view. - JSON files can now be associated with Altair Analytics Workbench for automatic opening and editing. - SLC Hub namespaces can now be used to organise which libraries appear in database connections. - This is configured in the properties of the host node in Link Explorer. Workflow -------- - A message is now displayed with the Impute Output option in the Hierarchical Clustering block if missing values from the input variables are imputed in the output. - The Filter block can now create a dataset containing the observations that do not satisfy the filter condition. - Blocks can be drag and dropped to palette groups in the Palette Settings. - Parameters can now be specified to have a variable type. - Palette blocks can now be searched using the search bar, can filter either using the block name or search tags. - Layout of parameter dialogue box can now be specified. - Group by variables can now be parametrised for use in a custom block workflow. - The Libname Import block has been added to the Import group. - The Libname Export block has been added to the Export group. - Date, time, and datetime parameters can now be specified to contain the current date, current time, or current datetime when the workflow is invoked. z/OS ==== - It is no longer possible to change a fileref that is a member of SOURCLIB when it is in use. Trying to do so now results in an error. - LIBNAME XPORT now accurately reads header information. - Altair SLC can now read encrypted MVS datasets. - The CLUSTER procedure now returns more accurate results when a constant variable is specified. - If a member of an input concatenation is SYSIN input, the BLKSIZE is now set to either the same as the LRECL (if RECFM=F) or the largest valid whole multiple of the BLKSIZE (if RECFM=FB). - The name of the access method as specified in the fileref is now returned for external files. - Altair SLC now continues to execute rather than fail if a specified NEWS file is not defined. - The DATASETS procedure now writes information on the name of the job that created or modified a dataset to the output dataset. - Z/OS: WPD library containers can now be stored on EAV disks. ======================================================================= Getting Support ======================================================================= How you access technical support for Altair SLC software depends on how you purchased your software. All users are able to use the user-to-user forum available at: https://community.altair.com. If you hold a commercial license for Altair SLC, you are also able to use the technical support ticketing system available at: https://community.altair.com. Copyright 2002-2023 World Programming, an Altair Company