apparier les informations dans 2 tableaux de taille différente

classic Classic list List threaded Threaded
8 messages Options
ftr ftr
Reply | Threaded
Open this post in threaded view
|

apparier les informations dans 2 tableaux de taille différente

J'ai un tableau composé de 2700 lignes et de 14 colonnes. Dans les lignes, il y a 170 pays du monde avec un nombre variable d'années (ici : années avec une élection législative) , dans les colonnes les caractéristiques des pays et dans la première colonne le nom du pays.

Je cherche une manière simple de rajouter le code ISO 3166-1 du pays pour les 44 pays européens (feuille liste codes iso)  afin de concaténer ultérieurement les informations dans le tableau avec celles dans d'autres tableaux pour les mêmes pays.

Si j’exécute cette manipulation de manière manuelle il  faut copier 2700 fois ces codes. Techniquement il s'agit ici du traitement d'une base de données, mais je ne maîtrise pas ce composant de LO.

Je m'imagine qu'il faut créer une liste des noms des pays avec leur code ce que j'ai fait (feuille Liste Codes Iso).
Mais comment les apparier avec la première feuille avec les 2700 lignes ??

Si vous pouvez m'indiquer où chercher je serais bien reconnaissant.

Merci par avance
ftr

La feuille d'origine: data
La feulile à apparier: liste codes iso

IDEA_VoterTurnout.ods
ribotb ribotb
Reply | Threaded
Open this post in threaded view
|

Re: apparier les informations dans 2 tableaux de taille différente

Bonjour,

Le 01/07/2015 19:09, ftr a écrit :

> J'ai un tableau composé de 2700 lignes et de 14 colonnes. Dans les lignes, il
> y a 170 pays du monde avec un nombre variable d'années (ici : années avec
> une élection législative) , dans les colonnes les caractéristiques des pays
> et dans la première colonne le nom du pays.
>
> Je cherche une manière simple de rajouter le code ISO 3166-1 du pays pour
> les 44 pays européens (feuille liste codes iso)  afin de concaténer
> ultérieurement les informations dans le tableau avec celles dans d'autres
> tableaux pour les mêmes pays.
>
> Si j’exécute cette manipulation de manière manuelle il  faut copier 2700
> fois ces codes. Techniquement il s'agit ici du traitement d'une base de
> données, mais je ne maîtrise pas ce composant de LO.
>
> Je m'imagine qu'il faut créer une liste des noms des pays avec leur code ce
> que j'ai fait (feuille Liste Codes Iso).
> Mais comment les apparier avec la première feuille avec les 2700 lignes ??
>
> Si vous pouvez m'indiquer où chercher je serais bien reconnaissant.
>
> Merci par avance
> ftr
>
> La feuille d'origine: data
> La feulile à apparier: liste codes iso
>
> IDEA_VoterTurnout.ods
> <http://nabble.documentfoundation.org/file/n4153322/IDEA_VoterTurnout.ods>
>
>
>
> --
> View this message in context: http://nabble.documentfoundation.org/apparier-les-informations-dans-2-tableaux-de-taille-differente-tp4153322.html
> Sent from the Users mailing list archive at Nabble.com.
>
Comme je ne suis pas très doué avec Calc :-) , personnellement je ferai
ça en passant par une base de données :
1) dans le module Base, création dune base hsqlb
2) copie de la feuille data dans "Tables" pour créer la table data,
3) copie dans "Tables" de la feuille des codes pour créer la table codes,
4) écrire et exécuter une jointure sur les deux tables : SELECT * FROM
"data", "codes" WHERE "data"."country" = "codes"."country"
5) copie du résultat de la requête dans une feuille.

Je suis en train de le faire :-)

Bernard

--

Bernard Ribot
LibreOffice 4.4.4.3 / Windows 7 x86


--
Envoyez un mail à [hidden email] pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
LC_Libre LC_Libre
Reply | Threaded
Open this post in threaded view
|

Re: [fr-users] apparier les informations dans 2 tableaux de taille différente

In reply to this post by ftr
Le 01/07/15 19:09, ftr écrivait  :

