menu index news tariffe tips faq forum links

WindWorld > Tips&Tricks > Leggere il dettaglio chiamate del 155.it con OpenOffice/StarOffice

Leggere il dettaglio chiamate del 155.it con OpenOffice/StarOffice

Non tutti usano la suite Office di Microsoft, ed anzi specie in quest'ultimo periodo stanno prendendo sempre più campo soluzioni alternative, a volte anche totalmente gratuite e con ottima compatibilità rispetto ai costosi programmi di Microsoft. Tra queste la più nota ed apprezzata è sicuramente il progetto open-source e totalmente gratuito OpenOffice.org (OOo) arrivato alla versione 2.0, nonché il suo equivalente curato da Sun (a pagamento), StarOffice 8.0 (SO8). Le immagini che vedrete in questo how-to si riferiscono alla versione italiana di OOo 2.0.

Il problema che si è posto a me e a chi, come me, NON usa Microsoft Office, e nella fattispecie Excel, è: "come fare ad analizzare i dati del dettaglio delle telefonate che il 155.it fornisce?"
Se infatti si chiede che venga inviato per email il dettaglio in versione Excel, questo risulta assolutamente illeggibile da prodotti quali OOo e SO8 che, peraltro, vantano una ottima compatibilità con Microsoft Office.

Tutto dipende dal fatto che, in realtà, il file che ci viene spedito non è, ovviamente, generato da Excel, ma da Oracle i cui sviluppatori evidentemente hanno testato il loro formato di esportazione .xls solo con Excel e non con i prodotti con esso compatibili.

Che cosa deve fare allora il cliente Wind, desideroso di analizzare il proprio dettaglio di telefonate, ma che non possiede Excel?

