BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
Vivek44
Calcite | Level 5

Bonjour  à tous , 

je suis nouvelle. J'aimerai savoir comment transformer ma variable statut "pris_en_charge" sur un dossier  en plusieurs colonnes (statut1, statut2,....) afin d'observer toutes les personnes qui prennent en charge le dossier. 

Merci de m'aider 

 

1 ACCEPTED SOLUTION

Accepted Solutions
A_Kh
Lapis Lazuli | Level 10

Salut @Vivek44 , 

 

Ca serait mieux de presenter la capture d'ecran de ta table avec la structure expectee.

Si le but est just transposer la colonne  'statut' en plusieures colonnes , utilise PROC TRANSPOSE comme en exemple ci-dessous:

proc sort data=have;
	by nom matricule iddos statut;
run;

proc transpose data=have prefix=statut out=want (drop=_name_);
	by nom matricule;
	var statut;
	id iddos;
run; 
proc print; run; 

Ca te donne:

Capture.PNG 

 

 

View solution in original post

7 REPLIES 7
PaigeMiller
Diamond | Level 26

Please show us a portion of the data, and for this portion of the data, show us the desired output.

--
Paige Miller
Vivek44
Calcite | Level 5
Dans ma table j'ai
plusieurs colonnes :
iddos , statut , nom, matricule ...
2000 pris_en_charge Berlin 000777
2000 pris_en_charge Martin 000880 2000 pris_en_charge Louise 000666
5000 pris_en_charge Berlin 000777
5000 pris_en_charge Marc 000555 ....
le soucis un dossier peut avoir le statut "pris en charge" plusieurs fois sur des jours différents donc je ne peux pas utiliser la procédure if first/last iddos .
Je veux donc diviser la colonne statut autant de fois le dosiier est pris en charge
Merci
PaigeMiller
Diamond | Level 26

You did not show us the desired output from this data. Please show us. Also, we need a good description of the logic you are using to create this desired output.

--
Paige Miller
ballardw
Super User

Does this code represent your data set example:

data have;
   input iddos $ statut :$15. nom $ matricule $;
datalines;
2000 pris_en_charge Berlin 000777
2000 pris_en_charge Martin 000880 
2000 pris_en_charge Louise 000666
5000 pris_en_charge Berlin 000777
5000 pris_en_charge Marc 000555 
;
A_Kh
Lapis Lazuli | Level 10

Salut @Vivek44 , 

 

Ca serait mieux de presenter la capture d'ecran de ta table avec la structure expectee.

Si le but est just transposer la colonne  'statut' en plusieures colonnes , utilise PROC TRANSPOSE comme en exemple ci-dessous:

proc sort data=have;
	by nom matricule iddos statut;
run;

proc transpose data=have prefix=statut out=want (drop=_name_);
	by nom matricule;
	var statut;
	id iddos;
run; 
proc print; run; 

Ca te donne:

Capture.PNG 

 

 

Vivek44
Calcite | Level 5

Merci, je vais essayer sinon on m'avait parlé d'une boucle 

Vivek44
Calcite | Level 5

MERCIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

 

SAS INNOVATE 2024

Innovate_SAS_Blue.png

Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Get the $99 certification deal.jpg

 

 

Back in the Classroom!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 7 replies
  • 474 views
  • 1 like
  • 4 in conversation