> J'ai un tableau composé de 2700 lignes et de 14 colonnes. Dans les lignes, il
> y a 170 pays du monde avec un nombre variable d'années (ici : années avec
> une élection législative) , dans les colonnes les caractéristiques des pays
> et dans la première colonne le nom du pays.
>
> Je cherche une manière simple de rajouter le code ISO 3166-1 du pays pour
> les 44 pays européens (feuille liste codes iso)  afin de concaténer
> ultérieurement les informations dans le tableau avec celles dans d'autres
> tableaux pour les mêmes pays.
>
> Si j’exécute cette manipulation de manière manuelle il  faut copier 2700
> fois ces codes. Techniquement il s'agit ici du traitement d'une base de
> données, mais je ne maîtrise pas ce composant de LO.
>
> Je m'imagine qu'il faut créer une liste des noms des pays avec leur code ce
> que j'ai fait (feuille Liste Codes Iso).
> Mais comment les apparier avec la première feuille avec les 2700 lignes ??
>
> Si vous pouvez m'indiquer où chercher je serais bien reconnaissant.
>
> Merci par avance
> ftr
>
> La feuille d'origine: data
> La feulile à apparier: liste codes iso
>
> IDEA_VoterTurnout.ods
> <http://nabble.documentfoundation.org/file/n4153322/IDEA_VoterTurnout.ods>
>
>
>
>
Bonsoir,

j'ai procédé avec les seules fonctions de Calc.

La feuille [data] a été enrichie :
- d'une colonne Continent en A, où j'ai reporté le nom Europe
- d'une table de correspondance Pays/code ISO, nommée EURcodtable
- d'une colonne "CountryCode" en P

Dans celle-ci, la formule
=SI(A2="Europe";INDEX(EURcodtable;EQUIV(B2;$S$2:$S$45;0);1);"")
ramène le code ISO pour les seuls pays d'Europe,
insère une valeur vide pour les autres.

S'il y a besoin d'intégrer les autres continents, l'adaptation est simple
=SI(A2<>"";INDEX(EURcodtable;EQUIV(B2;$S$2:$S$45;0);1);"")
chaque fois qu'un nom de continent sera présent, on obtiendra le code ISO

Remarques
La table de correspondance EURcodtable peut très bien se trouver dans sa
propre feuille.
La formule EQUIV ne semble pas accepter les noms de zone ; il m'a fallu
mettre les références de cellule. C'est moins lisible et moins ergonomique.

C_Lucien
--
Infos techniques : Mac OS 10.6.8, RAM 8 Gio, LibreOffice 4.3.7.2

--
Envoyez un mail à [hidden email] pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
ribotb ribotb
Reply | Threaded
Open this post in threaded view
|

Re: apparier les informations dans 2 tableaux de taille différente

In reply to this post by ribotb
Le 01/07/2015 19:53, Bernard Ribot a écrit :

