14-Mar-2022 ================= NOTE SULLA VERSIONE DI WPS ================= Versione 4.1.10-GA-release (4.1.10.0.18452-GA-release) Informazioni su importanti correzioni e miglioramenti introdotti nell'ultima versione di WPS. In questo documento, il testo mostrato tra parentesi acute accoppiate è variabile e può essere sostituito dal testo richiesto. Ad esempio, indica che è necessario specificare il nome del percorso richiesto a un dispositivo. ======================================================================= SOMMARIO ======================================================================= - Novità - Problemi noti - Note sull'aggiornamento - Aggiornamenti non documentati - Problemi risolti - Ricevere supporto ======================================================================= NOVITÀ ======================================================================= Flussi di lavoro ========= Questa versione include molti miglioramenti dei flussi di lavoro per migliorare l'usabilità e le prestazioni, tra cui: - Ora è possibile aggiungere commenti a un flusso di lavoro. - È possibile creare riferimenti alle origini dati del database locale. - È possibile utilizzare riferimenti alle origini dati del database definite centralmente (libname) archiviate nell'Hub di WPS. - L'analisi di correlazione è stata aggiunta al Profiler di dati. - Il blocco Join è stato aggiornato per consentire all'utente di creare visivamente le connessioni tra i set di dati di input. - Il blocco Filtro ora supporta filtri semplici e avanzati. - I blocchi in linguaggio Python, linguaggio R e linguaggio SAS ora elencano i set di dati e le variabili di input nella finestra di dialogo Configura. - Ora vengono create più istanze di Motori di flusso di lavoro per consentire l'esecuzione di flussi di lavoro in parallelo. - Il blocco Albero decisioni ha ulteriori schede. La scheda Tabella contiene le rappresentazioni tabellari dell'albero. La scheda Punteggio contiene il valore di probabilità dell'output in linguaggio SAS o SQL. - Il blocco Albero decisioni ora consente di esportare la rappresentazione tabellare dell'albero delle decisioni in un file Excel (.xlsx). - Il blocco Importazione file di testo ora consente di importare i dati delimitati dal file con qualsiasi estensione di nome file. - Se si copiano e incollano più blocchi, le relative posizioni dei blocchi ora vengono mantenute. - Il codice SAS sottostante creato quando si crea un flusso di lavoro ora si può esportare in un file. - Ora è possibile selezionare più variabili nel blocco Albero decisioni e specificare il loro trattamento. - Ora è possibile duplicare un blocco del flusso di lavoro tramite un menu di scelta rapida. - Nel blocco Muta, ora è possibile trascinare funzioni e variabili nell'editor delle espressioni. - Il blocco Analizza modelli ora supporta variabili continue. - Nel blocco Set di dati: - Ora è possibile configurare SSL per MySQL. - Vari miglioramenti sono stati apportati per la configurazione ODBC per semplificare la configurazione dei database. Questa versione include nuovi blocchi: - Per l'importazione: - Importazione di database - Per la preparazione dei dati: - Aggrega - Discretizzazione - Rango - Campiona - Ordina - Blocchi codice: - SQL. - Per il training del modello: - Foresta decisioni - Regressione lineare - MLP - Per l'esportazione: - Generatore diagrammi - Esportazione file delimitato - Esportazione di Excel Motori di dati ============ I seguenti Motori di dati sono stati potenziati in questa versione: Oracle ------ - Ora supporta tutte le codifiche ORACLE. - È stato modificato per creare le tabelle temporanee GLOBAL. - L'opzione DBCOMMIT ora abilita più commit. ODBC ---- - DBINDEX ora è supportato in ACCESS ODBC (solo in Access 2013 e Access 2016). - Ora può connettersi al Servizio Query Amazon Athena. SQLSERVER --------- - Per SQLSERVER multithread, ora è supportata l'opzione di generazione SQL INSERT_SQL. Funzioni per DATA step =================== Le seguenti funzioni del DATA step sono nuove in questa versione: - JARO - JAROWINKLER - NGRAM - SYSEXIST - EUROCURR Le seguenti funzioni per DATA step sono state potenziate in questa versione: - Tutte le funzioni di distribuzione WALD ora supportano l'opzione lambda. Aggiornamenti all'Output Delivery System (ODS) ==================================== - La coppia di tag ExcelXP ora supporta le seguenti opzioni: - BLACKANDWHITE - CENTER_HORIZONTAL - EMBED_FOOTNOTES_ONCE - PAGES_FITHEIGHT - PAGES_FITWIDTH - La destinazione ODS EXCEL ora è supportata per i file di formato .xlsx. - Le procedure grafiche ora utilizzano un contatore globale per generare i nomi di file di immagine. LISTING ------- - La destinazione ODS LISTING è stato sottoposta a refactoring per migliorare le prestazioni ed espandere le opzioni supportate. Il supporto sperimentale per la nuova destinazione dell'elenco è stata aggiunta a questa versione. Se si desidera testare la nuova destinazione dell'elenco, contattare support@worldprogramming.com per assistenza. - Un'istruzione ODS LISTING vuota ora chiuderà un file di elenco aperto e con nome. Opzioni di sistema ============== Le seguenti opzioni di sistema sono state aggiunte a questa versione: - CONNECTPAGEBREAK - CONNECTTIMEOUT - CONNECTTRANSCODEWARNINGS - CONSIDERXLSXCOLWIDTHS - DB2PLAN - DBIDIRECTEXEC - DYNAMICNOBS - EMAILMASQUERADEHOST - FILECONTAINERCACHESIZE - HUB_AUTOLIBS - HUB_TOKEN - LEGACYDB2ENGINE - LEGACYNETEZZAENGINE - LEGACYODBCENGINE - LEGACYORACLEENGINE - LEGACYSQLSERVERENGINE - LEGACYSQLSERVRENGINE - LEGACYSQLSVRENGINE - LINKINITSTMT - LINKTERMSTMT - NETEZZACHARCOLUMNTYPE - ODSLISTINGDEST - PREFERLEGACYTABLETEMPLATES - SCANDEFAULTMODIFIERS - TAGSETSTREAMVARSIZE - TLS_CACERTS - TLS_HOSTVALIDATION - WPDDASDLIBNAMEINFO - WPSCOMENCRYPTKEY - WPSSCATTERCOMP - WPSSCATTERLIMIT1 - WPSSCATTERLIMIT2 Macro ====== - Il formato &=varname di espansione della variabile della macro ora è supportato. - Ora è possibile utilizzare le seguenti istruzioni per la macro in un programma in linguaggio SAS all'esterno di un blocco #%MACRO...%MEND: - %IF - %THEN - %ELSE - %DO, incluso %DO iterativo, %DO %WHILE e %DO %UNTIL - %END Procedure generali ================== La seguente procedura generale è nuova in questa versione: - FONT Le seguenti procedure generali sono state migliorate in questa versione: - REPORT - L'istruzione DEFINE ora supporta: - ID - PROBT (alias per PRT) - MODE - Blocco di codice COMPUTE. La giustificazione predefinita dell'istruzione LINE ora è CENTER. - NOPRINT - OPTIONS - Ora supporta le informazioni dettagliate del set where. - PYTHON - Le argomentazioni della riga di comando ora possono essere specificati nell'istruzione EXECUTE. - R - Le argomentazioni della riga di comando ora possono essere specificati nell'istruzione EXECUTE. - FORMAT - L'output dell'istruzione PICTURE ora è giustificato a destra. - TABULATE Ora supporta EXCLNPWGT. - TRANSPOSE Gli spazi iniziali e finali nei nomi delle variabili vengono rimossi, anche se è impostata l'opzione di sistema VALIDVARNAME=ANY. - UNIVARIATE, l'istruzione HISTOGRAM ora supporta: - MAXNBIN - NROWS - NCOLS Procedure grafiche =================== Le seguenti procedure grafiche sono nuove in questa versione: - GINSIDE - GPROJECT - SGPLOT - SGPANEL Procedure di apprendimento automatico =========================== Le seguenti procedure di apprendimento automatico sono nuove in questa versione: - DECISIONFOREST - SEGMENT Ricerca operativa ==================== La seguente procedura di ricerca operativa è nuova in questa versione: - LP Controllo della qualità =============== La seguente procedura di controllo della qualità è nuova in questa versione: - CAPABILITY Procedure statistiche ====================== Le seguenti procedure statistiche sono nuove in questa versione: - ASSOCRULES - GAM - LP - PLAN - QUANTREG - ROBUSTREG - RSREG - TPSPLINE Le seguenti procedure statistiche sono state migliorate in questa versione: - NPARWAY1 - Ora supporta l'istruzione EXACT. - SURVEYSELECT - Ora usa l'algoritmo twister Mersenne per impostazione predefinita per generare campioni. - Ora supporta l'istruzione FREQ. - L'istruzione PROC SURVEYSELECT ora supporta le seguenti opzioni: - GROUPS - METHOD. I seguenti metodi ora sono supportati: - BALBOOT - BERNOULLI - POISSON - PPS - PPS_BREWER - PPS_MURTHY - PPS_SAMPFORD - PPS_SEQ - PPS_SYS - PPS_WR - SEQ_POISSON - SRS - SYS - RANUNI, che può servire a riprodurre i risultati generati tramite la versione 4.0 di WPS. - REP, che ha l'opzione REPNAME = nome aggiunta - ROUND - STRATUMSEED - L'istruzione STRATA ora ha il supporto per le seguenti opzioni: - ALLOC - ALLOCMIN - ALPHA - COST - MARGIN - NOSAMPLE - STATS - GENMOD - L'istruzione MODEL ora supporta le opzioni TRUNC e NOTRUNC. Per informazioni dettagliate, consultare "Aggiornamenti non documentati" in queste note sulla versione. Procedure di serie storiche ====================== La seguente procedura di serie storiche è nuova in questa versione: - AUTOREG Workbench ========= Le seguenti funzionalità sono nuove in questa versione: - Ora è possibile trascinare un file da Esplora file e rilasciarlo in una raccolta. - Ora è possibile specificare in Preferenze che il registro viene cancellato ogni volta che viene eseguito un programma o un passo. - Ora è possibile aprire i database crittografati e richiedere una chiave attraverso una finestra di dialogo. - Ora è possibile eseguire il passo che attualmente contiene il cursore usando le opzioni 'Esegui passo' o 'Esegui passo il' nel menu di scelta rapida dell'editor di programmi. - È possibile aprire il set di dati crittografati da Esplora file, Esplora server ed Esplora progetti. - I collegamenti vengono aggiunti per aprire i file di Esplora sistema dalle viste Progetto/File. - I collegamenti vengono aggiunti per aprire i file in Esplora sistema dal menu dei contenuti della scheda dell'editor. WPS Communicate =============== Le seguenti modifiche sono state apportate in questa versione: - Ora è possibile annidare i blocchi RSUBMIT ed ENDRSUBMIT. - Ogni invio da Workbench viene contrassegnato nell'output del registro con timestamp pre e post che contengono anche il nome utente remoto per facilità d'uso. - Il lato client ora verifica la versione del server per vedere se è presente la funzionalità di crittografia o la compressione è presente e genera un errore se non lo è. - Ora è possibile utilizzare le variabili macro nell'istruzione LOG negli script. ======================================================================= Problemi noti di WPS e come ricevere supporto ======================================================================= La presente sezione contiene informazioni sui problemi noti in questa versione di WPS e come ricevere supporto tecnico. ----------------------------------------------------------------------- Problemi noti critici ----------------------------------------------------------------------- Nessuno ----------------------------------------------------------------------- Problemi noti gravi ----------------------------------------------------------------------- ODBC ==== L'aggiornamento o eliminazione di righe mediante il motore ODBC ora utilizza gli aggiornamenti basati sul cursore tramite la clausola "WHERE CURRENT OF" supportata da alcuni driver ODBC. Al momento supportiamo questa funzionalità solo per le connessioni DB2 e SQL Server utilizzando il motore di raccolta per ODBC. Procedura Python ================ - Quando si utilizza la procedura Python, qualsiasi chiamata al programma Python che arresta l'interprete Python, come sys.exit() oppure os.exit(), arresterà l'elaborazione in WPS e sarà necessario riavviare il server WPS. DBCS/multibyte ============== - La codifica della sessione DBCS/multibyte non è supportata in z/OS. - UTF-16 non è neanche supportato con il rilevamento automatico di ordine dei byte dall'indicatore per ordine dei byte, per la codifica dei file esterni. Tuttavia sono supportati UTF-16BE e UTF-16LE espliciti, e tollerano l'indicatore per ordine dei byte. - Si potrebbero riscontrare problemi con le prestazioni di alcune funzioni, formati e informati. - Il Motore WPS per SAND non supporta attualmente le codifiche multibyte. ----------------------------------------------------------------------- Problemi noti secondari ----------------------------------------------------------------------- Workbench ========= - Se si trascina un file da Esplora file a Esplora progetti, il file ora viene copiato e aperto. - L'Analizzatore di codice non gestisce file in cui le righe terminano con numeri; sono tipicamente file mainframe. - Se si tenta di applicare una licenza a un server che è stato specificato su un percorso che non contiene un'installazione di WPS, l'applicazione della licenza restituirà un errore, ma non in maniera pulita, e verranno visualizzati i messaggi che fanno riferimento a errori sconosciuti. - In Linux, le finestre di dialogo potrebbero essere nascoste dietro altre finestre. - In Linux, il pulsante Sfoglia utilizzato per modificare un motore preesistente su un server remoto Windows in modo che punti all'installazione del software sulla VM remota non funziona. - L'anteprima di importazione del file potrebbe troncare i dati perché le righe restituite dal limite della riga di anteprima potrebbero non contenere informazioni sufficienti per determinare la lunghezza di una variabile. Denominazione dei file =========== - Se si crea o rinomina un file sul sistema operativo Windows e il nome del file contiene caratteri che non è possibile rappresentare nella codifica della sessione WPS corrente, i caratteri che non è possibile rappresentare saranno sostituiti od omessi. Per impostazione predefinita, vengono sostituiti. Questo è solo per la visualizzazione nelle procedure e nelle funzioni WPS. Ad esempio, se si utilizza la procedura DATASETS per elencare i membri di una raccolta, un nome del file con caratteri che non è possibile rappresentare verrà visualizzato con caratteri sostitutivi. Tuttavia, non è possibile eseguire alcuna operazione sul file utilizzando il nome del file, poiché il nome del file non rappresenta il nome del file reale. - È possibile modificare il modo in cui WPS funziona con tali nomi di file utilizzando l'opzione di sistema CHARTRANUNMAPPABLE; è possibile, ad esempio, specificare che i caratteri vengono sostituiti con un carattere di scambio codice o ignorati. Motori di dati – a thread multipli ============================ NETEZZA ------- Se i programmi in linguaggio SAS utilizzano l'istruzione LIBNAME che si collega a Netezza e l'istruzione contiene una qualsiasi delle seguenti opzioni, è necessario sostituire NETEZZA con NETEZZAOLD nell'istruzione LIBNAME: - DELETE_MULT_ROWS - IGNORE_READ_ONLY_COLUMNS - STRINGDATES - UPDATE_MULT_ROWS - USE_ODBC_CL - UTILCONN_TRANSIENT ODBC ---- Se i programmi in linguaggio SAS utilizzano l'istruzione LIBNAME per collegarsi a ODBC e l'istruzione contiene una qualsiasi delle seguenti opzioni, è necessario sostituire ODBC con ODBCOLD nell'istruzione LIBNAME: - 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 --------- Se i programmi in linguaggio SAS utilizzano l'istruzione LIBNAME si collegano a SQL Server e l'istruzione contiene una qualsiasi delle seguenti opzioni, è necessario sostituire SQLSERVER con SQLSERVEROLD nell'istruzione LIBNAME: - CURSOR_TYPE - DELETE_MULT_ROWS - INSERT_SQL - KEYSIZE_SET - QUERY_TIMEOUT - QUOTE_CHAR - STRINGDATES - UPDATE_MULT_ROWS - UPDATE_SQL - USE_ODBC_CL - UTILCONN_TRANSIENT Configurazione del Gestore per i servizi Web di WPS ========================================= - Si consiglia di ordinare le impostazioni di configurazione nel file broker.cfg, situato nel //web/cgi-bin, in modo da visualizzare TUTTE le impostazioni denominate di 'WPSPowered*' (laddove "*" è un carattere jolly) prima delle impostazioni di 'Servizio' in quel file. Istruzioni echo nei file .bashrc quando si utilizza WPS Link ==================================================== Se gli script di inizializzazione delle shell ripetono il testo durante un accesso non interattivo, WPS Link non verrà avviato. Tali istruzioni echo si dovrebbero pertanto rimuovere o rendere condizionali sulla shell interattiva, come riportato di seguito: * Controllare il contrassegno 'interattivo' Per esempio: case $- in *i*) echo "Questa è una shell interattiva"; esac * Utilizzare l'utilità TTY per rilevare una shell interattiva Per esempio: if tty > /dev/null 2>&1 do echo "Abbiamo una sessione interattiva" fi * Controllare il valore della variabile di ambiente $SSH_TTY if [ "$SSH_TTY" ] then echo "Abbiamo una sessione interattiva" fi Componente del DATA step JAVAOBJ in z/OS =================================== Il componente del DATA step JAVAOBJ è supportato in z/OS solo quando s'invoca USS tramite l'interfaccia WPS. WPS ricerca le classi Java da caricare nelle directory denominate nella variabile di ambiente CLASSPATH, la quale esiste quando l'esecuzione avviene tramite l'interfaccia USS, ma non esiste quando avviene tramite TSO o come processo inviato. Motore di dati per XLSX in z/OS ======================== Il motore di dati per XLSX è supportato in z/OS solo quando s'invoca WPS tramite l'interfaccia USS. ======================================================================= Note sull'aggiornamento alla versione superiore ======================================================================= ----------------------------------------------------------------------- Opzione YEARCUTOFF ----------------------------------------------------------------------- Il valore predefinito per l'opzione di sistema YEARCUTOFF ora è 1926. L'intervallo di date a due cifre è, per impostazione predefinita, dal 01-gennaio-1926 al 31-dicembre-2025. In seguito a questa modifica, qualsiasi funzionalità di WPS Analytics per la quale viene specificato un valore dell'anno a due cifre, ad esempio la funzione del DATA step MDY() potrebbe generare risultati diversi. Per tornare al comportamento delle versioni precedenti di WPS Analytics, specificare il valore dell'opzione di sistema YEARCUTOFF di 1920. ----------------------------------------------------------------------- Aggiornamento alla versione superiore dell'area di lavoro ----------------------------------------------------------------------- - Quando si utilizza WPS Workbench 4.1 per aprire un'area di lavoro creata con una versione precedente di WPS Workbench, è possibile che venga visualizzata una finestra di dialogo che richiede la conferma per l'aggiornamento automatico alla versione superiore dell'area di lavoro. Quest'azione consente la lettura corretta dell'area di lavoro da parte di Workbench. Tali aggiornamenti automatici alle versioni superiori non dovrebbero causare problemi. ======================================================================= Aggiornamenti non documentati ======================================================================= La procedura GENMOD ==================== - PROC GENMOD ora può adattare una distribuzione Poisson, binomiale negativa, Poisson con eccesso di zeri, binomiale negativa con eccesso di zeri o geometrica, se vengono specificati i numeri non interi al posto dei numeri interi. - Le opzioni TRUNC e NOTRUNC sono state aggiunte all'istruzione MODEL usata per specificare queste distribuzioni. TRUNC specifica che si utilizzano i numeri interi e i numeri non interi vengono troncati correttamente. Specificare NOTRUNC per usare i numeri decimali. Il valore predefinito è NOTRUNC. ======================================================================= Funzionalità deprecata ======================================================================= La seguente funzionalità è stata deprecata in questa versione e le funzionalità non saranno disponibili in una versione futura di WPS Analytics. È necessario modificare eventuali programmi in linguaggio SAS che usano queste funzionalità in modo che utilizzino l'alternativa consigliata: - Istruzione ODS OLDHTML - Utilizzare l'istruzione ODS HTML - Istruzione LIBNAME ORACLEOLD - Utilizzare l'istruzione LIBNAME ORACLE - Istruzione LIBNAME DB2OLD - Utilizzare l'istruzione LIBNAME DB2 - Il supporto WPS per il driver ODBC SQLSRV32 deve essere rimosso. È necessario installare e utilizzare il driver ODBC di Microsoft per SQL Server al suo posto ======================================================================= Problemi risolti ======================================================================= Base ==== Generale ------- - Il DATA step ora concatena correttamente le stringhe che includono membri di array. - Un programma ora può contenere caratteri non stampabili; questi personaggi non vengono più sostituiti con spazi. - Le chiavi di crittografia (come quelle fornite nell'opzione del set di dati ENCRYPTKEY o nell'opzione di sistema ENCRYPTKEY) ora sono offuscate nel registro. - Ora viene segnalato un messaggio di errore se si utilizza un nome di variabile macro vuoto nelle routine CALL della macro del DATA step. - Prestazioni migliorate quando si utilizza un grande catalogo di macro compilate. - WPS Analytics ora viene distribuito con OpenJDK. - Aggiunta l'opzione di autenticazione PLAIN per i server EMAIL SMTP. - WPS Analytics non viene più eseguito illimitatamente quando viene chiamata una macro con un parametro denominato non definito. - Una nota ora viene creata nel registro quando un valore mancante è il numeratore o denominatore in un calcolo di divisione. - I derivati delle funzioni ora vengono calcolati correttamente nelle istruzioni nidificate IF ELSE. - Il numero di record sostituiti utilizzando l'istruzione di modifica ora viene segnalato correttamente. - La validità dei nomi dei set di dati in una o due parti ora viene verificata per assicurarsi che siano conformi al valore specificato nell'opzione di sistema DATASTMTCHK. - Ora è possibile utilizzare WPS Analytics con la versione 4 di R. - L’impostazione della variabile di sistema _LAST_ non produce più errori in WPS Analytics se la raccolta di riferimento non è più valida. - WPS Analytics non produce più errori se un Componente HITER fa riferimento a un Componente HASH eliminato. - Il calcolo delle dimensioni dei blocchi di esecuzione dell'ordinamento ora è corretto quando si ordina un set di dati che contiene esattamente 2 osservazioni. URL FILENAME ------------ - Ora gestisce i valori numerici maggiori di 2^31 provenienti dal server utilizzando rappresentazioni a 64 bit. Utilità Cleanwork ----------------- - L'utilità in Windows: - Ora supporta le opzioni force (-f), verbose (-v) e list (-n). - Ora supporta l'opzione -ff per selezionare una directory temporanea in modo più efficace rispetto all'opzione -f. File di configurazione -------------------- - Il file di configurazione wps.cfg predefinito per Windows ora utilizza la variabile di ambiente CSIDL_MYDOCUMENTS al posto di CSIDL_PERSONAL per il percorso di SASUSER predefinito. - Ora sono consentite opzioni di sistema che contengono il carattere di sottolineatura (_) nel nome in un file di configurazione. Macro ====== - Se l'opzione di sistema MCOMPILENOTE è impostata su AUTOCALL o CALL, il messaggio di compilazione macro ora segnala il numero corretto di istruzioni. - L’istruzione %LET ora ha un limite massimo di ricorsione di 1000000 elementi. - Le opzioni DESC e MINDELIMITER nelle definizioni delle macro ora consentono di inserire spazi tra l'opzione e il valore assegnato. - I nomi delle macro dello stile delle istruzioni ora sono limitati a otto caratteri. - Ora sono stati migliorati i controlli di ricorsione infinita quando le macro vengono ampliate e richiamate. - Ora è possibile utilizzare i commenti nel codice della macro. Macro di sostituzione del testo ---------------------- - Un'espansione esatta di autoreferenziazione ora elimina la macro referenziata. - Un nome di macro ora sostituisce solo le corrispondenze esatte e il nome non deve essere più lungo di 8 caratteri. Per esempio, MACRO abcdefgh % non corrisponde più a 'abcdefgh' e 'abcdefghijklm'. - Le definizioni di macro di testo auto-ricorsive ora sono espanse correttamente. - In alcune circostanze, l’impostazione di direttive delle macro di espansione di testo come istruzioni globali, potrebbe causare un errore durante la valutazione. Opzioni di sistema -------------------- - Ora è possibile concatenare correttamente i percorsi di AUTOEXEC tramite APPEND e INSERT. - IMPORTDELIMTRIM è una nuova opzione di sistema che consente di specificare come la procedura IMPORT gestisce i valori in un file CSV importato che hanno uno spazio dopo la virgola. - INPUTCASTNUMTOCHAR è una nuova opzione di sistema che consente di specificare come viene trattata la prima argomentazione dell'istruzione INPUT. - NOS99NOMIG ora funziona nel modo previsto. - VALIDVARNAME=ANY ora funziona correttamente. - Quando viene specificato ERRORABEND, un errore di memoria insufficiente durante l'analisi di un programma in linguaggio SAS ora causa correttamente ABEND. - Ora può leggere correttamente un set di dati tramite un indice creato quando IBUFSIZE era inferiore al valore corrente - Ora è possibile utilizzare l'alias WPSCOMPR per l'opzione di sistema WPSCOMPROTOCOL. Istruzioni globali ----------------- - Ora è possibile specificare se viene restituito un messaggio di errore per i codici di risposta di errore SMTP generati da FILENAME EMAIL. WPS ora viene completato correttamente se un'istruzione %INCLUDE è seguita da OPTIONS LRECL. - Ora è possibile controllare il comportamento di WPS se si verifica un errore del server di posta elettronica quando si utilizza FILENAME EMAIL SMTP. Un set di dati SMTPRESPONSE viene utilizzato per elencare i codici restituiti del server e il comportamento di WPS corrispondente. Le risposte predefinite sono nel set di dati SMTPRESPONSE nella raccolta SASHELP. È possibile specificare le proprie risposte nei codice restituiti nel set di dati SMTPRESPONSE nella raccolta SASUSER, che verrà letto prima del set di dati in SASHELP. Ora vengono fornite anche le variabili delle macro SYSSMTPREPLYCODE e SYSSMTPREPLYTEXT. Queste sono impostate sul codice e sul testo SMTP restituiti quando si verifica un errore del server di posta elettronica. - RESETLINE ora funziona correttamente come istruzione globale. - FILENAME HTTP non invia più il numero di porta nell'intestazione della richiesta HOST:. - FILENAME FTP ora utilizza il file .netrc su piattaforme LINUX. - FILNAME URL ora gestisce i valori numerici maggiori di 2^31 provenienti dal server utilizzando rappresentazioni a 64 bit. Set di dati -------- - Ora è possibile ordinare un set di dati senza che si verifichino condizioni di memoria insufficiente. Sono state migliorate le prestazioni della compressione RLE in set di dati WPD3. - I nomi dei set di dati ora possono contenere più di 32 caratteri. Viste del set di dati ------------- - DICTIONARY.VIEWS e SASHELP.VIEW ora segnalano correttamente il motore delle viste. - Il nome della vista è incluso nell'output dell'istruzione DESCRIBE. Componenti del DATA step -------------------- - Il componente HASH non genera più errori in alcune circostanze. Istruzioni per DATA step -------------------- - L'istruzione SET ora funziona correttamente se utilizzata con le opzioni del set di dati RENAME e WHERE. - Non si verifica più un errore durante l'elaborazione di catene di viste che contengono variabili con nomi di formato specificati. - Se viene specificata l'istruzione LIST e l'output si estende su una seconda pagina o una pagina successiva, la regola della pagina viene ora posizionata correttamente. - RENAME ora funziona come previsto se viene specificato come istruzione del DATA step RENAME o nelle istruzioni KEEP o DROP. - Ora è possibile utilizzare le opzioni KEY ed END insieme nell'istruzione SET e funzionano come previsto. - Ora è possibile utilizzare l'opzione _FILE_ per l'istruzione FILE quando si accede a un set di dati VSAM. - Ora è possibile utilizzare l'opzione _INFILE_ per l'istruzione INFILE quando si accede a un set di dati VSAM. - I componenti del DATA step ora possono essere dichiarati solo una volta in un passo. Funzioni per DATA step -------------------- - RAND('BERNOULLI') ora restituisce correttamente 1 per il successo e 0 per l'errore. - RAND('UNIFORM') ora restituisce correttamente un valore di x dove 0 < x < 1. - La funzione LOGCDF e la funzione LOGSDF ora restituiscono il risultato corretto per l'opzione NORMALMIX. - La funzione ROUND ora arrotonda correttamente se la parte decimale del numero da arrotondare rientra nell'epsilon della funzione. - Le funzioni di distribuzione di JOHNSON SU ora non hanno limite inferiore sul valore di input. - JOHNSONSB - LOGPDF ora restituisce 0 (zero) se un input è fuori intervallo. - EUROCURR ora contiene i tassi di cambio fisso per quando l'euro ha sostituito il lettone Lats e il lituano Latis. - Le funzioni di distribuzione TWEEDIE non restituiscono più valori mancanti se non vengono fornite argomentazioni opzionali. - Ora viene segnalato un messaggio di errore se si utilizza un nome di variabile macro vuoto nelle routine CALL della macro del DATA step. - La funzione SUBPAD non scrive più fuori dai limiti e memoria danneggiata. - La funzione HTMLDECODE ora codifica correttamente l’entità HTML  . - La funzione HOLIDAY ora restituisce la data corretta quando viene specificato UKEASTERMONDAY. - Le funzioni URLENCODE() e URLDECODE() ora convertono da e verso UTF-8 o funzionano interamente nella codifica di sessione, a seconda del valore dell'opzione di sistema URLENCODING. - La funzione FINANCE('COUPDAYSNC') ora viene calcolata correttamente quando l'argomento base è 0 (zero). - Le funzioni basate sulle distribuzioni ora calcolano correttamente le distribuzioni Poisson, Binomiale, Multivariata, T e Binomiale negativa che contengono un numero molto grande di eventi. - Le funzioni di distribuzione geometrica ora restituiscono il valore preciso per p=1 - RAND("NORMAL"). Ora convalida che la deviazione standard è positiva. - RAND("GEOMETRIC") ora restituisce numeri interi. - La funzione GETOPTION. Ora è possibile utilizzarla per recuperare le opzioni della password. - Le funzioni di distribuzione logistica LOGPDF, LOGCDF e LOGSDF ora restituiscono il valore corretto anziché un valore mancante se il risultato è inferiore a CONSTANT ('LOGSMALL') Formati e informati --------------------- - Non si verifica un errore se: - I formati hanno la lunghezza di zero. - Un formato lungo viene specificato con w.d. - Un messaggio di errore viene inviato all'output del registro quando viene superato il formato di caratteri massimo. - La lunghezza minima del formato B8601DT ora è di 15 caratteri, corrispondente alla forma più corta del formato ISO 8601 yyyymmddThhmmss. - NENGO è stato aggiornato per consentire la formattazione delle date nella nuova era. - Il formato IEEE è stato aggiunto per abilitare la formattazione dei numeri nel formato a virgola mobile IEEE. - Quando si utilizza l'istruzione del DATA step INPUT, ora viene generato un avviso se il formato $VARYING viene applicato a una variabile con un tipo numerico dedotto. - I formati applicati ai numeri negativi ora generano asterischi (*) anziché 0 (zero) se la larghezza specificata è troppo stretta per il valore della variabile. - Gli informati B8601LZ ed E8601LZ ora generano il valore del tempo di scostamento corretto. - Il formato ANYDTDTM ora interpreta correttamente il formato MMM DD YYYY HH:MM:SS. - I formati WEEKU, WEEKV e WEEKW ora applicano il formato alle date all'inizio e alla fine dell'intervallo consentito in WPS. - I formati WEEKU, WEEKV e WEEKW ora aggiungono spazi finali per riempire la larghezza specificata. Motori di raccolta =============== - Il motore della raccolta XML ora si chiude nell'ordine corretto al termine del programma. - Il motore JSON ora consente la disabilitazione della generazione del set di dati ALLDATA con l'opzione NOALLDATA. Motori di dati ============ - Il pass-through implicito ora distribuisce stringhe racchiuse tra virgolette correttamente serializzate. - Le date massime e minime consentite ora sono gestite correttamente. - Ora è disponibile lo spooling. Il modo in cui è possibile utilizzare lo spooling dipende dal motore. Per i dettagli, consultare il Riferimento per gli elementi del linguaggio di WPS. - I valori TIMESTAMP prima del 01 gennaio 1582 vengono ora restituiti come valori mancanti quando vengono recuperati tramite connessioni al database DB2, Oracle e ODBC. ORACLE ------ - Nel motore di dati ORACLE: - L'opzione DB_LENGTH_SEMANTICS_BYTE ora gestisce correttamente le dimensioni dei caratteri di codifica del server. - L'istruzione UPDATEBUFF ora funziona correttamente. - Gli inserimenti/aggiornamenti dei campi binari ora funzionano correttamente in Oracle nel prodotto Windows a 32 bit. - Una parola riservata in ORACLE può anche essere utilizzata come alias in PROC SQL durante la query di un database ORACLE. Per impedire all'alias di segnalare un errore e interrompere la query, l'alias ora è racchiuso tra virgolette. - Il motore di dati ORACLE ora: - Gestisce correttamente la situazione in cui nessuna variabile è specificata in un SELECT, ma il motore deve ancora recuperare ogni record selezionato. - Associa correttamente colonne di caratteri e binarie durante la lettura in campi più corti della lunghezza della colonna. - Ora è possibile riavvolgere un cursore Oracle a scansione sequenziale. ORACLEOLD --------- - Ora ORACLEOLD può inserire dati in una tabella tramite PROC APPEND quando il nome della colonna è una parola chiave Oracle. ODBC ---- - Le opzioni COMPLETE, REQUIRED, PROMPT e NOPROMPT ora funzionano correttamente con MySQL e DB2. - Le opzioni COMPLETE e REQUIRED ora funzionano correttamente con SQLServer. Ora supporta le transazioni in Google BigQuery. - Il motore ODBC ora supporta: - DBINDEX in ACCESS ODBC (solo Access 2013 e Access 2016). - PROMPT, NOPROMPT, COMPLETE e REQUIRED in MySQL. - COMPLETE, REQUIRED e PROMPT con finestra popup in DB2. - REQUIRED e COMPLETE con finestra popup in SQL Server. NETEZZA ------- - Quando si esegue il caricamento bulk dei dati, i tipi di colonna CHAR, VARCHAR e LONG VARCHAR ora utilizzano la codifica interna di Latin 9; i tipi di colonna NCHAR, NVARCHAR e LONG NVARCHAR ora utilizzano la codifica interna di UTF-8. SQLSERVER --------- - Ora supporta le seguenti opzioni: - DBSLICE - DBSLICEPARM - INSERT_SQL ACCESS ------ - Ora è possibile esportare numeri formattati senza decimali (ad esempio, w.) Anche se il numero ha decimali. EXCEL ----- - Ora fornisce un messaggio di avviso se un file di origine contiene caratteri Shift-JIS non disponibili per il mapping. DB2 --- - DB2 in z/OS ora abilita SPOOL=YES|NO|DBMS. - Ora crea correttamente join delle colonne. PostgreSQL ---------- - I dati ora vengono caricati correttamente in Postgres quando viene specificato BULKLOAD=YES. Teradata DB ----------- - Tutte le connessioni rimanenti ora sono chiuse quando una sessione si disconnette da un database Teradata. XLSX ---- - Più raccolte ora funzionano come previsto se sono concatenate in una nuova istruzione LIBNAME XLSX. ODS === - I valori FORMAT non validi nei modelli TTI ora causano un avviso. - Se i modelli di tabella contengono espressioni errate, non vengono generati avvisi di registro. - Il tipo di output della coppia di tag MSOFFICE ora viene impostato correttamente su HTML. - L'output per i caratteri UNICODE non validi ora è coerente tra le destinazioni di output. - Le istruzioni START ed END dei modelli HEADER e FOOTER ora accettano variabili. - L'istruzione TRANSLATE non viene più ignorata se è definita nel modello del padre. - LISTING ora gestisce meglio le celle con l'estensione su righe nelle tabelle. - MARKUP: - Ora applica correttamente i valori di FONTSIZE come dimensioni dei caratteri relativi. - I valori di FONTSIZE al di fuori dell'intervallo consentito ora restituiscono un errore nel registro. - ODS EXCEL ed EXCELXP ora riducono il titolo e le note a piè di pagina specifiche in modo da adattarsi quando si utilizzano le opzioni secondarie TITLES_SHRINK_TO_FIT e FOOTERS_SHRINK_TO_FIT. - I formati definiti dall'utente ora supportano i valori degli attributi di stile. - Le opzioni GTITLE e GFOOTNOTE ora possono sopprimere il titolo/la nota a piè di pagina nell’output scritto in una destinazione ODS. EXCELXP ------- - Ha nuove opzioni per la stampa. - Ora visualizza correttamente i dati quando viene modificato SHEET_INTERVAL. - Una riga vuota non viene più scritta tra un testo specificato da TITLE o FOOTNOTE e una tabella. - PDF ora gestisce correttamente l'allineamento di Titolo e Nota a piè pagina sull'elemento di stile del titolo del sistema. - I caratteri di tabulazione in opzioni secondarie separate da virgola ora vengono analizzati correttamente. PDF --- - Non segnala più un avviso se non riesce a rimuovere una risorsa di caratteri. - Ora gestisce correttamente i caratteri non stampabili. Procedure generali ================== APPEND ------ - Laddove il set di dati è una tabella DB2, gli indici dei parametri ora sono impostati correttamente. CATALOG ------- - L'istruzione NEW ora funziona correttamente quando il catalogo di destinazione esiste già. - L'istruzione EXCHANGE ora funziona correttamente con i cataloghi appena creati. COMPARE ------- - Le variabili che contenevano differenze sia mancanti che non mancanti ora vengono conteggiate solo una volta nei risultati. - Il nome del campo ID ora viene utilizzato al posto dell'etichetta quando si producono informazioni di riepilogo. SOMMARIO -------- - Le opzioni OUTZEROVARDATASETS e NOOUTZEROVARDATASETS sono state aggiunte all'istruzione PROC CONTENTS. Controllano come vengono visualizzati i contenuti dei set di dati vuoti durante la creazione. - Il nome del campo ID ora viene utilizzato al posto dell'etichetta quando si producono informazioni di riepilogo. COPY ---- - La gestione di LRECL RECFM delle voci del file di catalogo è stata migliorata. - Ora viene completato correttamente se vengono copiati cataloghi specificati con formati di record diversi da "S". DATASETS -------- - Consente l'uso di caratteri jolly con due punti (come "ABC:") e caratteri jolly basati sull'intervallo (come "TMP4-TMP7"). - Ora supporta MEMTYPE=DATA. Questo si può usare quando viene specificato un nome del membro di una singola raccolta e sostituisce il tipo di membro predefinito per quel nome di membro. Questa opzione è ora l'impostazione predefinita; gli script che si basano sul vecchio valore predefinito devono essere aggiornati. - Ora include i programmi con DATA step compilati nell'elenco di output. DELETE ------ - Supporta caratteri jolly con due punti (come "ABC:") e caratteri jolly basati sull'intervallo (come "TMP4-TMP7"). - I file ora vengono esportati correttamente quando i nomi delle variabili contengono virgolette singole o doppie. - L'opzione LIBRARY ora specifica una raccolta predefinita. I nomi dei singoli membri possono ignorare questo valore predefinito. EXPORT ------ - Ora esegue correttamente un'esportazione XLSX quando viene racchiuso tra virgolette il nome del file. - Ora esporta i file temporanei senza aggiungere un’estensione di file. FREQ ---- - Quando un'osservazione contiene un peso negativo, vengono calcolati solo i valori di frequenza. - Ora fornisce risultati coerenti piuttosto che risultati a seconda dell'ordine dei dati di input. - Ora utilizza correttamente i formati definiti dall’utente nell’output. - Ora elabora con precisione l'opzione ALL per l'istruzione TABLES. IMPORT ------ - I file ora vengono importati correttamente quando i nomi delle variabili contengono virgolette singole o doppie. HTTP ---- - Utilizza lo WPS/URL della stringa agente utente predefinita, per abbinare il comportamento degli altri client HTTP di WPS. - Consente il controllo della stringa agente utente inviata nella richiesta HTTP da parte dell'opzione USERAGENT. - Ora gestisce correttamente più intestazioni fornite dall'utente. IMPORT ------ - La nuova opzione DELIMTRIM consente di specificare come devono essere gestiti i valori nei file CSV importati che hanno uno spazio dopo la virgola. - I file ora vengono esportati correttamente quando i nomi delle variabili contengono virgolette singole o doppie. - Ora importa i file codificati UTF-8 che contengono caratteri UTF-8 non validi. JSON ---- - Ora scrive null quando si specifica . (valore mancante) nell'istruzione WRITE VALUES. MEANS ----- - Il calcolo della statistica della modalità di una variabile di classe che non contiene osservazioni valide non produce più errori del motore di elaborazione. - Ora tronca le variabili di frequenza a valori interi durante i calcoli dei percentili. - Ora è possibile creare l'iteratore BY ed elaborare i record 0 (zero) quando un set di dati non è specificato nell'opzione DATA. - Il valore predefinito per l'opzione QMARKERS sull'istruzione PROC MEANS ora è 5 invece di 0 (zero). - Ora aggiunge la statistica SUMWGT all'output quando viene specificata una variabile di peso nell’istruzione VAR. - La specifica dell'istruzione OUTPUT ora scrive le etichette corrette per le opzioni statistiche Q1 e Q3. OPTIONS ------- - DEFINE OPTION ora supporta le informazioni dettagliate del set where. - LOGNUMBERFORMAT ora formatta correttamente il numero con virgole. - OPTION=SCANDEFAULTMODIFIERS ora restituisce correttamente una descrizione testuale. - L'opzione LONG DEFINE VALUE ora stampa il valore corretto per il numero massimo di caratteri in una stringa. PYTHON ------ - I tipi di dati della data di input ora vengono conservati correttamente in un pandas DataFrame. PRINT ----- - L'opzione SUMLABEL ora può usare le etichette delle variabili BY, anziché i nomi. - Ora supporta il valore MINIMUM per l'istruzione WIDTH. - Per i modelli di tabelle, l'opzione per disattivare PDF PRINT=off ora funziona correttamente. - Ora applica il formato della variabile BY alla riga SUM. - Non ristampa più le intestazioni delle colonne dopo ogni "N = conteggio" se l'opzione N è impostata e tutte le variabili BY sono colonne ID. - La formattazione della variabile BY ora viene mantenuta nelle righe SUM. - Ora è possibile utilizzare l'opzione PAGEBY con le variabili ID. - Ora genera il numero corretto di posizioni decimali per valori con potenze esatte di 2. PWENCODE -------- - Ora inserisce la stringa codificata nella variabile della macro globale _PWENCODE. REPORT ------ - Supporta SKIP per gli elenchi meno recenti. - Non causa più un errore di catalogo danneggiato se un set di dati contiene semplici specifiche di formato numerico. - Genera una linea anche se la linea è vuota (null). - Supporta le opzioni di sopralineatura (OL) e sottolineatura (UL) nell'istruzione BREAK. - Posiziona correttamente le tabelle sulla pagina. - Ora rifiuta un'istruzione COLUMN dove una intestazione con spanning non può individuare le colonne da generare e fornisce un avviso nel registro. - Supporta l'opzione ID dell'istruzione DEFINE. - Supporta la corretta giustificazione dell'istruzione REPORT LINE per le destinazioni LISTING. - L'opzione di sistema [NO]CENTER non ha alcun effetto sul posizionamento: - LINE 'testo'; scrive il testo al centro sulla riga della pagina - LINE @1 'testo'; scrive l'inizio del testo nella (1a) colonna di testo - La formattazione è stata migliorata quando viene specificato il supporto di larghezza del formato, COLWIDTH, titolo singolo, intestazione e ripetizione dei caratteri. - Se è specificato HEADLINE, il rendering multilinea è stato migliorato. - L'impostazione di LABEL=" " ora cancella qualsiasi valore LABEL preesistente. - Ora consente alle colonne non stampabili che si trovano prima dell'ultima colonna di stampa di influenzare lo stile per la riga della tabella. SUMMARY ------- - Non genera più errori se viene specificata una variabile sconosciuta nell'istruzione FREQ. TABULATE -------- - ODS NEWLISTING ora funziona correttamente durante l'output di tabelle che si estendono su più pagine. - Ora genera il numero corretto di tabelle quando le opzioni PRELOADFMT ed EXCLUSIVE vengono usate insieme nell’istruzione CLASS TEMPLATE -------- - Se si ordina l'elenco di modelli con l'opzione di di LIST, l'ordinamento ignora le maiuscole/minuscole. - L'istruzione PRINT ora è implementata per il modello FOOTER. - Il messaggio di errore è stato modificato, quindi fa riferimento all'istruzione DEFINE FOOTER. TRANSPOSE --------- - Ora supporta l'opzione del sistema VALIDVARNAME. UNIVARIATE ---------- - Ora è più robusto quando si adatta una curva. - Ora calcola correttamente i kernel triangolari. - La curva ora viene adattata correttamente quando vengono stimati i parametri specificati. - La distribuzione GAMMA non ignora più l'opzione ALPHAINITIAL. - Le opzioni QQPLOT ROTATE e PCTLAXIS ora funzionano correttamente insieme. - Le istruzioni PPPLOT, PROBPLOT e QQPLOT ora consentono di specificare solo una distribuzione. - Per l'istruzione PROBPLOT, la scala dell'asse X ora è corretta. - Per le istruzioni PPPLOT, PROBPLOT e QQPLOT, una linea viene disegnata solo se richiesta. - L'istruzione PPPLOT ora traccia solo il punto più alto quando diverse osservazioni hanno lo stesso valore. - Le curve di densità del kernel ora sono etichettate correttamente. - L'opzione KERNEL dell'istruzione HISTOGRAM ora funziona correttamente se tutti i valori dei dati sono uguali. - I tracciati non vengono più disegnati due volte. - OVERLAY non viene più ignorato. - Viene visualizzato un messaggio di errore se le opzioni hanno un tipo non valido. - L'opzione W2(SLOPE) per le opzioni QQPLOT e PROBPLOT non viene più ignorata. - I tracciati generati dall'istruzione CDFPLOT ora sono posizionati correttamente. - Le opzioni NEXTRVAL o ALL (che imposta NEXTRVAL=5) non causano più un errore se il set di dati ha meno del doppio delle osservazioni rispetto al valore scelto. - I set di dati specificati in OUTHISTOGRAM oppure OUTKERNEL ora vengono applicati correttamente. - Non assegna più erroneamente set di dati OUTHISTOGRAM o OUTKERNEL quando sono presenti più istruzioni HISTOGRAM e tali istruzioni si applicano alle variabili specificate anziché a tutte le variabili. - Ora è possibile fornire un elenco di valori all'opzione ROUND. Anche il valore di arrotondamento specificato ora viene applicato correttamente. - La velocità e la precisione del calcolo dei quantili IGAUSS ora sono migliorate. - I bin di istogrammi vuoti non vengono più creati se il punto più estremo si trova esattamente su un limite di binding e vi sono errori di arrotondamento. - Ora crea i percorsi ODS corretti per tutti i grafici e le tabelle relative alla grafica. - I test di bontà di adattamento ora funzionano correttamente. - La valutazione numerica delle derivate viene ora gestita correttamente nelle strutture if-then-else. - Le distribuzioni di Johnson ora non hanno alcun limite inferiore sul valore di input. - Le opzioni NOVTICK e NOHTICK dell'istruzione CDFPLOT ora disabilitano correttamente sia i valori delle tacche sia le etichette delle tacche. - Se entrambe le istruzioni CLASS e HISTOGRAM vengono specificate utilizzando le opzioni HANG e KERNEL, i grafici ora vengono visualizzati correttamente. - I messaggi ora vengono scritti nel registro se l'istruzione HISTOGRAM contiene una variabile che non si trova nell'elenco delle variabili VAR o che non è una variabile predefinita. - I bin degli istogrammi: - Ora vengono ampliati per includere tutti i dati se MIDPOINT o ENDPOINT sono specificati incorrettamente. - Ora possono essere specificati solo con i punti intermedi equidistanti ed elencati in ordine crescente. - Ora vengono gestiti meglio quando il numero di bin da tracciare è estremo. - I set di dati che si possono creare dagli oggetti di output ora contengono colonne aggiuntive rispetto a quelle visualizzate negli output ODS. Le colonne non vengono visualizzate in output ODS come HTML e PDF. Vengono aggiunte le seguenti colonne: - "Varname" in tutti i set di dati. - "Class" in tutti i set di dati se è impostata l'istruzione CLASS. - "Histogram" e "Distribution" in tutti i set di dati relativi alla distribuzione se è impostata l'istruzione HISTOGRAM. - "Histogram" in tutti gli altri set di dati non correlati alla distribuzione quando è impostata l'istruzione HISTOGRAM. - "Kernel" in tutti i set di dati relativi alle stime di densità del kernel. - L'opzione NOPRINT ora disabilita correttamente la stampa solo dall'istruzione PROC UNIVARIATE, non anche dall'istruzione HISTOGRAM. - Le condizioni utilizzate per la media e la deviazione standard per la distribuzione di Pareto generalizzata ora sono corrette. - Ora funziona correttamente con set di dati sequenziali. - Non si arresta più in modo anomalo, né produce output non valido dove ci sono molti valori mancanti.  - Ora utilizza il valore mu0 specificato durante il test dei valori medi tagliati e winsorizzati. - Il valore totale calcolato del valore p di Shapiro-Wilk viene ora visualizzato nella tabella Test per la normalità. SORT ---- - Il set di dati di output ha ora lo stesso stato di compressione del set di dati di input quando COMPRESS=BINARY è definito globalmente. APPSRV ------ - Ora genera un messaggio di sovrapposizione in caso di errore. Procedure grafiche =================== Generale ------- - Ora viene verificata la validità del catalogo e della voce prima della creazione del grafico. GPLOT - Ora supporta più istruzioni PLOT nei raggruppamenti RUN. Procedura SQL ============= - La procedura SQL ora: - Inserisce correttamente una clausola SELECT correlata quando la query esterna contiene uno o più join. - Gestisce correttamente l'uguaglianza modificata come condizione di join. - Imposta correttamente la lunghezza delle variabili non corrispondenti nelle operazioni SET. - Valuta correttamente le espressioni dopo un UNION JOIN. - Risolve: - Riferimenti a variabili correlate. - Colonne di elementi SELECT correlati. - Query nidificate sullo stesso nome di tabella. - Gli alias di SELECT ITEM nelle clausole GROUP BY quando hanno lo stesso nome delle colonne nelle tabelle di origine. - Serializza: - Le condizioni tutte vere e false durante un passthrough implicito. - Una clausola IN vuota in un passthrough implicito in modo tale che il database possa comunque valutarlo. - Distribuisce istruzioni DELETE ai motori di database quando: - Funzione per DATA step che restituisce un valore di carattere viene utilizzata nella clausola WHERE. - Sottoquery non correlata viene utilizzata nella clausola WHERE. - Elabora catene di viste, comprese quelle create con l'istruzione DATA e la procedura SQL, che contengono variabili con nomi di formato specificati. - I pad impostano le operazioni con numeri disuguali di campi su uno dei lati. - Visualizza il motivo di un errore I/O. - Crea un join delle viste in linea. - Fornisce etichette per colonne calcolate nelle viste se non vengono fornite etichette. - Se viene specificata un'opzione del database WHERE, una clausola WHERE non viene più ignorata. - Sono stati migliorati i messaggi di errore per la sintassi SELECT errata. - Il set di dati di output non viene più contrassegnato come ordinato quando una query con un'istruzione DISTINCT è stata serializzata su un database. - La precedenza dell'operatore per la sintassi WHERE NOT x IN (1,2,3) ora è equivalente a WHERE x NOT IN (1,2,3). - Viene segnalato un errore se i nomi di correlazione della tabella di una query sono ambigui. - Lo stato delle funzioni casuali ora viene reimpostato tra le invocazioni della procedura. - Utilizza solo il formato BEST(8) per scrivere valori numerici in variabili macro INTO nell'istruzione SELECT. - L'istruzione EXECUTE (query) BY ora esegue correttamente la query quando viene creata una connessione automatica al database per la query. - Restituisce un messaggio di errore se la procedura tenta di restituire un valore a una variabile macro di sola lettura. - I join MATCH e SPRINGFIELD ora funzionano come previsto. - Mantiene i formati applicati al set di dati di origine durante la creazione di un nuovo set di dati. - ALTER TABLE ora imposta correttamente le informazioni sull'opzione di ordinamento. - L'uso delle opzioni LIKE ed ESCAPE nell'istruzione WHERE con una tabella CREATE VIEW ora funziona come previsto. - Le etichette delle colonne contenenti virgolette ora vengono supportate quando si specifica una vista mediante l'istruzione CREATE VIEW. - L'uso di una clausola WHERE per eseguire una query su VIEW ora funziona correttamente. - L’impostazione di una variabile inesistente in un'istruzione CASE non fa più disconnettere WPS Analytics dal server di database. - L'opzione di sistema VALIDVARNAME ora funziona come previsto. - Quando si utilizza il passthrough implicito, gli spazi finali ora vengono rimossi dalle stringhe per consentire al database di destinazione di eseguire confronti tra valori letterali stringa e campi di caratteri di lunghezza variabile. Procedure di apprendimento automatico =========================== DECISIONFOREST -------------- - L'istruzione PROC DECISIONFOREST ora include l'opzione CLASSCOMB che specifica come combinare le probabilità previste da ciascun albero in una foresta di classificazione. DECISIONTREE ------------ - L'istruzione CODE ora passa i nomi delle variabili come stringhe letterali nel codice di punteggio. MLP --- - L'istruzione CODE ora passa i nomi delle variabili come stringhe letterali nel codice di punteggio. - Non genera più errori se l’opzione secondaria TRAININGSETORDERSEED dell'istruzione MODEL è impostata su zero. Procedure statistiche ====================== Generale ------- - Sono stati migliorati i calcoli della rettifica comparativa nell’istruzione ESTIMATE delle procedure LIFEREG, LOGISTIC, PHREG e PROBIT: - Il valore p rettificato bilaterale e gli intervalli di confidenza per il metodo ADJUST=SIMULATE. - I risultati della rettifica per il metodo ADJUST=SCHEFFE. - I risultati della rettifica quando vi sono voci non stimabili nella matrice di contrasto L. - La variabile SYSERR ora è impostata correttamente se si verifica un errore di sintassi durante l'analisi delle procedure GENMOD, NLIN e PHREG. BIN --- - Se le variabili di input vengono specificate come valori letterali stringa, i nomi visualizzati nella colonna Variabile discretizzata della tabella Mappatura negli output ODS corrispondono ora ai nomi delle variabili nel set di dati di output. CORRESP ------- - Ora funziona correttamente quando il numero di osservazioni nel set di dati di input è maggiore della dimensione della tabella Burt risultante quando si esegue MCA con l'istruzione VAR. FACTOR ------ - Ora prende correttamente una matrice di correlazione o covarianza creata da una procedura CORR come set di dati di input. GENMOD ------ - Ora calcola correttamente la probabilità del chi quadrato associata all'istruzione ESTIMATE. - L'opzione STDRESDEV dell'istruzione OUTPUT ora restituisce un valore calcolato, anziché un valore mancante. - L'esistenza delle funzioni VARIANCE e DEVIANCE ora è controllata quando viene specificato DIST=USER. - L'ordinamento della risposta predefinito ora è INTERNAL quando viene specificato un modello distribuito multinomiale con risposta numerica. - L'opzione RORDER ora supporta FREQ e INTERNAL. - L'impostazione dell'opzione AGGREGATE ora viene presa in considerazione nel calcolo delle statistiche di deviazione di TYPE1. - L'istruzione FREQ ora interagisce con le distribuzioni nel modo previsto. - L'istruzione CODE ora passa i nomi delle variabili come stringhe letterali nel codice di punteggio. - Il test per la convergenza Hessiana utilizzando una matrice Hessiana da un'iterazione precedente piuttosto che quella associata alle stime dei parametri correnti. - Gli errori generati da funzioni e altre istruzioni ora vengono gestiti come previsto. GLM --- - Gli aggiornamenti di MERGEDLEGEND non interrompono più la legenda nel MEANPLOT. - L’opzione ADJUST dell’istruzione LSMEANS ora funziona come previsto quando la matrice di contrasto ha voci non stimabili. - La specifica dell'istruzione LSMEANS per calcolare i valori medi dei quadrati minimi ora genera risultati più precisi quando WEIGHT o la variabile FREQ contiene valori mancanti. GLMSELECT --------- - Il metodo LASSO ora segnala correttamente i gradi di libertà in una tabella ANOVA. - Ora può selezionare più di una variabile di effetto quando si usa l'opzione NOINT con i metodi di selezione FORWARD e STEPWISE. - Non produce più errori se si effettua la selezione del modello regressivo con i regressori linearmente dipendenti. KDE --- - Ora genera percorsi di stampa corretti per la grafica a due variabili. LIFEREG ------- - Ora esegue correttamente calcoli con limiti di confidenza di uguale precisione, simultanei e non parametrici. - I tracciati di sopravvivenza ora sono coerentemente etichettati correttamente. - Ora è possibile utilizzare un set di dati OUTEST calcolato in precedenza nell'opzione INEST di una successiva chiamata alla procedura. LIFETEST -------- - Non produce più errori se l'istruzione STRATA contiene una variabile che ha un formato di input associato. LOGISTIC -------- - Sono state migliorate le prestazioni. - Non genera più errori quando un'istruzione BY e l'opzione OUTROC vengono utilizzate insieme. - Le costanti campionarie chi-quadrato di Wald di tipo 3 ora vengono calcolate correttamente quando viene specificata la funzione di collegamento GLOGIT. - Ora: - Trova le variabili che contengono i caratteri del linguaggio SAS non validi nel set di dati INEST. - Imposta la categoria di riferimento corretta quando si carica un modello logistico che contiene l'opzione LINK=GLOGIT dal file. - L'istruzione CODE ora passa i nomi delle variabili come stringhe letterali nel codice di punteggio. - L'equazione nelle tabelle delle dipendenze lineari ora è limitata a 2000 caratteri. - La tabella di output ODS Logistic.Type3 ora ha cambiato nome con Logistic.ModelANOVA - Ora si assicura che la matrice di covarianza finale sia positiva. MI -- - Non crea più set di dati con nomi di variabili duplicati. MIANALYZE --------- - La tabella ParameterEstimates ora dispone di etichette di campo con un limite di confidenza del 95%. - Non si blocca più in un ciclo infinito. - Ora funziona correttamente se l'istruzione MODELEFFECTS non è inclusa con ogni effetto di un modello. - Ora corrisponde correttamente ai parametri PARMINFO in più imputazioni. - Non genera più un set di dati vuoto se il set di dati di input contiene informazioni insufficienti. MIXED ----- - L’opzione ADJUST dell’istruzione LSMEANS ora funziona come previsto quando la matrice di contrasto ha voci non stimabili. - Non si esaurisce più la memoria quando si adatta un modello MLG grande. - Non produce più errori quando un termine di intercettazione viene specificato come effetto ripetuto nell'istruzione REPEATED. - Ora crea una matrice di varianza-covarianza corretta quando l'opzione DDFM = KENWARDROGER è specificata nell'istruzione MODEL. - La specifica dell'istruzione LSMEANS per calcolare i valori medi dei quadrati minimi ora genera risultati più precisi quando WEIGHT o la variabile FREQ contiene valori mancanti. MLP --- - I messaggi di errore generati dall'opzione INITWEIGHTS sono stati aggiornati. - Ora scrive un set di dati della cronologia finale che contiene la cronologia fino a includere lo stato finale completo. - Il set di dati della cronologia ora fornisce le misurazioni di errori normalizzate. NLIN ---- - Ora riporta i numeri di osservazione per gli errori in modo più accurato quando vengono utilizzati i gruppi BY. - L'istruzione DER della procedura NLIN non causa più un errore di asserzione se il caso del parametro di modello specificato non corrisponde al caso dell'effettivo parametro di modello o se non viene specificato il parametro. Invece, si verifica un errore. - I gruppi BY non causano più un errore se non sono il primo elemento nel set di dati. - La variabile del modello (dipendente) ora può essere un elemento carattere. - Le istruzioni di somma ora vengono visualizzate correttamente quando viene specificata l'opzione LIST dell'istruzione PROC NLIN. NLMIXED ------- - Gli errori generati da funzioni e altre istruzioni ora vengono gestiti come previsto. NPAR1WAY -------- - L'output delle tabelle Test a due campioni e StatFactoid è stato riformattato per la leggibilità. - L'output ODS ora specifica solo che i punteggi medi sono stati utilizzati per i valori equivalenti quando ce ne sono. OPTIMALBIN ---------- - Non elimina più le osservazioni mancanti; le osservazioni mancanti vengono eliminate solo se viene specificata l'opzione EXCLUDEMISS. PHREG ----- - Le curve di sopravvivenza adattate, dirette e raggruppate sono ora etichettate correttamente. - Ora visualizza correttamente le tabelle dei coefficienti. - Ora funziona come previsto con la covarianza singolare e la selezione del modello regressivo. POWER ----- - I test che utilizzano l'istruzione ONESAMPLEFREQ e le varie opzioni MARGIN ora sono riportati correttamente. PROBIT ------ - L'istruzione CODE ora passa i nomi delle variabili come stringhe letterali nel codice di punteggio. REG --- - L'opzione START per l'istruzione MODEL ora deve essere maggiore di zero quando CP, ADJRSQ o RSQUARE è specificato per l'opzione SELECTION. STANDARD -------- - L'opzione REPLACE ora può essere specificata da sola, e se lo è, qualsiasi valore mancante viene sostituito con la media calcolata. TTEST ----- - Ora funziona correttamente se la stessa variabile è accoppiata. - Non genera più valori mancanti per un test del rapporto a 2 campioni in cui la media è negativa. - Le statistiche di progettazione del crossover ora mostrano il numero di periodo corretto. VARCLUS ------- - Ora prende correttamente una matrice di correlazione o covarianza creata da una procedura CORR come set di dati di input. Procedure per il controllo della qualità ========================== CAPABILITY ---------- - L'opzione NOPRINT ora disabilita correttamente la stampa solo dall'istruzione PROC UNIVARIATE, non anche dall'istruzione HISTOGRAM. - Ora è possibile specificare un valore iniziale (opzione EDFSEED) da utilizzare per la generazione di numeri casuali per test di bontà di adattamento per tutte le distribuzioni. - Ora usa i nomi delle colonne corretti nell'output ODS prodotto per la tabella delle misure di base. - Quando viene invocato in z/OS, una funzione BETA incompleta ora converge correttamente. - I tracciati WEIBULL2 ora tracciano le linee delle specifiche nella posizione corretta. z/OS ==== - Su z/OS, il codice errato non viene più generato quando l'ottimizzatore è al suo livello più alto. - Per ridurre la quantità di memoria utilizzata dalle procedure di elaborazione dei dati, le raccolte di conversione del set di caratteri ICU vengono caricate solo se è necessario. - Se non viene specificato un set di dati WORK, ora si utilizza un set di dati temporaneo. - La codifica a colori dei messaggi di registro ora funziona correttamente. - Durante il caricamento di un set di dati, un client WPS ora gestisce il messaggio di registro dal server. - Le opzioni RLS ora interagiscono correttamente tra di loro. - Quando si usa RLS VSAM, i set di dati ora si possono leggere sequenzialmente. - Ora supporta CSSMTP per email senza allegati e solo il contenuto del corpo in linea. - RSUBMIT non genera più errori durante la connessione a un server AIX. - Le procedure UPLOAD e DOWNLOAD da un client z/OS a un server AIX ora funzionano correttamente. - WPS non interrompe più la lettura di una configurazione se il valore di un'opzione AUTOEXEC su un'istruzione APPEND o INSERT contiene parentesi. - La funzione MODULEN ora funziona correttamente. - L'elaborazione dell'opzione CONFIG per JREOPTIONS non è cumulativa. Per supportare le operazioni additive, è necessario utilizzare APPEND e INSERT. - Il TSOWPS CLIST ora forma i membri della concatenazione che viene utilizzata per l'allocazione DD tramite la sequenza { file-config-installazione, file-config-utente }. In precedenza, era { file-config-utente, file-config-installazione }. Ciò garantisce che le opzioni di sistema limitate non possano essere modificate localmente. - WPS ora può utilizzare un conteggio di CPU maggiore di quattro. - L'Interruzione di I/O IEC1451I 413-18 non si attiva più quando un data step scrive un set di dati su un nastro vuoto. - L'uso di istruzioni LIBNAME con il percorso vuoto ora genera un messaggio di avviso. - Il valore dell'opzione SERVER di libname DB2 viene convertito automaticamente in maiuscolo. - Le argomentazioni della riga di comando errate all'avvio di TSO WPS su z/OS potrebbero causare errori non corretti. - Non viene più generata un'Interruzione durante la lettura di un file MVS mediante un'Uscita utente File o Infile, e l'opzione DSCB o CCHHR. - La variabile DSCB viene riempita con spazi vuoti quando nessun DSCB può essere letto per un set di dati MVS a cui fa riferimento un'istruzione INFILE o FILE in un DATA step. - Ora sono supportate le opzioni di sistema STARTTLS. - I messaggi e le istruzioni EXIT nel programma di installazione di RINST REXX sono stati rinumerati. - Il TSOWPS CLIST ora associa le schede DD di output quando è in modalità DMR. - Il TSOWPS CLIST ora prevede un’associazione per SASLOG in modalità DMR. - L'opzione DMRSAVEOUTPUT abilita le associazioni predefinite per tutti gli output non associati. - Un’interruzione I/O B37 in un DATA step ora viene gestita come previsto quando si chiude un DATA step. - FILEBLKSIZE(3490E) ora supporta dimensioni fino a 256 KB. - Un FILENAME dichiarato in un singolo elemento HLQ che fa sì che l'HLQ sia considerato un nome della DD, ora funziona come previsto. - La raccolta SASDASD ora può contenere file compressi con zero pagine. - Non causa più un errore di memoria insufficiente se il nome del formato non è corretto. - L'invio di allegati e-mail ora funziona come previsto. - Le istruzioni FILENAME errate ora producono errori non gravi. - Ora viene generato un errore durante la lettura di una concatenazione con un membro PDS sconosciuto. - Ora è stato migliorato il rilevamento dell'uso dei dischi EAV per l'archiviazione della raccolta WPD su z/OS. I volumi EAV non sono attualmente supportati per l'archiviazione della raccolta. WPS Communicate =============== - Le procedure UPLOAD e DOWNLOAD ora caricano e scaricano correttamente set di dati molto ampi. - Le procedure UPLOAD e DOWNLOAD ora possono utilizzare i caratteri jolly in qualsiasi posizione di un nome di file. - Il numero di porta del server WPS Communicate ora è archiviato nella variabile automatica TCPPORTSERVER. Web === - La Gestione del carico ora ha valori di timeout corretti. Workbench ========= - Ora è possibile esportare manualmente un set di dati WPD dalla prospettiva Linguaggio SAS quando si usa Citrix. - La procedura guidata di importazione ora è in grado di eseguire l'importazione tramite una connessione remota. - Il visualizzatore della griglia di dati ora si comporta correttamente quando visualizza i set di dati con filtro e ordinamento colonna attivi se la compressione è abilitata. - L'importazione del file xlsx ora gestisce correttamente le virgolette all'interno di un'intestazione di colonna. - L’output a ODS NEWLISTING contenente caratteri Unicode ora viene impaginato correttamente. Flusso di lavoro ======== - Il blocco Muta ora viene eseguito solo se viene specificato un nome per una variabile. - Il report Profiler dati ora riflette il nome dell'etichetta del blocco del set di dati (se il Profiler dati è stato aperto su un blocco). Altrimenti, è il nome del set di dati. - Il blocco Attribuisci ora richiede una percentuale espressa come frazione per i mezzi di winsorizzazione e la media sfrondata. ======================================================================= Ricevere supporto ======================================================================= Il modo in cui si accede al supporto tecnico del software WPS dipende dal modo con cui si è acquistato il software. L’utente può stare tranquillo che WPS viene sempre fornito con manutenzione e supporto. Se si è effettuato un acquisto standard del software WPS, si dispone di una licenza con sottoscrizione annuale che darà diritto ad aggiornamenti gratuiti illimitati alle versioni superiori, per tutti i dodici mesi, e al supporto gratuito per posta elettronica tramite l'indirizzo support@worldprogramming.com. World Programming tenta sempre di rispondere immediatamente alle e-mail. I maggiori clienti potrebbero disporre di ulteriori contratti di supporto. In questo caso, potremmo spesso fornire l'accesso al nostro Sistema di gestione dei problemi online. L'organizzazione potrebbe inoltre nominare utenti avanzati, tramite i quali saranno gestite tutte le richieste di supporto tecnico. Le risoluzioni ai problemi potrebbero includere soluzioni consigliate o potrebbero richiedere l'aggiornamento dell'installazione del software WPS. A causa della natura complessa del linguaggio SAS, potrebbe essere necessaria l'interazione tra l'utente e World Programming per individuare e risolvere le cause esatte dei problemi. (c) 2022 World Programming