eDisplay - tutorial per Database Import Wizard

Questo breve tutorial illustra un tipico procedimento di importazione dati che ha come origine un foglio elettronico Excel. 

Le indicazioni sono valide anche per l'importazione da Access e dal formato testo (.csv). Nel seguito, dunque, si farà riferimento al "foglio di lavoro" per intendere più in generale il database esterno di cui si desiderano importare i dati.

Perché l'importazione abbia successo, occorre innanzitutto che il foglio di lavoro abbia determinati requisiti, primo fra tutti una struttura tabellare, dove ciascuna riga rappresenti un singolo record (quindi un singolo articolo o - se si importano solo i reparti - un singolo reparto) e ciascuna colonna un tipo di informazione (campo) di cui il record si compone. E' cioè necessario attribuire al foglio di lavoro una struttura simile a quella di un database.

Esaminiamo quattro possibili casi e le relative problematiche che si presentano:

  1. foglio di lavoro compatibile (articoli e reparti nella stessa tabella)

  2. foglio di lavoro compatibile (articoli e reparti in due tabelle diverse)

  3. foglio di lavoro incompatibile con l'importazione

  4. foglio di lavoro parzialmente compatibile con l'importazione

Infine, vediamo qualche nota circa le importazioni ripetute.


caso a - foglio di lavoro compatibile (articoli e reparti nella stessa tabella)

Analizziamo un esempio di tabella formalmente corretta, in cui sono contenute tutte le informazioni (sia quelle relative agli articoli che ai reparti) che ci servono per l'importazione:

Fig. 6

Questa tabella si caratterizza per l'estrema compattezza e per la perfetta coerenza dei dati: ad ogni riga corrisponde un distinto articolo e ad ogni colonna un tipo di informazione (campo). Notiamo inoltre che la prima riga contiene le intestazioni (i nomi) dei campi.

Volendo procedere all'importazione, dopo aver verificato che il negozio da aggiornare non sia contemporaneamente aperto da eDisplay avviamo innanzitutto il nostro Database Import Wizard.

Passo 1: Scegliamo il tipo di operazione da svolgere (tipicamente: Nuova importazione).

Passo 2: Una volta indicati il percorso del negozio da aggiornare e il file da cui vogliamo importare i dati, premendo il pulsante Opzioni Excel, verifichiamo che la casella Intestazioni risulti selezionata e confermiamo con OK.
In questo caso importeremo sia i reparti che gli articoli, per cui entrambe queste caselle dovranno essere spuntate:

Fig. 7

Il passo 3 presenta una lista dei diversi fogli di lavoro che possono essere contenuti nel nostro file Excel, richiedendoci di specificare la tabella che contiene l'elenco dei reparti. Supponendo che la nostra tabella si chiami "Listino", selezioniamola e premiamo il tasto Avanti.

Passo 4: Impostiamo le corrispondenze tra i campi dei reparti, come nella figura seguente:

Fig. 8

Premiamo di nuovo il tasto Avanti

Passo 5: Scegliamo la tabella che contiene i dati degli articoli (in questo caso la tabella è unica, perciò selezioneremo nuovamente "Listino").

Passo 6: Impostiamo come segue le corrispondenze tra i campi degli articoli:

Fig. 9

(è possibile importare anche eventuali immagini associate agli articoli se uno dei campi del foglio di Excel ne contiene il percorso assoluto oppure relativo alla posizione del foglio stesso; i campi del negozio a cui attribuire la corrispondenza sono Percorso immagine 1, Percorso immagine 2 e Percorso immagine piccola)

Passo 7: Si imposteranno qui alcune opzioni relative all'importazione degli articoli:

NB: Se, a in seguito a un'importazione non impostata correttamente, tutti gli articoli si trovano nel reparto speciale "Articoli importati", in una successiva importazione corretta sarà necessario deselezionare questa casella affinché essi siano trasferiti nei reparti appropriati.