> Bonjour,
>
> Le 01/07/2015 19:09, ftr a écrit :
>> J'ai un tableau composé de 2700 lignes et de 14 colonnes. Dans les
>> lignes, il
>> y a 170 pays du monde avec un nombre variable d'années (ici : années
>> avec
>> une élection législative) , dans les colonnes les caractéristiques
>> des pays
>> et dans la première colonne le nom du pays.
>>
>> Je cherche une manière simple de rajouter le code ISO 3166-1 du pays
>> pour
>> les 44 pays européens (feuille liste codes iso)  afin de concaténer
>> ultérieurement les informations dans le tableau avec celles dans
>> d'autres
>> tableaux pour les mêmes pays.
>>
>> Si j’exécute cette manipulation de manière manuelle il  faut copier 2700
>> fois ces codes. Techniquement il s'agit ici du traitement d'une base de
>> données, mais je ne maîtrise pas ce composant de LO.
>>
>> Je m'imagine qu'il faut créer une liste des noms des pays avec leur
>> code ce
>> que j'ai fait (feuille Liste Codes Iso).
>> Mais comment les apparier avec la première feuille avec les 2700
>> lignes ??
>>
>> Si vous pouvez m'indiquer où chercher je serais bien reconnaissant.
>>
>> Merci par avance
>> ftr
>>
>> La feuille d'origine: data
>> La feulile à apparier: liste codes iso
>>
>> IDEA_VoterTurnout.ods
>> <http://nabble.documentfoundation.org/file/n4153322/IDEA_VoterTurnout.ods>
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://nabble.documentfoundation.org/apparier-les-informations-dans-2-tableaux-de-taille-differente-tp4153322.html
>> Sent from the Users mailing list archive at Nabble.com.
>>
> Comme je ne suis pas très doué avec Calc :-) , personnellement je
> ferai ça en passant par une base de données :
> 1) dans le module Base, création dune base hsqlb
> 2) copie de la feuille data dans "Tables" pour créer la table data,
> 3) copie dans "Tables" de la feuille des codes pour créer la table codes,
> 4) écrire et exécuter une jointure sur les deux tables : SELECT * FROM
> "data", "codes" WHERE "data"."country" = "codes"."country"
> 5) copie du résultat de la requête dans une feuille.
>
> Je suis en train de le faire :-)
>
> Bernard
>
Bon, j'ai vu que c'était fait en Calc pur et dur :-) mais tant pis,
j'envoie ma bidouille avec Base :-)

La base intermédiaire avec jointure externe  [1]  : dbcountry.odb
<http://www.cjoint.com/c/EGbsFxbcFDh>
Le classeur avec le résultat de la jointure (feuille 5) :
IDEA_VoterTurnout.ods <http://www.cjoint.com/c/EGbsG4PvR1h>

C'est du vite fait, j'espère que ça va aller...

Bernard

[1]  SELECT * FROM "data" LEFT OUTER JOIN "codes" ON "data"."country" =
"codes"."country"
--

Bernard Ribot
LibreOffice 4.4.4.3 / Windows 7 x86


--
Envoyez un mail à [hidden email] pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
catof catof
Reply | Threaded
Open this post in threaded view
|

Re: [fr-users] apparier les informations dans 2 tableaux de taille différente

In reply to this post by LC_Libre
LC_Libre
Serait il possible, par curiosité et culture personnelle, d'avoir accès au classeur ?
d'avance un grand merci
LC_Libre LC_Libre
Reply | Threaded
Open this post in threaded view
|

Re: [fr-users] apparier les informations dans 2 tableaux de taille différente

Le 01/07/15 20:51, catof écrivait  :
> LC_Libre
> Serait il possible, par curiosité et culture personnelle, d'avoir accès au
> classeur ?
> d'avance un grand merci
>
>
>
Bonsoir,

bien volontiers
http://www.cjoint.com/c/EGbtVc8BEXz

NB : j'ai dû compléter la liste initiale des codes ISO de pays, les
manquants se manifestant par la valeur #N/D!

C_Lucien

--
Envoyez un mail à [hidden email] pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
catof catof
Reply | Threaded
Open this post in threaded view
|

Re: [fr-users] apparier les informations dans 2 tableaux de taille différente

merci beaucoup
ftr ftr
Reply | Threaded
Open this post in threaded view
|

Re: [fr-users] apparier les informations dans 2 tableaux de taille différente

In reply to this post by LC_Libre
Merci bien pour les tuyaux, je vais bien les essayer parce que le
problème arrive régulièrement.
-ftr

On 01/07/2015 21:48, LC_Libre wrote:

> Le 01/07/15 20:51, catof écrivait  :
>> LC_Libre
>> Serait il possible, par curiosité et culture personnelle, d'avoir
>> accès au
>> classeur ?
>> d'avance un grand merci
>>
>>
>>
> Bonsoir,
>
> bien volontiers
> http://www.cjoint.com/c/EGbtVc8BEXz
>
> NB : j'ai dû compléter la liste initiale des codes ISO de pays, les
> manquants se manifestant par la valeur #N/D!
>
> C_Lucien
>


--
Envoyez un mail à [hidden email] pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés