
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.
- 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. |
- 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).
- 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).

- 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").
- 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.

- 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).
- 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

- 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

| 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. |
- 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: Data, Orario, Valuta;
(Date, Time
e Currency in inglese).
- 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).
- 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).

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

- 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