LesezeichenAbonnierenRSS-Feed abonnieren
Katrin1606
Fluorite | Level 6

Hallo zusammen,

 

ich habe drei numerische Spalten und möchte deren Inhalt in einer neuen Spalte hintereinander weg schreiben.

 

Bsp vorher:

 

Spalte 1 (3 stellig)  

900         

 

Spalte 2 (7 stellig)

1234567

 

Spalte 3 (2 stellig)

00

 

Nacher:

900123456700

 

Kann mir hier jemand helfen?

 

VG Katrin

3 ANTWORTEN 3
andreas_lds
Jade | Level 19

Soll die zusammengeführte Spalte numerisch oder alphanumerisch sein? Sind die Werte formatiert? Für den Wert "00" müsste die Variable mit z2. formatiert sein.

 

Das könnte funktionieren:

 

data have;
   a = 900; b= 1234567; c = 0;
run;

data want;
   set have;
   length komplett 8;
   
   komplett = c + b * 10 ** 2 + a * 10 **(2+7);
run;
BrunoMueller
SAS Super FREQ

Sind die drei spalten wirklich numerisch? Spalte 3 kann nicht den Wert 00 haben wenn sie numerisch ist.

 

 

Hier eine mögliche Lösung, es wird das Z. format verwendet um falls nötig führende "0" zu verwenden.

 

data sample;
  S1 = 900;
  s2 = 1234567;
  s3 = 0;
  want = "900123456700";
  want2 = cats( put(s1, z3.), put(s2, z7.), put(s3, z2.) );
run;

 

 

FK55
Fluorite | Level 6
Hallo Katrin,



das sollte über eine berechnete Spalte funktionieren: "Abfrage erstellen ==> "Berechnete Spalte" ==> Auswahl "Erweiterter Ausdruck", ==> "Spalte 1 || Spalte 2 || Spalte 3" miteinander verketten (analog &" in Excel). Die Doppelstriche sind in der Funktionszeile auswählbar.



Viele Grüße

Florian




SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

Diskussionsstatistiken
  • 3 Antworten
  • 2677 Aufrufe
  • 3 Kudos
  • 4 in Unterhaltung