Come utilizzare le funzioni per il mapping degli attributi?
Quando esporti i dati di prodotto verso un webshop, può capitare che gli attributi grezzi presenti nel PIM non corrispondano al formato richiesto dalla destinazione.
Per gestire questa situazione, puoi usare le funzioni per trasformare i dati prima che vengano mappati.
Questo articolo spiega come funzionano le funzioni, come crearle e include esempi pratici che puoi copiare e utilizzare direttamente.
Cosa sono le funzioni?
Le funzioni ti permettono di applicare trasformazioni ai tuoi dati in modo che rispettino i requisiti del webshop. Puoi ripulire testi, unire campi, applicare logiche, convertire unità e molto altro.
Ecco le funzioni attualmente supportate:
CONCAT
— Unisce più attributi in una singola stringaFILTER
— Filtra una lista in base a una condizioneIF
— Restituisce il valore A se la condizione è vera, altrimenti BIFBLANK
— Restituisce un valore di riserva se un attributo è vuotoJOIN
— Unisce attributi con un delimitatore (es. virgola)NOT
— Restituisce il contrario di una condizioneOR
— Restituisce vero se una qualsiasi condizione è veraAND
— Restituisce vero solo se tutte le condizioni sono vereREPLACE
— Sostituisce una parte di una stringa di testoSUBSTITUTE
— Sostituisce tutte le occorrenze di una sottostringaSEARCH
— Restituisce la posizione di una sottostringa nel testoCONTAINS
— Verifica se una stringa contiene una parola chiaveConvertMassUnit
— Converte da un'unità di massa a un'altraConvertMetricUnit
— Converte da un'unità metrica a un'altraGreaterThan
— Verifica se un valore è maggiore di un altroIFEXISTS
— Verifica se un valore esisteNTH
— Restituisce il valore N-esimo da una listaMAPKEYS
— Rimappa le chiavi di un oggetto o di una lista
Come creare una funzione
Hai due opzioni:
1. Inserimento manuale
Nel campo funzione:
Digita
$
per sfogliare le funzioni disponibiliDigita
/
per sfogliare gli attributi disponibili
Puoi annidare funzioni, combinarle e usare più attributi nella stessa espressione.
Esempi che puoi usare:
Sostituire un testo con un altro valore
SUBSTITUTE({composition.storageInfo}, 'Store dry and cool', 'Max. 10°C')
Verificare se una proprietà contiene un valore specifico
CONTAINS({composition.composition}, 'milk')
Verificare se un elenco codificato contiene un valore specifico
CONTAINS({nutrition.gdsnDietTypeCode}, 'VEGAN')
Verificare se è presente un allergene specifico (es. AP)
CONTAINS({allergy.items}, 'AP')
Verificare se è presente un allergene specifico (es. AF)
CONTAINS({allergy.items}, 'AF')
Convertire l’unità di massa da grammi a chilogrammi
CONVERT-MASS-UNIT({properties.gdsnNetContent}, 'g', 'kg')
Convertire l’unità metrica da millimetri a centimetri
CONVERT-METRICS-UNIT({properties.depth}, 'mm', 'cm')
Verificare se un valore numerico è maggiore di una soglia
GREATER-THAN({properties.gdsnNetContent}, 50)
Restituire un valore di riserva se l’attributo esiste
IFEXISTS({composition.composition}, 'NO')
Ottenere l’N-esimo elemento da un array
NTH({composition.use[].code}, 2)
Mappare le chiavi in una nuova struttura (esempio: codici e testi)
MAPKEYS({composition.use}, [['code','code_new'], ['text','text_new']])
Mappare le chiavi per identificatori aggiuntivi
MAPKEYS({core.additional_identification}, [['code','code_new'], ['value','value_new']])
Concatenare due proprietà
CONCAT([{composition.composition}, {composition.countryOrigin}])
Logica IF semplice
IF({core.gdsnIsOrderableUnit}, YES, NO)
Valore di riserva se l’attributo è vuoto
IFBLANK({composition.nonFoodComposition}, {composition.composition})
Unire più valori con un separatore
JOIN([{composition.gdsnUsage}, {composition.storageInfo}], '- ')
Negare una condizione booleana
NOT({core.gdsnNonSoldReturnable})
Applicare logica OR a più valori
OR([{composition.nonFoodComposition}])
Applicare logica AND a più valori
AND([{composition.composition}])
Sostituire parte di una stringa
REPLACE({composition.gdsnUsage}, 0, 0, 'MDH:')
2. Utilizza l'Assistente AI
Se non sai come scrivere la funzione, clicca semplicemente sul pulsante AI. Si aprirà un'area di chat dove potrai descrivere ciò che desideri ottenere. L'AI genererà la funzione corretta per te. Poi potrai rivederla e cliccare su Applica.
All'interno del pannello AI troverai anche:
Cancella sessione — reimposta la conversazione
Chiudi sessione — esce dalla chat
Flussi supportati:
Flusso 1 – Descrivi la funzione → l’AI restituisce il risultato → lo applichi
Flusso 2 – Descrivi → l’AI restituisce il risultato → chiedi una modifica (altra funzione, attributo o logica) → l’AI la aggiorna
Flusso 3 – Incolli una funzione esistente + descrivi come modificarla → l’AI la riscrive
Puoi combinare tutti e tre i flussi durante una sessione.
⚠️ Le descrizioni devono essere in inglese, francese, tedesco o italiano. Altre lingue restituiranno un risultato vuoto.
Limitazioni conosciute
A volte l’AI sceglie
OR
al posto diAND
se la descrizione è troppo vaga. Sii specifico.L’AI può non rilevare attributi che corrispondono all’etichetta ma non al codice. Puoi specificare:
Aggiungi anche gli attributi che hanno ‘aroma’ nell’etichetta
JOIN e CONCAT potrebbero confondersi se il prompt è ambiguo.
Le sessioni chat più lunghe possono consumare più token e rallentare le risposte. Usa “Cancella sessione” se qualcosa va storto.
Consiglio finale
Se qualcosa sembra sbagliato o non funziona come previsto, non perdere tempo a fare debug alla cieca. Apri la chat AI e spiega cosa correggere. È spesso più veloce e affidabile rispetto al cercare di decifrare la logica da solo.
Facci sapere se riscontri casi limite o se hai suggerimenti per nuove funzioni. Questa funzionalità è progettata per crescere, e la miglioriamo costantemente grazie al tuo feedback.