Qui sotto riporto la procedura che utilizzo con SO8 e/o OOo 2.0 per analizzare il dettaglio delle telefonate.

  1. Innanzitutto bisogna richiedere il dettaglio delle chiamate in formato ASCII e non nel formato .xls.
    N.B.: Chi usa Windows richieda la versione ASCII per Windows; chi usa Linux o Mac richieda ovviamente la versione ASCII per Unix o Mac.
  2. Il file che arriva dal 155.it come allegato di posta elettronica e che supponiamo abbia nome pippo.txt deve essere rinominato con estensione .csv (per esempio: pippo.csv). Bisogna fare così perché i file in formato CSV (Comma Separated Values) vengono riconosciuti da tutti i fogli elettronici, in quanto il formato .csv è un formato universale di scambio fra fogli elettronici. In generale questo formato prevede la presenza di un particolare carattere di separazione fra i diversi campi (= colonne, contenuto delle celle di una riga). Esso può essere la virgola (carattere utilizzato inizialmente, da cui il nome del file), il carattere di tabulazione, le virgolette, ecc...
    Nel caso specifico del file che ci perviene dal 155.it, si tratta di un file di testo puro che non ha, purtroppo, dei caratteri di separazione tra i diversi campi.
    Ci viene in aiuto però il fatto che ciascun campo consta di un un numero di caratteri costante. Se i dati contenuti in un certo campo non riempiono completamente il numero previsto di caratteri per quel campo, vengono aggiunti in coda degli spazi.
    Pertanto il formato dei campi del nostro dettaglio è del tipo cosiddetto "a larghezza costante" (Fixed Width, in inglese).
  3. Fatta questa lunga premessa teorica, veniamo a noi.
    Se si si chiede a OOo di aprire il file in questione (es.pippo.csv), OOo lo farà. Quando però il file sarà stato caricato, comparirà sullo schermo una finestra di importazione del testo (Text Import) che contiene una "preview" della modalità con cui OOo ha "interpretato" come dovranno essere inseriti i dati del file .csv nel foglio elettronico. Nel caso della versione in inglese di OOo, come appare dall'immagine sottostante, i valori di default di importazione presuppongono che si tratti di un file in cui i campi siano separati da virgole (formato "comma-separated", cioè il formato .csv originale).

    Figura 1
  4. Bisogna allora modificare questa assunzione del programma modificando la tipologia della modalità di importazione dal formato "Separato" (in inglese "Separated by") nel formato cosiddetto "Larghezza Fissa" (in inglese "Fixed Width").
  5. Operando questa modifica la finestra di importazione del testo apparentemente non si modifica. In realtà, a questo punto, tutto il contenuto di una riga (record) finirebbe in un'unica cella.

    Figura 2

  6. Pertanto bisogna agire con il mouse spostandosi sul righello che sta al di sopra del "preview dei dati" cliccando laddove si vuole che avvenga la separazione dei dati nelle diverse colonne (=campi).
  7. Nel mio caso ho individuato che la separazione ottimale avviene in corrispondenza dei valori: 10 - 20 - 40 - 80 -120 - 150 - 172 del righello.
    Non so di che tipo di unità si tratti: punti, pollici, cm, pica ecc..., per cui non so neppure se questi valori siano universali e siano gli stessi della versione italiana. Invito ciascuno a verificare quale sia il miglior modo di separare i dati del proprio dettaglio

    Figura 3

  8. Eseguita tale procedura e acceratisi che la separazione sia avvenuta laddove è effettivamente necessario, si deve cliccare col mouse sul pulsante OK della finestra di importazione. In questo modo i dati compaiono nel foglio elettronico con il contenuto del dettaglio delle telefonate opportunamente separato nei vari campi come nell'immagine sottostante

    Figura 4

  9. P.S.: Chi usava il vecchio QuattroPro e/o Lotus123, sapeva che per importare i dati contenuti in campi di ampiezza costante (Fixed Width) doveva utilizzare una procedura analoga a quella descritta. D'altra parte credo che anche Excel usi una procedura simile per importare campi di ampiezza costante.
  10. Rimane un problema prima di poter analizzare i dati: il formato dei campi Data, Ora, Costo chiamata e Durata.
    Per i primi tre è sufficiente selezionare rispettivamente la colonna che contiene la Data, l'Ora di Chiamata e il Costo della chiamata e definire per ciascuno di essi dal menu Formata Cella ("Format", in inglese) la tipologia relativa: DataOrarioValuta; (DateTime e Currency in inglese).
  11. Più delicato è il problema del campo Durata che è espresso col numero di secondi seguito dalla stringa "Seconds". Se infatti si vogliono operare dei calcoli su questo campo, bisogna innanzi tutto trasformarlo in campo numerico. Per far questo bisogna eliminare la scritta Seconds che segue il numero di secondi. Ci viene in soccorso la funzione Cerca e Sostituisci (Search & Replace in inglese) del menu Modifica (Edit, in inglese).
  12. Selezioniamo innanzitutto la colonna della Durata ponendo il puntatore del mouse sopra l'intestazione della colonna in questione e cliccandovi sopra in modo da evidenziarla tutta.
    Con la colonna della Durata così evidenziata, selezioniamo quindi la voce Cerca e Sostituisci (Search & Replace in inglese) dal menu Modifica (Edit). Compare una finestra in cui nell'input box preceduto dalla scritta "Cerca" (Search for) va inserita la stringa:
    <spazio>Seconds, ove <spazio> sta a significare battere una volta la barra spaziatrice.
    Lasciamo vuoto invece l'input box preceduto dalla scritta Sostituisci con (Replace with).

    Figura 5

    A questo punto clicchiamo col mouse in corrispondenza del pulsante Sostituisci tutto (Replace All).
    Il campo Durata subisce la trasformazione mostrata nella figura sottostante:

    Figura 6

  13. Ripetere la stessa identica operazione con la parola "Messages" per poter contare anche in messaggi.

Abbiamo finalmente pronto il nostro foglio elettronico col dettaglio delle telefonate.
Buone elaborazioni a tutti! :-)

N.B.: Personalmente amo molto utilizzare la funzione VLOOKUP (CERCA.VERT, in italiano) per verificare quanto avrei pagato facendo le stesse telefonate usando un altro operatore o un'altra tariffa.
A tale fine, chi fosse interessato, può leggersi il documento: Confronti tariffari usando un foglio elettronico

WindWorld.org © 2002-2005