Kartograph

Posted by Alessia, Roberta, Saverio ed Antonella | Posted in , , | Posted on 10:21

Ho trovato questo Sito per caso gironzolando su pinterest


E' un framework basato su SVG (magnifica tecnica) per creare Map Chart  molto belli ed interattivi...
Se vi piacciono le immagini che vedete qui...fateci un salto....kartograph

Perchè utilizzare SQL solo su tabelle? Si può fare molto di più...

Posted by Alessia, Roberta, Saverio ed Antonella | Posted in , , | Posted on 16:18

Abbiamo già visto come accedere a dati LDAP come se fossero tabelle.

Ma la stessa cosa si può fare con file di testo, documenti XML o fogli di calcolo.


Come si fa?

Prima di tutto occorre che Oracle sia in grado di leggere il file; per ottenere ciò, occorre che il file sia all'interno del Server che ospita il DBMS (improbabile) o che sia accedibile mediante URI (molto più semplice).

Le istruzioni seguenti consentono di ottenere il contenuto del file come campo Lob (Character Lob in questo caso), oppure come documento XML.

select UriFactory.getUri('http://localhost/mioFile.xml').getXML() from dual
select UriFactory.getUri('http://localhost/mioFile.html').getClob() from dual

Ovviamente questo è solo il primo passo.
Noi vogliamo una vera tabella, con righe e colonne....

Documenti XML

Con i documenti XML è tutto molto semplice...basta utilizzare XQuery.

select t. from
XMLTable('//rows' PASSING UriFactory.getUri('http://localhost/mioFile.xml').getXML()
COLUMNS data_in date PATH '/rows/@data',
id integer PATH '/rows/@id', url varchar2(1000) PATH '/rows/@url') t

Altri file di testo

Il modo più semplice è quello che prevede l'utilizzo delle external tables.
Le external tables di Oracle sono delle istruzioni che permettono di definire la struttura di un file in modo che Oracle sia in grado di leggerne i dati come se fossero all'interno del DB. Ovviamente le prestazioni sono un po' diverse...

Un paio di esempi:

create table txt_table (txt_line varchar2(2000))
 organization external
 (type ORACLE_LOADER default directory my_dir access parameters
  (records delimited by newline
        fields (txt_row char(2000)
     ))
 location ('myfile.xtx')
 );

create table txt_table (nome varchar2(200), data_nascita date )
 organization external
 (type ORACLE_LOADER default directory my_dir access parameters
  (records delimited by newline
        fields (nome char(200), data_nascita CHAR(10) date_format DATE mask "mm/dd/yyyy"
     ))
 location ('myfile.xtx')
 );

create table txt_table (nome varchar2(200), data_nascita date )
 organization external
 (type ORACLE_LOADER default directory my_dir access parameters
  (records delimited by newline
  fields terminated by ','
  missing field values are null
  reject rows with all null
        fields (nome char(200), data_nascita CHAR(10) date_format DATE mask "mm/dd/yyyy"
     ))
 location ('myfile.xtx')
 );

L'unico problema di questa tecnica è che dobbiamo utilizzare file localizzati in folder fisici e non virtuali (accessibili da URI).
Ma anche questo si può fare...

Esempi ulteriori li trovate qui: http://psoug.org/reference/externaltab.html







Funzioni analitiche Oracle per stilare delle classifiche (ranking)

Posted by Alessia, Roberta, Saverio ed Antonella | Posted in , | Posted on 13:25

Vi è mai capitato di dover individuare i migliori performer tra il personale di vendita di una azienda?

Come avete fatto?
Probabilmente con una istruzione del tipo:

select rownum, venditore, tot_ordinato from vendite order by tot_ordinato desc

Peccato che, se la classifica andasse suddivisa per regioni o per gruppi di prodotti, questa tecnica non potrebbe più funzionare...


Ecco l'istruzione SQL più efficiente:

SELECT venditore, regione,  dense_rank() over (partition by regione order by tot_ordinato desc) as classifica
from vendite  ORDER BY regione, classifica


