Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

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


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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

crab82 a écrit:

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,


Jean-François Behm
SERVICES GEOGRAPHIQUES
Centres de formation SIG - http://servicesgeographiques.com

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

 

Pied de page des forums

Powered by FluxBB