Bonjour,
J'ai un ensemble de données "cohorte" qui contient une variable 'id_patient' de type alphanumérique $10., avec des identifiants de patients tels que C959D2D ou "6.09E+203".
Cependant, à l'origine, "6.09E+203" n'était pas en notation scientifique, mais plutôt sous forme de nombre mathématique normal.
Comment puis-je le modifier dans ma table tout en conservant les autres observations avec des lettres intactes ? Mon code est assez long, et ceci est ma table résultante. Je ne suis pas sûre à quel endroit le format a été modifié, donc la solution la plus simple serait de le changer à la fin. Cependant, je ne sais pas comment procéder, pouvez vous m'aider?
data cohorte;
input id_patient $;
datalines;
6.09E+203
1C50A210
;run;
Je crois que l'ID "6.09E+203" correspond à un ID original qui avait le malheur de ressembler à un nombre exprimé en notation scientifique et que Excel a automatiquement converti en nombre.
Mais puisque plusieurs IDs, tels que "609E201", "6086E200", "6092E200" ou "60905E199" par exemple, seront convertis dans le même ID "6.09E+203" par Excel, il est impossible de retrouver avec certitude l'ID original.
Il vous faudra donc, comme suggéré ci-haut, remonter à la source pour recouvrer les ID originaux.
Hi,
if there is really a SAS format applied on your patient-id then you can remove it at anytime in your dataset with "format id_patient;"
But if your variable is a text as in the example you provide, I see no possibility to display the real original value, using the scientific notation displayed.
You would have to look at your code and remove the format where it is applied.
Generally I consider it a very bad idea to use formats on ID variables.
- Cheers -
Most likely you read that value as a NUMBER instead of STRING at some point and wrote it back out using BEST format so the long digit string got converted into that string you showed.
Perhaps that was because of the use of some guessing tool, like EXCEL or PROC IMPORT, to read the original text.
Best is to go back to the step that read the value as if it was a number and replace it with a step that reads the value as text instead.
Je crois que l'ID "6.09E+203" correspond à un ID original qui avait le malheur de ressembler à un nombre exprimé en notation scientifique et que Excel a automatiquement converti en nombre.
Mais puisque plusieurs IDs, tels que "609E201", "6086E200", "6092E200" ou "60905E199" par exemple, seront convertis dans le même ID "6.09E+203" par Excel, il est impossible de retrouver avec certitude l'ID original.
Il vous faudra donc, comme suggéré ci-haut, remonter à la source pour recouvrer les ID originaux.
Yes. It was exactly that! No way to return on the real ID 😞 Thanks a lot !
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.