Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/09/2007, 17h33   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2004
Messages : 33
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 33
Points : 13
Points : 13
Par défaut Convertir lignes en colonnes

Bonjour, j'ai besoin de transformer les lignes sortants d'une requête en "colonnes", plus précisément :

Code :
1
2
3
4
5
SELECT ID_PERSONNE, COUNT(appels) FROM affaires GROUP BY macle;
 
SELECT NOM_GROUPE, SUM(appels) FROM groupes, affaires WHERE
groupes.ID_PERSONNE = affaires.ID_PERSONNE
GROUP BY NOM_GROUPE;
En gros je compte le nb d'appels de la table affaires, puis je les cumules pour les avoir par groupe

Mon dilem c'est que je veux ce résultat par ligne et non par colonne :
Code :
1
2
GROUPE1 | GROUPE2 | GROUPE3
25      |42       |9
alors que j'ai :
Code :
1
2
3
4
NOM_GROUPE | appels
GROUPE1    |25
GROUPE2    |42
GROUPE3    |9
C'est pour pouvoir les ajouter chaque jour (en rajoutant la date ...)

j'espere etre clair sinon je m'expliquerais mieux ...
Merci
Euseibus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 09h02   #2
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 807
Points : 4 807
Je ne vais pas vraiment répondre à ta question .....
Avec un INSERT INTO et un peu de macro tu ne pourrais pas faire la même chose?
La marco te servant alors à récupérer les valeurs souhaitées et l'INSERT INTO t'ajoutant ces enregistrement dans ta table:
date|groupe1|groupe2|.....
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2007, 16h01   #3
Modératrice
 
Femme
Inscription : juillet 2005
Messages : 5 799
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : juillet 2005
Messages : 5 799
Points : 6 162
Points : 6 162
Tu peux utiliser la proc transpose :
Code :
1
2
3
4
proc transpose DATA=TAB01 out=TAB02 ;
	var APPELS ;
	id NOM_GROUPE ;
run ;
__________________
Modératrice Java - Struts, Servlets/JSP, ...
c_nvy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 10h48   #4
Candidat au titre de Membre du Club
 
Inscription : mars 2004
Messages : 33
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 33
Points : 13
Points : 13
SUPER ! la proc transpose est la solution qu'il me fallait !
Merci !!!
Euseibus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h05.


 
 
 
 
Partenaires

Hébergement Web