Diferència entre revisions de la pàgina «Processar les dades: Full de càlcul i gràfiques»
m (→Introducció) |
|||
| (Hi ha 7 revisions intermèdies del mateix usuari que no es mostren) | |||
| Línia 1: | Línia 1: | ||
=Introducció= | =Introducció= | ||
| + | Heu vist els ''GROUP BY'', i ara ho utilitzarem per generar les dades, processar les dades, i visualitzar-les en forma de gràfica. | ||
=Desenvolupament= | =Desenvolupament= | ||
[[Fitxer:Grafiques municipis.png | thumbnail]] | [[Fitxer:Grafiques municipis.png | thumbnail]] | ||
| + | ==Consulta 1: número de municipis per província== | ||
| + | Per tal d'obtenir una llista de valors separats per ''punt i coma'' (;), ho podem fer de dues maneres: | ||
| + | '''opció 1''': obrir el mysql amb l'opció ''silent'' (-s), i d'aquesta manera no apareixen les línies de separació dels camps: | ||
| + | <pre> | ||
| + | $ mysql -h localhost -u alumne -pkeiL2lai -s municipis | ||
| + | </pre> | ||
| + | I aleshores podem utilitzar la funció '''concat()''' per concatenar els camps que interessen, intercal·lats amb punt i coma. | ||
| + | <pre> | ||
| + | select concat(provincia,';',count(municipi)) | ||
| + | from municipis m | ||
| + | inner join provincies p on m.id_prov=p.id_prov | ||
| + | group by provincia; | ||
| + | |||
| + | Álava;51 | ||
| + | Albacete;87 | ||
| + | Alacant;141 | ||
| + | Almería;103 | ||
| + | ... | ||
| + | </pre> | ||
| + | '''opció 2''': si utilitzes el Mysql Workbench és molt fàcil. Quan fas una consulta, la pots exportar a diferents formats, entre ells evidentment trobaràs el CSV. | ||
| + | |||
| + | Un cop tens les dades netes, les pots copiar al teu full de càlcul, i aleshores pots inserir un Diagrama. | ||
| + | |||
| + | Per a la consulta 1 i 2 utilitzaràs diagrames de barres; per a les consultes 3 i 4 utilitzaràs diagrames de línies. | ||
| + | |||
| + | Has d'aconseguir una visualització similar a la que es veu a la imatge. | ||
| + | ==Consulta 2: número de municipis per comunitat== | ||
| + | <pre> | ||
| + | select concat(comunitat,';',count(municipi)) | ||
| + | from municipis m | ||
| + | inner join provincies p on m.id_prov=p.id_prov | ||
| + | INNER JOIN comunitats c on p.id_com=c.id_com | ||
| + | group by c.id_com, comunitat; | ||
| + | </pre> | ||
| + | |||
| + | ==Consulta 3: número de municipis per un rang de superfície== | ||
| + | Podem mirar quina és la superfície mínima i màxima que tenim: | ||
| + | <pre> | ||
| + | select min(superficie),max(superficie) from municipis; | ||
| + | 0 1750 | ||
| + | </pre> | ||
| + | Si volem 50 columnes, farem: rang = (1750-0)/50 = 35 Km^2 | ||
| + | |||
| + | El problema és que estan repartides d'una manera molt desigual. Representarem aquestes franges des de municipis de 0-34Km2 fins a la franja 685-720 Km^2, i ho farem de la següent manera, utilitzant ''UNION ALL'': | ||
| + | <pre> | ||
| + | select concat('sup 0-34',';',count(*)) from municipis where superficie between 0 and 34 | ||
| + | union all | ||
| + | select concat('sup 35-69',';',count(*)) num from municipis where superficie between 35 and 69 | ||
| + | union all | ||
| + | select concat('sup 70-104',';',count(*)) num from municipis where superficie between 70 and 104 | ||
| + | ... | ||
| + | </pre> | ||
| + | <pre> | ||
| + | sup 0-34;3652 | ||
| + | sup 35-69;1924 | ||
| + | sup 70-104;747 | ||
| + | </pre> | ||
| + | |||
| + | ==Consulta 4: número de municipis per un rang de número d'habitants== | ||
| + | <pre> | ||
| + | select min(habitants),max(habitants) from municipis; | ||
| + | 3 3334730 | ||
| + | </pre> | ||
| + | Igual que abans, les franges estan molt mal repartides, i la majoria de municipis tenen pocs habitants. Farem franges de 100 en 100 fins a 2000 habitants: | ||
| + | <pre> | ||
| + | select concat('0-100',';',count(*)) from municipis where habitants between 0 and 100 | ||
| + | union all | ||
| + | select concat('100-200',';',count(*)) from municipis where habitants between 100 and 200 | ||
| + | union all | ||
| + | select concat('200-300',';',count(*)) from municipis where habitants between 200 and 300 | ||
| + | ... | ||
| + | </pre> | ||
=Tasques a realitzar= | =Tasques a realitzar= | ||
| + | Per cadascun dels 4 exercicis: | ||
| + | |||
| + | 1. executa la consulta | ||
| + | |||
| + | 2. Apunta les dades | ||
| + | |||
| + | 3. Exporta les dades a l'Excel/Calc | ||
| + | |||
| + | 4. Genera el gràfic, juga amb els paràmetres | ||
| + | |||
| + | 5. Fes les captures de pantalla i explicacions que consideris oportunes | ||
=Entrega= | =Entrega= | ||
| + | Entregaràs al Classroom, dins del termini, un pdf amb les captures de pantalla i les explicacions oportunes. Has d'explicar amb les teves paraules el procés que has seguit. | ||
| + | |||
{{Autor}}, febrer 2022 | {{Autor}}, febrer 2022 | ||
Revisió de 00:07, 21 feb 2022
Contingut
Introducció
Heu vist els GROUP BY, i ara ho utilitzarem per generar les dades, processar les dades, i visualitzar-les en forma de gràfica.
Desenvolupament
Consulta 1: número de municipis per província
Per tal d'obtenir una llista de valors separats per punt i coma (;), ho podem fer de dues maneres:
opció 1: obrir el mysql amb l'opció silent (-s), i d'aquesta manera no apareixen les línies de separació dels camps:
$ mysql -h localhost -u alumne -pkeiL2lai -s municipis
I aleshores podem utilitzar la funció concat() per concatenar els camps que interessen, intercal·lats amb punt i coma.
select concat(provincia,';',count(municipi)) from municipis m inner join provincies p on m.id_prov=p.id_prov group by provincia; Álava;51 Albacete;87 Alacant;141 Almería;103 ...
opció 2: si utilitzes el Mysql Workbench és molt fàcil. Quan fas una consulta, la pots exportar a diferents formats, entre ells evidentment trobaràs el CSV.
Un cop tens les dades netes, les pots copiar al teu full de càlcul, i aleshores pots inserir un Diagrama.
Per a la consulta 1 i 2 utilitzaràs diagrames de barres; per a les consultes 3 i 4 utilitzaràs diagrames de línies.
Has d'aconseguir una visualització similar a la que es veu a la imatge.
Consulta 2: número de municipis per comunitat
select concat(comunitat,';',count(municipi)) from municipis m inner join provincies p on m.id_prov=p.id_prov INNER JOIN comunitats c on p.id_com=c.id_com group by c.id_com, comunitat;
Consulta 3: número de municipis per un rang de superfície
Podem mirar quina és la superfície mínima i màxima que tenim:
select min(superficie),max(superficie) from municipis; 0 1750
Si volem 50 columnes, farem: rang = (1750-0)/50 = 35 Km^2
El problema és que estan repartides d'una manera molt desigual. Representarem aquestes franges des de municipis de 0-34Km2 fins a la franja 685-720 Km^2, i ho farem de la següent manera, utilitzant UNION ALL:
select concat('sup 0-34',';',count(*)) from municipis where superficie between 0 and 34
union all
select concat('sup 35-69',';',count(*)) num from municipis where superficie between 35 and 69
union all
select concat('sup 70-104',';',count(*)) num from municipis where superficie between 70 and 104
...
sup 0-34;3652 sup 35-69;1924 sup 70-104;747
Consulta 4: número de municipis per un rang de número d'habitants
select min(habitants),max(habitants) from municipis; 3 3334730
Igual que abans, les franges estan molt mal repartides, i la majoria de municipis tenen pocs habitants. Farem franges de 100 en 100 fins a 2000 habitants:
select concat('0-100',';',count(*)) from municipis where habitants between 0 and 100
union all
select concat('100-200',';',count(*)) from municipis where habitants between 100 and 200
union all
select concat('200-300',';',count(*)) from municipis where habitants between 200 and 300
...
Tasques a realitzar
Per cadascun dels 4 exercicis:
1. executa la consulta
2. Apunta les dades
3. Exporta les dades a l'Excel/Calc
4. Genera el gràfic, juga amb els paràmetres
5. Fes les captures de pantalla i explicacions que consideris oportunes
Entrega
Entregaràs al Classroom, dins del termini, un pdf amb les captures de pantalla i les explicacions oportunes. Has d'explicar amb les teves paraules el procés que has seguit.
creat per Joan Quintana Compte, febrer 2022