BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
unifly
Fluorite | Level 6

Hi everyone,

I have a txt like that :

Acheteur principal	Alerte à traiter	Bonne cotation groupe	Cotation Groupe	Date début alerte	Date de calcul de l’alerte	Encours acheteur	Encours affacturage absolu significatif
101997					04/12/2020	9169,95	0
103156	0	1	C-	16/11/2020	04/12/2020	814,39	0
103650	0	0	E-	02/11/2020	04/12/2020	25619	1
103685	0	0	E+	28/09/2020	04/12/2020	1411,24	0
108902	0	1	C+	19/10/2020	04/12/2020	795,6	0
115079	0	0	E-	28/09/2020	04/12/2020	1760,28	0
117008	0	0	E-	28/09/2020	04/12/2020	3944,74	0
118580	0	1	C+	28/09/2020	04/12/2020	167,64	0
121216					04/12/2020	17781,98	0
128649					04/12/2020	1841,13	0
136913	0	1	C-	23/11/2020	04/12/2020	774,97	0
138842					04/12/2020	4230,69	0
158975	0	0	E-	28/09/2020	04/12/2020	1518,87	0
159013	0	0	E-	28/09/2020	04/12/2020	12984,9	0

I would like to know how can I open it in my SAS code ? Especially around the infile part ?

DATA BO_RECETTE;
    LENGTH
        'Acheteur principal'n   8
        'Alerte à traiter'n   8
        'Bonne cotation groupe'n   8
        'Cotation Groupe'n $ 2
        'Date début alerte'n   8
        'Date de calcul de l’alerte'n   8
        'Encours acheteur'n   8
        'Encours affacturage absolu signi'n   8;
       
    FORMAT
        'Acheteur principal'n BEST12.
        'Alerte à traiter'n BEST12.
        'Bonne cotation groupe'n BEST12.
        'Cotation Groupe'n $CHAR2.
        'Date début alerte'n DATE9.
        'Date de calcul de l’alerte'n DATE9.
        'Encours acheteur'n BEST12.
        'Encours affacturage absolu signi'n BEST12.;
       
    INFORMAT
        'Acheteur principal'n BEST12.
        'Alerte à traiter'n BEST12.
        'Bonne cotation groupe'n BEST12.
        'Cotation Groupe'n $CHAR2.
        'Date début alerte'n DATE9.
        'Date de calcul de l’alerte'n DATE9.
        'Encours acheteur'n BEST12.
        'Encours affacturage absolu signi'n BEST12.;
   INFILE 'C:\Users\...\BO_recette.txt'
       /* I don't know what I should put */

    INPUT
        'Acheteur principal'n : BEST32.
        'Alerte à traiter'n : BEST32.
        'Bonne cotation groupe'n : BEST32.
        'Cotation Groupe'n : $CHAR2.
        'Date début alerte'n : BEST32.
        'Date de calcul de l’alerte'n : BEST32.
        'Encours acheteur'n : BEST32.
        'Encours affacturage absolu signi'n : BEST32.;
RUN

thanks for your help

1 ACCEPTED SOLUTION

Accepted Solutions
Kurt_Bremser
Super User

Code example:

data bo_recette;
infile '/folders/myfolders/unifly.txt' dlm='09'x dsd truncover;
length
  Acheteur_principal   8
  Alerte_a_traiter   8
  Bonne_cotation_groupe   8
  Cotation_Groupe $ 2
  Date_debut_alerte   8
  Date_de_calcul_de_l_alerte   8
  Encours_acheteur   8
  Encours_affacturage_absolu_signi  8
;
label
  Acheteur_principal='Acheteur principal'
  Alerte_a_traiter='Alerte à traiter'
  Bonne_cotation_groupe='Bonne cotation groupe'
  Cotation_Groupe='Cotation Groupe'
  Date_debut_alerte='Date début alerte'
  Date_de_calcul_de_l_alerte='Date de calcul de l’alerte'
  Encours_acheteur='Encours acheteur'
  Encours_affacturage_absolu_signi='Encours affacturage absolu signi'
;
format
  Date_debut_alerte
  Date_de_calcul_de_l_alerte yymmdd10.
;
input
  Acheteur_principal
  Alerte_a_traiter
  Bonne_cotation_groupe
  Cotation_Groupe
  Date_debut_alerte :ddmmyy10.
  Date_de_calcul_de_l_alerte :ddmmyy10.
  Encours_acheteur :commax10.
  Encours_affacturage_absolu_signi
;
run;

View solution in original post

4 REPLIES 4
Kurt_Bremser
Super User

The file is tab-separated, so this should do it:

infile 'C:\Users\...\BO_recette.txt' dlm='09'x dsd truncover;

DSD is necessary to recognize two successive tabs as a missing value.

Kurt_Bremser
Super User

Code example:

data bo_recette;
infile '/folders/myfolders/unifly.txt' dlm='09'x dsd truncover;
length
  Acheteur_principal   8
  Alerte_a_traiter   8
  Bonne_cotation_groupe   8
  Cotation_Groupe $ 2
  Date_debut_alerte   8
  Date_de_calcul_de_l_alerte   8
  Encours_acheteur   8
  Encours_affacturage_absolu_signi  8
;
label
  Acheteur_principal='Acheteur principal'
  Alerte_a_traiter='Alerte à traiter'
  Bonne_cotation_groupe='Bonne cotation groupe'
  Cotation_Groupe='Cotation Groupe'
  Date_debut_alerte='Date début alerte'
  Date_de_calcul_de_l_alerte='Date de calcul de l’alerte'
  Encours_acheteur='Encours acheteur'
  Encours_affacturage_absolu_signi='Encours affacturage absolu signi'
;
format
  Date_debut_alerte
  Date_de_calcul_de_l_alerte yymmdd10.
;
input
  Acheteur_principal
  Alerte_a_traiter
  Bonne_cotation_groupe
  Cotation_Groupe
  Date_debut_alerte :ddmmyy10.
  Date_de_calcul_de_l_alerte :ddmmyy10.
  Encours_acheteur :commax10.
  Encours_affacturage_absolu_signi
;
run;
unifly
Fluorite | Level 6

thank you !

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1015 views
  • 5 likes
  • 2 in conversation