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 !

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

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

View all other training opportunities.

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