Free PlyxSQL© Beta - 1.0.0.99 Super ETL
POSTED , 18 SETT 2026
Free DOWNLOAD Clicca qui Info https://pgsoft.it/plyxhtml
SUPER ETL con PLYXSQL: il motore di mapping diventa ancora più potente
Trasformare dati non significa soltanto spostarli da una tabella a un’altra. Significa riconoscere formati diversi, pulire testi, classificare valori, intercettare anomalie, rispettare le dimensioni dei campi e garantire che una singola riga problematica non blocchi un’intera importazione.
Con gli ultimi aggiornamenti, PlyxSQL evolve in modo deciso: il suo motore ETL diventa più espressivo, più guidato e più resistente agli errori reali che si incontrano ogni giorno tra CSV, Excel, archivi legacy, gestionali esterni e basi dati di destinazione.
Il risultato è un sistema di mapping ancora più completo, capace di gestire logiche condizionali articolate senza scrivere codice e di rendere più sicure anche le importazioni più complesse.
CASE: la logica condizionale entra nel mapping
Una delle novità più importanti è la funzione CASE, disponibile nell’Assistente Espressione.
Fino a poco tempo fa, per realizzare una logica del tipo “se il valore è questo fai una cosa, se è un altro fai un’altra cosa, altrimenti usa un valore predefinito”, era necessario combinare più regole:
- Una regola con valore costante.
- Una condizione “Esegui regola solo se”.
- Un ramo alternativo.
- Ulteriori annidamenti per coprire più casi.
Era un approccio funzionale, ma quando le condizioni diventavano tre, quattro o dieci, la configurazione rischiava di diventare difficile da leggere, verificare e mantenere.
Ora tutta la logica può essere espressa in una sola formula:
CASE(Permanenti;2;Temporanei;3;1)
Il significato è immediato:
| Valore in ingresso | Risultato |
|---|---|
| Permanenti | 2 |
| Temporanei | 3 |
| Qualsiasi altro valore | 1 |
L’ultimo parametro rappresenta il valore di default: ciò che PlyxSQL deve usare quando nessuna delle condizioni precedenti è soddisfatta.
Questa funzione è particolarmente utile nei mapping di anagrafiche, classificazioni, stati, tipologie contrattuali, codici di provenienza, ruoli, categorie tributarie e valori provenienti da archivi non standardizzati.
Confronti diretti e regex
Ogni condizione di CASE può essere scritta come confronto testuale diretto. Il confronto è case-insensitive, quindi non distingue tra maiuscole e minuscole.
CASE(Residente;R;Non Residente;N;Da verificare)
In questo caso, Residente, RESIDENTE e residente vengono gestiti nello stesso modo.
Quando serve maggiore flessibilità, è possibile usare un pattern regex anteponendo il carattere ~.
CASE(~mq5;1;6)
Questa espressione assegna:
1a tutti i valori che contengonomq5.6a tutti gli altri valori.
| Codice sorgente | Risultato |
|---|---|
| mq5 | 1 |
| abc_mq5_01 | 1 |
| MQ5 | 1 |
| mq6 | 6 |
| altro_codice | 6 |
La funzione CASE consente quindi di concentrare una logica di classificazione completa direttamente nella trasformazione del singolo campo, evitando la proliferazione di regole separate.
Compositore CASE: tutta la potenza, senza sintassi da imparare
Scrivere espressioni manualmente è utile per chi conosce bene regex e logiche di trasformazione. Tuttavia, un motore ETL efficace deve essere accessibile anche a chi vuole configurare mapping complessi senza ricordare sintassi, parentesi, separatori o caratteri speciali.
Per questo PlyxSQL introduce il Compositore CASE.
Il funzionamento è guidato passo per passo:
- Si sceglie il tipo di confronto da un menu.
- Si inserisce il valore da cercare.
- Si definisce il risultato da restituire.
- Si preme “Aggiungi caso”.
- Si ripete l’operazione per tutte le condizioni necessarie.
- Si definisce il valore finale di default.
I tipi di confronto disponibili rendono immediata la costruzione delle regole più comuni:
- Inizia con.
- Contiene.
- Finisce con.
- Uguale a.
- Vuoto.
- Non vuoto.
Mentre l’utente compone i casi, PlyxSQL genera in tempo reale l’espressione CASE(...) corrispondente.
L’anteprima live permette di capire subito quale formula verrà applicata al campo, senza dover scrivere manualmente la funzione e senza il rischio di errori formali.
Una logica che prima richiedeva esperienza tecnica può ora essere configurata con pochi click, rimanendo comunque trasparente, verificabile e modificabile in qualsiasi momento.
Tre nuove funzioni per pulire i dati
I dati provenienti da Excel, CSV, esportazioni gestionali e archivi storici raramente sono già pronti per essere scritti nella base dati di destinazione. Nomi in minuscolo, codici incompleti, descrizioni non uniformi e caratteri da sostituire sono problemi ricorrenti.
Per affrontarli direttamente nel mapping, PLYXSQL aggiunge tre nuove funzioni di trasformazione testo.
PROPER: nomi e descrizioni più ordinati
La funzione PROPER trasforma la prima lettera di ogni parola in maiuscola.
PROPER(mario rossi)
Risultato:
Mario Rossi
È ideale per normalizzare campi come nominativi, ragioni sociali, città, indirizzi, descrizioni, titoli e denominazioni.
| Valore sorgente | Espressione | Risultato |
|---|---|---|
| mario rossi | PROPER(...) | Mario Rossi |
| comune di bologna | PROPER(...) | Comune Di Bologna |
| via giuseppe garibaldi | PROPER(...) | Via Giuseppe Garibaldi |
Per nomi con particelle, acronimi o convenzioni particolari, il risultato può essere ulteriormente raffinato con regole dedicate. Per la normalizzazione iniziale dei dati importati, però, PROPER elimina rapidamente una delle anomalie più comuni.
REPLACE: sostituzioni semplici, senza regex
La funzione REPLACE(testo;sostituto) esegue una sostituzione letterale di tutte le occorrenze di un testo.
REPLACE(-;/)
Può essere usata, ad esempio, per uniformare separatori, eliminare prefissi, correggere abbreviazioni o sostituire caratteri non desiderati.
A differenza delle espressioni regolari, REPLACE non interpreta i caratteri come operatori speciali. Questo la rende particolarmente comoda quando serve una sostituzione diretta e prevedibile, senza dover effettuare escape di parentesi, punti, barre, trattini o altri simboli.
| Valore sorgente | Trasformazione | Risultato |
|---|---|---|
| BO-2026-00125 | Sostituisce - con / |
BO/2026/00125 |
| Via Roma n. 12 | Sostituisce n. con numero |
Via Roma numero 12 |
| Cod. Fisc. | Sostituisce Cod. con Codice |
Codice Fisc. |
PAD: codici sempre della lunghezza corretta
La funzione PAD(n;carattere) completa il valore a sinistra fino a raggiungere una lunghezza fissa.
PAD(5;0)
Applicata al valore 123, produce:
00123
Questa funzione è essenziale quando un sistema sorgente esporta codici numerici perdendo gli zeri iniziali, mentre il sistema di destinazione richiede una lunghezza precisa.
Gli utilizzi tipici comprendono CAP, matricole, codici cliente, codici prodotto, numeri protocollo, identificativi territoriali e codici di classificazione a lunghezza fissa.
| Valore sorgente | Regola | Risultato |
|---|---|---|
| 123 | PAD(5;0) |
00123 |
| 45 | PAD(4;0) |
0045 |
| 7 | PAD(3;0) |
007 |
Stop agli overflow: PlyxSQL protegge l’importazione
Uno degli errori più frustranti nelle operazioni ETL è il classico:
Variable length column overflow
Accade quando un valore proveniente dalla sorgente supera la lunghezza massima del campo testuale nella tabella di destinazione.
In un’importazione tradizionale, anche una singola descrizione troppo lunga, una ragione sociale estesa o un indirizzo anomalo possono interrompere l’intera elaborazione. Il risultato è tempo perso, importazioni incomplete e necessità di analizzare manualmente record che spesso sono pochi rispetto al volume totale.
Con il nuovo comportamento di PLYXSQL, il motore controlla automaticamente la dimensione delle colonne testuali di destinazione.
Se il valore generato dalla regola supera la lunghezza prevista:
- Il valore viene troncato automaticamente.
- L’importazione prosegue senza blocchi.
- Al termine, PLYXSQL produce un riepilogo.
- Il riepilogo indica quanti valori sono stati troncati.
- Il riepilogo mostra su quali campi è avvenuto il troncamento.
Questo approccio rispecchia una filosofia precisa: un dato anomalo deve essere segnalato, non deve bloccare il lavoro.
La qualità del dato rimane sotto controllo grazie al log finale, ma il processo ETL non viene fermato da un’unica eccezione. È un vantaggio particolarmente rilevante nelle importazioni massive, nei caricamenti periodici e nelle migrazioni da archivi storici.
Nuova condizione: “Contiene una data valida”
Le date sono tra i campi più delicati in assoluto. Possono essere assenti, scritte in modo incompleto, invertite, esportate come testo oppure contaminate da valori non validi.
PLYXSQL aggiunge una nuova condizione per “Esegui regola solo se”:
Contiene una data valida
L’utente indica il formato atteso, per esempio:
dd/mm/yyyy
La condizione verifica che il valore del campo sia realmente interpretabile come una data valida nel formato indicato.
Questo permette di separare due operazioni che spesso vengono confuse:
- Verificare che il valore sia una data corretta.
- Convertire quel valore nel formato richiesto dalla destinazione.
La validazione viene applicata prima della trasformazione vera e propria. Solo se il campo supera il controllo, è possibile eseguire una regola come:
DATE(dd/mm/yyyy)
| Valore sorgente | Condizione “data valida” | Conversione DATE | Esito |
|---|---|---|---|
| 15/09/2026 | Superata | Eseguita | Data importata |
| 31/02/2026 | Non superata | Non eseguita | Riga gestita separatamente |
| abc | Non superata | Non eseguita | Nessuna conversione errata |
| Valore vuoto | Non superata | Non eseguita | Campo vuoto o valore predefinito |
Regex anche nelle condizioni
PLYXSQL dispone già di un catalogo di pattern pronti all’uso per funzioni come:
REGEXMATCH
REGEXEXTRACT
REGEXREPLACE
Con questo aggiornamento, il catalogo è disponibile anche direttamente nel pannello delle condizioni quando si seleziona:
Corrisponde al pattern regolare
Questo rende più semplice costruire controlli robusti senza dover ricordare o riscrivere ogni volta le espressioni regolari.
Tra i pattern disponibili rientrano controlli per:
- CAP.
- Città.
- Codici fiscali.
- IBAN.
- Date.
- Numeri.
- Indirizzi con civico.
- Indirizzi con interno.
- Indirizzi con scala.
- Strutture testuali ricorrenti.
Le regex non sono più uno strumento riservato a chi conosce nel dettaglio la sintassi dei pattern. Diventano una risorsa configurabile dall’interfaccia, utile per validare e classificare i dati prima di eseguire il mapping.
Deduplica completamente localizzata
Anche gli interventi apparentemente meno visibili contribuiscono alla qualità complessiva dell’esperienza.
La finestra di configurazione della funzione Elimina Duplicati e i relativi messaggi di log, che in precedenza contenevano alcune parti hardcoded, sono stati completamente riportati nel sistema di traduzione dell’applicazione.
Il risultato è un’interfaccia più coerente con il resto di PLYXSQL e pronta per supportare future localizzazioni senza dover intervenire sulla logica della funzione.
Per chi utilizza il prodotto in contesti internazionali, distribuisce procedure a più operatori o realizza soluzioni verticali multilingua, questa è una base importante: non una semplice traduzione di etichette, ma una gestione più ordinata e scalabile dell’interfaccia.
Un piccolo fix che elimina un grande fastidio
L’ultimo miglioramento riguarda l’albero di selezione dei campi.
In alcune situazioni, facendo click su un nodo, poteva accadere che una checkbox già selezionata venisse deselezionata accidentalmente. Il problema dipendeva da un’area sensibile al click troppo ampia attorno alla casella di selezione.
È uno di quei difetti piccoli sulla carta, ma fastidiosi nel lavoro reale: soprattutto quando si configurano mapping con molti campi, una selezione modificata involontariamente può causare errori difficili da individuare.
Ora l’area di rilevamento del click si adatta dinamicamente al testo effettivo del nodo. Il comportamento è quindi più preciso, affidabile e coerente con ciò che l’utente vede nell’interfaccia.
Un motore ETL progettato per il lavoro reale
| Esigenza operativa | Nuova soluzione PLYXSQL |
|---|---|
| Classificare più valori con logica “se/altrimenti” | Funzione CASE |
| Creare CASE senza ricordare sintassi o regex | Compositore CASE guidato |
| Normalizzare nomi e descrizioni | PROPER |
| Sostituire testo senza complessità regex | REPLACE |
| Ripristinare zeri iniziali e lunghezze fisse | PAD |
| Evitare blocchi per campi troppo lunghi | Troncamento automatico con riepilogo finale |
| Validare date prima della conversione | Condizione “Contiene una data valida” |
| Usare pattern pronti nelle condizioni | Assistente regex |
| Preparare l’interfaccia a più lingue | Localizzazione completa della deduplica |
| Ridurre errori di selezione nell’interfaccia | Correzione dell’area click delle checkbox |
Con queste evoluzioni, PlyxSQL consolida il proprio ruolo di motore per l’integrazione e la trasformazione dei dati: una soluzione pensata per chi deve configurare importazioni, conversioni e mapping complessi in modo visuale, controllato e senza dover sviluppare script dedicati per ogni eccezione.
La funzione CASE elimina gran parte degli annidamenti necessari per le classificazioni multiple. Il Compositore CASE rende questa potenza disponibile anche a chi non vuole scrivere espressioni a mano. Le nuove funzioni PROPER, REPLACE e PAD affrontano operazioni quotidiane di pulizia e normalizzazione.
I controlli automatici sulle dimensioni dei campi evitano interruzioni inutili, mentre la validazione delle date e il supporto regex nelle condizioni rendono il mapping più solido già in fase di configurazione.
In una parola: SUPER ETL.
Perché un processo di importazione affidabile non deve solo trasferire dati. Deve saperli interpretare, correggere, validare e accompagnare fino alla destinazione, anche quando la sorgente non è perfetta.
#SQL #database #ETL #DataEngineering #plyxSQL #FireDAC #PGSOFT