Oltre a rank ci sono dense_rank e row_number; ci sono piccole differenze tra loro...

E se poi vi chiedessero di avere le differenze di ordinato tra un venditore ed il precedente (o il successivo, il primo o l'ultimo) in classifica?
Niente paura:

SELECT venditore, regione, dense_rank() over (partition by regione order by tot_ordinato desc) classifica
, LEAD(
tot_ordinato, 1, 0) OVER (partition by regione order by tot_ordinato desc) valore_success_inferiore
, LAG(
tot_ordinato, 1, 0) OVER (partition by regione order by tot_ordinato desc) valore_preced_superiore
from Vendite  order by regione, classifica;


I parametri delle funzioni Lead e Lag sono:
  • tot_ordinato: il campo della tabella o una espressione sql più complessa
  • 1: l'offset dalla riga corrente
  • 0: valore di default se il tot_ordinato è nullo
In pratica i due parametri strani sono quasi sempre 1 e 0.

C'è molto di più di quanto spiegato; ma una volta compresi i meccanismi illustrati nei due post, tutto il resto (se vi serve) è semplice.
Comunque vi abbiamo descritto quello che è utile usare nella maggioranza dei casi.


Oracle avanzato in pillole

Posted by Alessia, Roberta, Saverio ed Antonella | Posted in | Posted on 03:48

Con il database Oracle si possono realizzare molte funzionalità applicative avanzate e performanti, in gran parte sconosciute ai più.
La documentazione esiste, anche in rete, ma spesso non è di agevole lettura, soprattutto per chi non lavora da anni in questo ambito.

Oracle è un bellissimo sistema ma continua da essere, purtroppo, per un elite di esperti.

Il nostro obiettivo è quello di spiegare cosa si possa fare con concetti ed esempi immediati, ma soprattutto in estrema sintesi.
In questa ottica scriveremo una serie di articoli su argomenti interessanti e poco noti in modo conciso e lineare.

Giusto quello che serve per decidere sa valga la pena approfondire ed utilizzare.

Iniziamo a conoscere funzioni analitiche di Oracle

Posted by Alessia, Roberta, Saverio ed Antonella | Posted in , , , | Posted on 22:27

Parliamo di SQL e di aggregazione di dati.
Queste funzioni sono poco conosciute, ma estremamente utili, in quanto potenti e veloci.
Cosa fanno?

Parecchie cose. L'uso più comune è il calcolo di progressivi (Running Totals).
Un esempio? Gli estratti conto bancari con i saldi a fianco.
Se hai un conto un banca li conosci di sicuro.


Noam Chomsky: 10 consigli per difenderci dall’informazione che imbroglia

Posted by Alessia, Roberta, Saverio ed Antonella | Posted in , | Posted on 14:31

La strategia della distrazione


L’elemento principale del controllo sociale è la strategia della distrazione che consiste nel distogliere l’attenzione del pubblico dai problemi importanti e dai cambiamenti decisi dalle elites politiche ed economiche utilizzando la tecnica del diluvio o dell’inondazione di distrazioni continue e di informazioni insignificanti.
La strategia della distrazione è anche indispensabile per evitare l’interesse del pubblico verso le conoscenze essenziali nel campo della scienza, dell’economia, della psicologia, della neurobiologdia e della cibernetica.

“Sviare l’attenzione del pubblico dai veri problemi sociali, tenerla imprigionata da temi senza vera importanza. Tenere il pubblico occupato, occupato, occupato, senza dargli tempo per pensare, sempre di ritorno verso la fattoria come gli altri animali.


Creare il problema e poi offrire la soluzione


Questo metodo è anche chiamato “problema – reazione – soluzione”. Si crea un problema, una “situazione” che produrrà una determinata reazione nel pubblico in modo che sia questa la ragione delle misure che si desiderano far accettare.
Ad esempio: lasciare che dilaghi o si intensifichi la violenza urbana, oppure organizzare attentati sanguinosi per fare in modo che sia il pubblico a pretendere le leggi sulla sicurezza e le politiche a discapito delle libertà. Oppure: creare una crisi economica per far accettare come male necessario la diminuzione dei diritti sociali e lo smantellamento dei servizi pubblici.


La strategia della gradualità


Per far accettare una misura inaccettabile, basta applicarla gradualmente, col contagocce, per un po’ di anni consecutivi. Questo è il modo in cui condizioni socioeconomiche radicalmente nuove (neoliberismo) furono imposte negli anni ‘80 e ‘90: uno Stato al minimo, privatizzazioni, precarietà, flessibilità, disoccupazione di massa, salari che non garantivano più redditi dignitosi, tanti cambiamenti che avrebbero provocato una rivoluzione se fossero stati applicati in una sola volta.


La strategia del differire


Un altro modo per far accettare una decisione impopolare è quella di presentarla come “dolorosa e necessaria” guadagnando in quel momento il consenso della gente per un’applicazione futura. E’ più facile accettare un sacrificio futuro di quello immediato. Per prima cosa, perché lo sforzo non deve essere fatto immediatamente. Secondo, perché la gente, la massa, ha sempre la tendenza a sperare ingenuamente che “tutto andrà meglio domani” e che il sacrificio richiesto potrebbe essere evitato. In questo modo si dà più tempo alla gente di abituarsi all’idea del cambiamento e di accettarlo con rassegnazione quando arriverà il momento.


Rivolgersi alla gente come a dei bambini


La maggior parte della pubblicità diretta al grandepubblico usa discorsi, argomenti, personaggi e una intonazione particolarmente infantile, spesso convoce flebile, come se lo spettatore fosse una creatura di pochi anni o un deficiente.
Quanto più sicerca di ingannare lo spettatore, tanto più si tende ad usare un tono infantile. Perché? “Se qualcunosi rivolge ad una persona come se questa avesse 12 anni o meno, allora, a causa dellasuggestionabilità, questa probabilmente tenderà ad una risposta o ad una reazione priva di sensocritico come quella di una persona di 12 anni o meno.


Usare l’aspetto emozionale molto più della riflessione


Sfruttare l’emotività è una tecnicaclassica per provocare un corto circuito dell’analisi razionale e, infine, del senso criticodell’individuo.
Inoltre, l’uso del tono emotivo permette di aprire la porta verso l’inconscio perimpiantare o iniettare idee, desideri, paure e timori, ossessioni compulsive, o per indurrecomportamenti.


Mantenere la gente nell’ignoranza e nella mediocrità


Far si che la gente sia incapace dicomprendere le tecniche ed i metodi usati per il suo controllo e la sua schiavitù. "La qualità dell’educazione data alle classi sociali inferiori deve essere la più povera e mediocre possibile, inmodo che la distanza creata dall’ignoranza tra le classi inferiori e le classi superiori sia e rimanga impossibile da colmare da parte delle inferiori"


Stimolare il pubblico ad essere favorevole alla mediocrità


Spingere il pubblico a ritenere chesia di moda essere stupidi, volgari e ignoranti.


Rafforzare il senso di colpa


Far credere all’individuo di essere esclusivamente lui il responsabile della proprie disgrazie a causa di insufficiente intelligenza, capacità o sforzo. In tal modo, anziché ribellarsi contro il sistema economico, l’individuo si auto svaluta e si sente in colpa,cosa che crea a sua volta uno stato di depressione di cui uno degli effetti è l’inibizione ad agire. Esenza azione non c’è rivoluzione!


Conoscere la gente meglio di quanto essa si conosca


Negli ultimi 50 anni, i rapidi progressi della scienza hanno creato un crescente divario tra le conoscenze della gente e quelle di cui dispongono e che utilizzano le elites dominanti. Grazie alla biologia, alla neurobiologia e alla psicologia applicata, il “sistema” ha potuto fruire di una conoscenza avanzata dell’essere umano, sia fisicamente che psichicamente. Il sistema è riuscito a conoscere l’individuo comune molto meglio di quanto egli conosca sé stesso. Ciò comporta che, nella maggior parte dei casi, il sistema esercita un più ampio controllo ed un maggior potere sulla gente, ben maggiore di quello che la gente esercita su se stessa.


Noam Chomsky (Filadelfia, 1928) è un linguista, filosofo e teorico della comunicazione. Professore emerito di linguistica al MIT (Massachusetts Institute of Technology), è il fondatore della grammatica generativo-trasformazionale. La costante e acuta critica della politica estera Usa e la lucida analisi del ruolo dei media nelle democrazie lo hanno reso uno degli intellettuali più famosi del mondo.

Grafici con Mappe Geografiche

Posted by Alessia, Roberta, Saverio ed Antonella | Posted in | Posted on 15:00

Quando occorre analizzare dati statistici su base territoriale, si può ottere un impatto visivo molto efficace con l'uso questa tipologia di grafici, che visualizzano delle cartine geografiche con regioni evidenziate in colori diversi in relazione ai numeri rilevati per il fenomeno allo studio.
Un esempio banale è l'andamento delle vendite (o del PIL, o della Spesa Sanitaria) nelle varie regioni di una nazione. Le regioni con valori più alti hanno un colore più intenso sulla base di una scala dinamica riportata (se desiderato) in basso.

Diamo un'occhiata agli esempi.


Map Chart dell'Europa


Questa mappa dell'Europa è un esempio della versione più semplice di questi grafici: è presente una sola misura e non è attiva alcuna altra opzione.

Con un click sull'immagine si attiva una demo live con la possibilità di modificare i parametri in modo dinamico.





Mappa dell'Italia


La Map Chart sono un'opzione addizionale dei Flash Chart (descritti in questo post): vengono attivati impostando il paragrafo graphtype="map" ed indicando quale mappa si voglia utilizzare (altrimenti compare l'Italia).

