#1 Fri 17 December 2010 14:42
- crab82
- Juste Inscrit !
- Date d'inscription: 17 Dec 2010
- Messages: 3
somme de population dans une nouvelle colonne
Bonjour à tous,
tout d abord je travaille sous MI7,
je suis débutant,
et voici ce que je voudrais faire avec ce que j'ai:
j'ai 3 colonnes COMPLETEES dans ma table de données
-communauté de communes
-commune (chaque commune (nb>100) fait partie d'une communauté de commune(nb=6))
-population par commune
la 4 ème est une colonne vide (type Float) que je crée spécialement pour y afficher ce que je cherche à savoir:
la population par communauté communes
je veux savoir s'il est possible de demander à MI de m'afficher dans cette quatrième colonne la somme des populations par comcom
Si ce que je vous demande n'est pas clair voir la pièce jointe (doc excel)
Merci d'avance
Pour info : ce que j'arrive pour l'instant à faire c'est une table Query avec par exemple mes données pour une comcom, je fais un Sel SQL avec colone : Sum(Population) et Table : "ma table",
MI me sort mon chiffre je voudrais que cela me le fasse directement dans ma table d'origine et toutes les comcom en même temps.
Hors ligne
#2 Sat 18 December 2010 12:12
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: somme de population dans une nouvelle colonne
Salut et bienvenue,
Voici une soluce possible:
Faire des sélections succéssives puis incrémenter le champs ColonneResultat pour toutes ces sélections.
Ces sélections succéssives peuvent être faites automatiquement via un petit utilitaire que je mets en pièce jointe
(c'est une version que j'ai portabilisée)
Voici le lien initial --> http://rictrem.com/ScriptgenQuoi.aspx
Cet utilitaire va te générer toutes les requètes dont tu vas avoir besoin pour traiter ta table.
A l'ouverture de l'utilitaire --> Aller dans Outils --> Options --> Décocher "utiliser des lignes de séparation"
Cocher "utiliser une liste"
Remplir "Valeurs à remplacer" avec --> XXXX
Dans l'onglet "Script de base" Copier/coller aprés modif pour tes critères:
Code:
Select * from TaTable where ChampsNomdeComCom like XXXX into SelectionXXXX Update SelectionXXXX Set ChampsColonneResultat = sum (Champspopulation)
Dans l'onglet "Liste de valeurs" Mettre les différentes valeurs de tes ComCOm:
ComComA
ComComB
ComComC
etc....
Si tu as beaucoup de ComCom --> "Select ChamsNomDesComCom from TaTable into SelectionComCom" puis tu exportes cette
selection en .txt --> tu récupéreras ainsi la liste à copier/coller dans "liste des valeurs"
Tu n'auras plus qu'à générer le script final et donc de récupérer toutes tes requètes:
Code:
Select * from TaTable where ChampsNomdeComCom like ComComA into SelectionComComA Update SelectionComComA Set ChampsColonneResultat = sum (Champspopulation) Select * from TaTable where ChampsNomdeComCom like ComComB into SelectionComComB Update SelectionComComB Set ChampsColonneResultat = sum (Champspopulation) Select * from TaTable where ChampsNomdeComCom like ComComC into SelectionComComC Update SelectionComComC Set ChampsColonneResultat = sum (Champspopulation)
Il te suffira de copier l'ensemble des requètes et de les copier dans la FMB (Fenêtre MapBasic --> Options
--> Voir Fenêtre Mapbasic.
Attention il te faut sélectionner l'intégralité de toutes les requètes dans la FMB avant d'"éxécuter"
sinon la FMB n'éxécute que la dernière requète.
En espèrant avoir été clair
PS:Si ce n'est pas le cas faire une recherche sur le forum avec comme mot clef "scriptgen" ou "générateur de scripts"
j'ai posté pas mal de chose sur l'utilisation de cet utilitaire.
Voilà un lien pour récupérer le scriptgen en portable car je n'ai pas pu le mettre en pièce jointe (trop volumineux)
--> http://www.forumsig.org/showthread.php? … =scriptgen
A+
Joël
Dernière modification par Spacejo (Sun 19 December 2010 19:05)
Hors ligne
#3 Mon 20 December 2010 09:40
- jean-francois Behm
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 5 Sep 2005
- Messages: 212
- Site web
Re: somme de population dans une nouvelle colonne
Bonjour à tous,
la 4 ème est une colonne vide (type Float) que je crée spécialement pour y afficher ce que je cherche à savoir:
la population par communauté communes
je veux savoir s'il est possible de demander à MI de m'afficher dans cette quatrième colonne la somme des populations par comcom
Si ce que je vous demande n'est pas clair voir la pièce jointe (doc excel)
Merci d'avance
Pour info : ce que j'arrive pour l'instant à faire c'est une table Query avec par exemple mes données pour une comcom, je fais un Sel SQL avec colonne : Sum(Population) et Table : "ma table",
MI me sort mon chiffre je voudrais que cela me le fasse directement dans ma table d'origine et toutes les comcom en même temps.
Bonjour,
en faisant un groupe par comcom dans votre sélection SQL, vous pouvez ensuite mettre à jour la table (menu table/mettre à jour colonne et jointure sur l'id_comcom) avec cette sélection :
Code:
SELECT id_comcom, sum(Population) FROM matable GROUP BY id_comcom
Bon courage,
Hors ligne
#4 Mon 20 December 2010 10:31
- crab82
- Juste Inscrit !
- Date d'inscription: 17 Dec 2010
- Messages: 3
Re: somme de population dans une nouvelle colonne
Merci pour vos réponses
j'essaie de mettre tout ça en pratique dés mercredi
et je vous donne des news
A+
Hors ligne
#5 Mon 20 December 2010 12:07
- michelbgy
- Participant actif
- Date d'inscription: 9 Feb 2010
- Messages: 77
Re: somme de population dans une nouvelle colonne
bonjour,
le groupe par comcom est effectivement la solution la plus simple
Si les données sont au départ dans Excel, celui ci peut aussi s'occuper de tout: la valeur recherchée en colonne E est donnée instantanément par la formule matricielle: '{=SOMME(SI(B3=$B$3:$B$999;$D$3:$D$999;))} à saisir en E3 et étendre
(999 c'est pour prévoir un bon nombre de lignes)
ouvrir avec Mapinfo et mettre à jour la table origine (jointure par commune)
ou bien faire des sous totaux par communauté, ouvrir avec Mapinfo et mettre à jour (jointure par communauté)
c'est l'équivalent sous excel de la solution de JF Behm
Hors ligne
#6 Tue 21 December 2010 14:06
- crab82
- Juste Inscrit !
- Date d'inscription: 17 Dec 2010
- Messages: 3
Re: somme de population dans une nouvelle colonne
Salut,
Merci a tous,
La solution de jean-francois Behm est celle qui me convient le plus puisqu'effectivement mes données sont déjà dans une table MI,
C'est exactement ce que je cherchais.
A+
Hors ligne