Passo 8: In questo passo decidiamo cosa fare degli articoli del negozio che non sono presenti nel database esterno (articoli orfani): mantenerli invariati, escluderli dalla pubblicazione, trasferirli in un reparto speciale o cancellarli. Questa funzione può essere utile nel caso di un negozio in cui gli articoli escono frequentemente dal catalogo. Attenzione: il confronto avviene unicamente sulla base del codice articolo; per questa ragione gli articoli che non possiedono un codice sono sempre rilevati come orfani, a meno che non venga selezionata l'apposita casella Non modificare gli articoli privi di codice.

Passo 9: Scegliamo la lingua di destinazione dei dati fra quelle abilitate nel negozio. Se ad esempio il nostro negozio è prevede le due lingue italiano e inglese, potremo scegliere di importare i dati nella prima o seconda lingua.

Passo 10: Se il negozio di destinazione è stato realizzato con eDisplay Enterprise, a questo punto potremo scegliere in quali listini dovranno essere importati i dati. Se invece il negozio è stato realizzato con le versioni Base, Pro o Catalogo, che non prevedono il supporto per listini multipli, indicheremo come listino di destinazione il Listino 1 (selezionato per default).

Passo 11: A questo punto è possibile avviare l'importazione vera e propria, dopo aver deciso la modalità di aggiornamento (tipicamente, la sovrascrittura dei dati esistenti). Dopo aver effettuato una importazione con successo, la configurazione può essere salvata in un file con estensione .diw, che potrà essere aperto nel passo 1.

Ed ecco come si presenta il nostro negozio dopo l'importazione:

Fig. 10


caso b - foglio di lavoro compatibile (articoli e reparti in due tabelle diverse)

Questo esempio presenta un file Excel in cui le informazioni relative ai reparti sono contenute in una tabella distinta da quella degli articoli (nello stesso file .xls vi sono cioè due diversi fogli). Il collegamento fra le due tabelle è garantito dal campo ID reparto, che ne stabilisce la corrispondenza:

Tabella "Reparti":
Fig. 11 - Tabella reparti

Tabella "Articoli":
Fig. 12 - Tabella articoli

Una struttura di questo tipo rappresenta senz'altro la migliore forma di organizzazione e gestione dei propri dati (soprattutto se il numero di articoli e reparti è molto elevato). In aggiunta, contribuisce a ridurre drasticamente le dimensioni del nostro foglio elettronico.

Il procedimento di importazione è analogo a quello descritto nel caso precedente, con la differenza che - ovviamente - occorrerà specificare due tabelle diverse per i reparti (passo 3) e per gli articoli (passo 5). Supponendo che la tabella dei reparti abbia l'originale nome di "Reparti", al momento opportuno (passo 3) selezioniamola e premiamo il tasto Avanti.

Impostiamo le corrispondenze tra i campi dei reparti, come nella figura seguente:

Fig. 13

Premiamo di nuovo il tasto Avanti e scegliamo la tabella che contiene i dati degli articoli.

Impostiamo come segue le corrispondenze tra i campi degli articoli:

Fig. 14

Per le restanti opzioni vale quanto visto nel caso precedente; avviamo quindi l'importazione, dopo aver deciso la modalità di aggiornamento.

Ed ecco come si presenta il nostro negozio dopo l'importazione:

Vista reparti:
Fig. 15 - Vista reparti

Vista articoli:
Fig. 16 - Vista articoli


caso c - foglio di lavoro incompatibile con l'importazione

Se analizziamo il seguente foglio di lavoro, troveremo che ben difficilmente i dati in esso contenuti potranno essere efficacemente importati da un tool come l'Import Wizard di eDisplay:

Fig. 1 - Questo foglio non può essere importato!

In questa schermata notiamo infatti che il codice prodotto, il titolo e il prezzo sono tutti su una riga, ma le informazioni relative all'articolo continuano nelle due righe sottostanti, dove troviamo il reparto di appartenenza, l'autore e la descrizione. In sostanza, ad ogni riga non corrisponde un articolo (record) e nella stessa colonna si trovano dati di diversa natura (cioè diversi campi).

In questo caso, anche volendo tentare un'importazione, otterremo probabilmente dati incoerenti e un database del negozio pressoché inservibile:

Fig. 2

L'elenco dei reparti non rispetterà la suddivisione reale degli articoli (i quali peraltro saranno stati tutti attribuiti al reparto fittizio 'Articoli importati', poiché non sarà stato possibile definire una corrispondenza fra articoli e reparti).

Fig. 3

L'importazione degli articoli finirà per sparpagliare le informazioni relative a ciascun prodotto in diversi record.

Per importare un foglio di questo tipo, dunque, sarà necessario convertirne la struttura affinché rispecchi le indicazioni dei casi a e b: ad ogni riga dovrà corrispondere un articolo; ogni colonna dovrà contenere un solo tipo di dati.


caso d - foglio di lavoro parzialmente compatibile con l'importazione

Il foglio elettronico visualizzato in quest'ultimo esempio risulta parzialmente adatto ad una importazione corretta dei dati, anche se non risponde del tutto ai requisiti di una struttura tabellare coerente. Notiamo infatti che, benché le informazioni fondamentali relative agli articoli si trovino tutte su una singola riga, la suddivisione in reparti dà origine anch'essa a righe isolate che non è possibile mettere in relazione, se non sotto il profilo puramente visivo, con gli articoli corrispondenti:

Fig. 4

Di conseguenza non sarà possibile importare correttamente l'insieme dei reparti con i rispettivi articoli. Tuttavia, poiché i campi che riguardano gli articoli si trovano tutti su una riga, sarà possibile importare gli articoli e successivamente spostarli (con il copia/incolla) dentro i reparti di destinazione creati manualmente. Occorrerà però cancellare dall'elenco degli articoli i record corrispondenti ai nomi dei reparti (le righe 2-11-19-26 dell'esempio di cui sopra).

Fig. 5

In alternativa (e preferibilmente) si modificherà la struttura del foglio di lavoro: sarà infatti sufficiente aggiungere alla tabella una colonna contenente i nomi dei reparti (il nome del reparto andrà ripetuto per ogni articolo) ed eliminare le righe 2-11-19-26 (vedi sopra). Il risultato sarà come segue:

e l'importazione avverrà senza problemi (tutti gli articoli si troveranno nel reparto corretto).


Nota per le importazioni di aggiornamento

Quando un'attività di commercio elettronico è avviata e il negozio risulta già strutturato in articoli e reparti, può verificarsi l'esigenza di effettuare importazioni da database esterni allo scopo di aggiornare dati soggetti a frequente cambiamento, quale ad esempio il prezzo o la disponibilità degli articoli. E' bene dunque sapere che il controllo effettuato dal programma sulla corrispondenza fra gli articoli del negozio e quelli contenuti nel database esterno si basa sul codice dell'articolo, o sul campo che è stato originariamente importato come tale.

Ciò significa che il database da cui si importa deve necessariamente prevedere l'identificazione univoca degli articoli in catalogo tramite un codice loro assegnato (tale scelta è motivata dal fatto che, almeno in teoria, due articoli potrebbero avere - ad esempio - lo stesso titolo). Questo è tanto più importante per le impostazioni relative alla posizione degli articoli nei reparti (passo 7) e la rimozione degli articoli orfani (passo 8)

L'aggiornamento dei reparti è invece più flessibile, in quanto la corrispondenza può essere basata sia su un codice univoco (comunque consigliato), sia sul nome del reparto.

Se posizione e configurazione del database esterno (o del foglio di lavoro) non sono cambiate, all'apertura di Database Import Wizard è possibile ripetere l'ultima importazione effettuata con successo (oppure aprire un file .diw precedentemente salvato al passo 11), velocizzando in questo modo le operazioni di aggiornamento.