In questo caso vengono previste tre misure e la scala con i range di valori previsti ed i colori corrispondenti. La scala può essere variata trascinando gli indicatori triangolari: in questo modo vengono modificati in modo corrispondente i colori della mappa.

Come per i grafici commerciali, i colori possono essere personalizzati. All'interno della Demo tutte le caratteristiche possono essere variate in modo dinamico-

Potete facilmente fare una prova con un click sulla figura.



Mappa della Germania


Ovviamente tutte le cifre devono essere correlate all'area geografica di riferimento, pari al nome delle regioni. Nel caso dell'Italia, i nomi delle Regioni (Lombardia, Toscana ecc.),

Questi grafici possono essere trasformati, dinamicamente, in tutte le altre tipologie (barre, aree, torte ecc).

Ovviamente, quando si modifica la nazione (da Italia a Francia, ad esempio) occorre anche modificare i nomi delle regioni.
In caso contrario il sistema presuppone che non esistano dati per le regioni da visualizzare.

Tutto questo può essere sperimentato con un click sull'immagine (demo).



Mappa della Francia


Come potete vedere, ogni regione viene contraddistinta dal colore corrispondente alla ordine percentuale calcolati sulla sulla base dell'intervallo tra valore minimo e massimo.

Nella demo (click sull'immagine) potete verificare che:
  • i dati vengono forniti mediante documenti XML
  • i valori statistici di riferimento vengono riassunti in una finestrella (tooltip) che viene mostrata quando il mouse passa sopra ad ogni regione




Mappa della Gran Bretagna


La mappa UK è l'ultima inserita di default all'interno dell'oggetto Flash. In realtà puà essere aggiunto qualsiasi numero di mappe addizionali. Abbiamo limitato la scelta alle principali (europee) per mantenere al minimo la grandezza dell'oggetto Flash.

Attualmente gli shapefile (tipologia di mappe che possono essere importate) per ogni tipo di mappa può essere reperito con facilità, ed al livello di dettaglio desiderato.
La fonte che abbiamo utilizzato noi è questa.




Utilizzo e setup delle Chart


Queste Chart possono essere utilizzate con facilità in qualsiasi pagina web.
Le istruzioni sono esattamente le stesse giù fornite per i grafici commerciali e sono reperibili qui.