Excel sheet input / Zufallsgenerator/ Excel sheet output

Ähnliche Dokumente
Import von Text-Dateien. Einzelne Wörter einlesen.

Mehrere Datensätze zu einem Datensatz zusammenführen

Spalten aufsummieren?!

Einlesen von Textdateien mit sehr langen Zeilen

Auslesen von SAS Systeminformationen über die aktuelle Log- Ausgabe

zusammenfassen von Text variablenin einer Variable bei unterschiedlicher Variablenanzahl

Hallo Jessi, wenn ich das. DATA aufg3_b; vari='<.0001'; IF &wil_two_test. le vari THEN pwert=0.0001;

Ansprechen einer Anzahl von Variablen über einen Schleifendurchlauf

Dateneingabe und Transformation Übersicht

Alter berechnen mit Base SAS

rechtsbündige Leerzeichen mit einlesen im Datastep

SUBSTRING - wo liegt mein Fehler?

Anhang zur Frage Data statement und Proc Statement

Hilfe bei Programmierung mit SAS

Wie kann ich die Ausgabe als Excel speichern?

QMF Tabelle Q.OBJECT_DATA in DB2

Dateien trennen und zusammenfügen

Formatierung beim Einlesen

Umbenennung von Spaltennamen über Schleife(n)

Berechnung der Arbeitstage

ODS RTF Titel in Spalten linksbündig darstellen

Änderung der Ordnung der Variablen in den SAS Datensatz

Zeilen in SAS-Datensatz einfügen

IMPORT / EXPORT Access

Exportieren in excel sheets

Ermittlung der übereinstimmenden Variablen (-Namen) zweier Datasets

SAS BASE LOG Fragen. Antwort, Teil 1

Allman-Einrückungsstil versus 1TBS bei SAS-Base-Programmen

Fehlermeldung, wenn Anzahl der %do der %end entspricht - was läuft falsch?

Merge mit nicht eindeutigen by-variablen

Kreuztabelle als Data-Set so wie aus proc tabulate

Dynamisch Makros aufrufen

SAS Daten per Remote SUBMITE vom Großrechner selektieren,

Berechnung der Dauer eines SAS Makros?

PROC GCHART HBAR Zeilenumbruch in Achsenbeschriftung

Wie überprüfen, ob eine Datei existiert?

viele ähnliche Datensätze automatisch einlesen

SPDS-Problem - proc summary auf View mit by-variable - Sortierung wird verlangt

Zeit-Macro-Variablen, passend zu einem Tag

News Artikel Foren Projekte Links Über Redscope

Achsenbeschriftung um 90 drehen

spezielle Summen bilden und proc corr

Macro erzeugt Dateifilter

Import von XLS-Dateien aus einem Ordner in eine SAS-Datei

EG 4.2: Pfade zu verlinkten SAS-Files als relative Pfade speichern!?

NICHT TRIVIAL: MAKROVARIABLEN - GLOBAL ODER LOKAL

Failed to transcode data from U_UTF8_CE to U_LATIN9_CE?!

Performance von SAS Anwendungen optimieren!?

Langfassung des Beitrags für die 11. KSFE

C. Ortseifen: im- und Export von Excel 13. Mai 2005

Der SAS DataStep und die Prozedur SQL Cellent Finance Solutions GmbH Seite: 1

Zugriff aus Oracle via Proc SQL: Performanceprobleme

Ich möchte ein neues Kleid für meine Geburtstagsparty kaufen. Ich kann bis 25 Euro ausgeben. Kommst du mit? In einer Stunde vor dem Einkaufszentrum?

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Erstellen von Dateilisten - Erfasssen von Dateiattributen

Thema: Wetterdaten auf dem Desktop mit Samurize (Gelesen 6772 mal) Wetterdaten auf dem Desktop mit Samurize «am: 21. Januar 2004, 17:02:04»

Nutzer-Synchronisation mittels WebWeaver Desktop. Handreichung

Ist 1:0=1? Ein Brief - und eine Antwort 1

Erstellen von Google Maps -ähnlichen Karten mit SAS

SAS-Online Dokumentation: zu finden über Internetsuche nach sas online documentation

Laufzeitoptimierung bei der Verknüpfung großer Datenmengen Ein Vergleich zwischen MERGE und JOIN

Dateneingabe über ein HTML-Formular in eine Datenbank:

das neue XD Tool wurde gerade für die Steam Version hochgeladen und ist wie immer

Zugriff auf die swhv-mitgliederverwaltung

Data2Office: Eine neue Methode der SAS-Datenpräsentation in MS-Excel

THEMA: SAS STORED PROCESSES ALS WEB-/REST-SERVICE AUFRUFEN" BRUNO MÜLLER

Jira-Anleitung Service Desk Für Support-Anfragen, Probleme und Kartennummernbestellungen

Makro zum Auffinden mehrfach vergebener Schlüsselnummern

Schöne neue Welt. So können Sie fehlende SAS-Funktionalitäten mit PROC FCMP nachrüsten. SAS Treff 13. Juni 2013

26. Algorithmus der Woche Der One-Time-Pad-Algorithmus Der einfachste und sicherste Verschlüsselungsalgorithmus

Vergleich verschiedener Möglichkeiten des Table-Lookups für größere Tabellen

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Data exchange with Prosonic Flow 93T

Klicken Sie auf Weiter und es erscheint folgender Dialog

Aufteilung (und späteres separates Einlesen) einer großen Access- Tabelle anhand eines Kriteriums

Tipps und Tricks für die einzelnen Prüfungsaufgaben

Programme laufen im Programm-Editor, aber nicht im Enterprise Guide?

Kapitel. Platzhalter. Was sind Platzhalter?

«/Mehrere Umfragen in einer Umfrage durchführen» Anleitung

Übung Algorithmen I

SAS für Excel-Anwender

Programmieren I + II Regeln der Code-Formatierung

Transkript:

News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Excel sheet input / Zufallsgenerator/ Excel sheet output 18 September, 2008-22:12 123456 Hallo Leute, ich hab im mom. ein wenig schwierigkeiten mit dem programmieren. ich bin jetz ganz frisch in diesem geschäft und wollte euch nun um rat bitten. Ich soll ein programm in sas schreiben und das soll wie folgt aussehen. Es soll ein Excelsheet erstellt werden was (Name, Geburtsdatum) enthält.dieses hab ich schon gemacht. Nun soll dieses excelsheet in sas eingelesen werden. Desweiteren soll ich es so weiterprogrammieren das die namen und das geburtsdatum später nebeneinander stehen, sprich ich soll einen generator mit reinbringen der mir zufällig namen nebeneinander schreibt. also zb. max mustermann 22.10.88 Maximilia Schmidt 12.12.69. Das ganze programm soll ein programm sein zu einer Patenvergabe. Zum schluss soll das ergebnis in einem neuen excelsheet ausgegeben werden (output) Ich hoffe ihr könnt mir schnell helfen, da ich wenig ahnung habe Vielen dank schonmal im Voraus Gruß André Foren: Allgemeine Fragen zu SAS Genauere Beschreibung 18 September, 2008-22:26 uefa1997 Wie sollen denn die Namen generiert werden, per Zufallsgenarator? Das wird sicher schwierig, denn irgendwie brauchen Sie ja einen Input für die Patennamen. Könnten Sie das Problem genauer beschreiben? Generell gibt es zum Datenaustausch mit Excel die Prozeduren proc import und proc export. Gruß, Roman Kolbe Hallo zusammen, Es tut mir Hallo zusammen, 19 September, 2008-19:53 123456 Es tut mir leid, wenn ich den Text nur in der Kleinschreibung geschrieben habe. Das sollte keine Absicht gewesen sein. Also die Sache mit dem Zufallsgenerator, ich habe mir gedacht, dass man das eventuell so machen kann, aber wenn es nicht geht, dann geht es auch eventuell anders hoffentlich.

Ich kenn mich nämlich nicht so mit dem programmieren aus. Also wie gesagt,das Programm soll nachher so sein, dass ein Excel Sheet erstellt wird, das mir 2 Namen nebenander schreibt. Das Excel Sheet was als Input reinkommt besteht z.b. aus: Name Geburtsdatum Mustermann, Max 22.11.1988 Musterfrau, Maxima 13.04.66 Es sind normalerweise 13 namen. Als Excel Sheet Output soll es so aussehen: Name Geburtsdatum Pate Mustermann, Max 22.11.1988 Schmitz, Rudolf Musterfrau, Maxima 13.04.66 Müller, Peter Die Daten sind aber jeweils in einer anderen Spalte, das kann man schlecht sehen, wie ich es beschrieben habe. Ich hoffe es ist so ein wenig verständlicher und das ihr mir weiterhelfen könnt. Viele Grüße Andre Wo kommen denn die Daten von 19 September, 2008-19:59 uefa1997 Wo kommen denn die Daten von Rudolf Schmitz und Peter Müller her? Sind die auch in der Datei? Sorry, aber die Beschreibung lässt keine Lösung zu, wenn Sie sie nicht etwas detaillierter machen. Was genau sind die Input-Daten? (Datei-Format, Daten-Struktur) Wie soll genau die Output-Datei aussehen? (Datei-Format, Daten-Struktur) Und um wieviele Daten handelt es sich eigentlich? Für mich hört sich das nämlich nicht unbedingt nach einem SAS-Thema an, vielleicht ist das viel einfacher in Excel zu lösen. Gruß, Roman Kolbe Hallo Roman, natürlich 19 September, 2008-20:35 123456 Hallo Roman, natürlich könnte man dies viel schneller und einfacher in Excel lösen, aber ich hab die Vorgabe es in SAS zu machen. Ich habe das Excel Sheet selbst erstellt. Es ist eine ganz normale Exceltabelle mit Namen in einer Spalte und dazu daneben die Geburtsdaten. Das Excel Sheet was ausgegeben werden soll sieht eigentlich ähnlich aus.es beinhaltet nur noch neben dem Geburtsdatum die Patennamen. Gruß André

Sorry, ich geb auf. Wenn wir 19 September, 2008-23:52 uefa1997 Sorry, ich geb auf. Wenn wir hier nicht die Voraussetzungen genannt bekommen, wird hier niemand antworten können. Was wollen sie denn jetz 21 September, 2008-18:23 123456 Was wollen sie denn jetz genau wissen? Ich habe es schon so gut wie möglich versucht zu beschreiben. Welchen genauen daten brauchen sie denn? Bitte um Antwort Hallo,ich versuchs mal mit 30 September, 2008-10:49 heichi Hallo, ich versuchs mal mit einem Beispiel. Den Import und Export sollte keine Probleme bereiten. data a; infile datalines delimiter=','; input name $ num; datalines; John,1 Mary,2 Heini, 3 Peter, 4 Paul, 5 ; /* Daten horizontalisieren */ data b (keep=nameout numout name2out); array x {5} $20 x1-x5; array y {5} y1-y5; do i=1 to 5; set a; x{i}=name; y{i}=num; do i=1 to 5; k = ceil(ranuni(100)* 5); nameout=x{i}; numout=y{i}; name2out=x{k}; output; Grüße Heini

Vielen Dank Hallo Heini, 10 October, 2008-13:12 123456 ich wollte mich bei Ihnen für Ihre Mühe bedanken. Es ist fast so, wie ich das haben wollte:) Könnten Sie mir evtl. nochmal helfen? Bei name2out ist jetz nur noch das kleine Problem, dass sich die Namen mehrmals wiederholen. Ich möchte es aber so machen, dass jeder Name nur einmal dem anderen Namen zugewiesen wird. Ist das möglich? Vielen Dank im Voraus Viele Grüße Größe ändern Hallo liebe Forumkollegen, 27 October, 2008-18:42 123456 ich habe ein kleines Problem.Ich hoffe Ihr könnt mir weiterhelfen. Das Programm läuft soweit ganz gut. Das kleine Problem ist nur, dass meine Namen, die ich in der Liste habe, mehr als 8 Buchstaben haben und SaS zeigt nur max. 8 Buchstaben als Standard an. Ich weiß das es eine length funktion gibt, nur kann mit Jemand sagen, wie ich sie anwenden kann? Vielen Dank Schöne Grüße André Hi, es wäre sehr viel 27 October, 2008-22:17 sgeißler Hi, es wäre sehr viel einfacher dir zu helfen, wenn du den Programm- Code dazuschreiben würdest (als sascode formatiert, s. Formatierungsrichtlinien). Dann kann man präzise auf die Stellen hinweisen an denen die Namen abgeschnitten werden (z.b. beim Import, Export oder zwischendurch). Gruß, Simon SAS Code 27 October, 2008-23:08 123456 Hallo Simon, erstmal Danke das du mir helfen möchtest. Dies ist mein Code bisher. Die Namen werden beim Export in der Exceltabelle abgeschnitten, weil man ja nur nach Standard 8 Buchstaben anzeigen kann. data a;

infile datalines delimiter=','; input Name $ Vorname$ Geburtsdatum$; datalines; Schmidt,Matthias, 04.02.54 Wiesenfeld,Max, 20.03.59 Müller, Klaus, 21.12.88 Weinberger,Horst, 28.12.73 Wiesenfeld,Gerd, 13.10.69 Westermann,Peter, 13.01.85 Meier,Karl, 10.03.72 Misch,Claudia, 22.22.22 Schiffers,Jenny, 19.02.65 Teißen, Tim, 14.07.61 Faußt, Christoph, 11.11.11 Westernhaus,Patrick,16.03.65 Krämer,Jürgen, 26.03.84 ; data b (keep=name Vorname Geburtsdatum Pate ); array x {13} $20 x1-x13; array y {13} $20 y1-y13; array z {13} $20 z1-z13; do i=1 to 13; set a; x{i}=name ; z{i}=vorname ; y{i}=geburtsdatum ; do i=1 to 13; k = ceil(ranuni(100)* 13); Name=x{i}; Vorname=z{i}; Geburtsdatum=Y{i}; Pate=x{k}; output; PROC EXPORT DATA=Work.b OUTFILE="C:\SAS\Geburtstage\Patenausgabe123456.xls" dbms=excel replace; Run; Also die Nachnamen werden nur bis zum 8ten Buchstaben übernommen und dann abgeschnitten. Vielen Dank Gruß André

Wie schon erwähnt bitte 27 October, 2008-23:30 sgeißler Wie schon erwähnt bitte code mit den unter "Formatierungsrichtlinien" (unter dem Textfeld bei der Kommentarerstellung zu finden) angegebenen Tags versehen. Dann sieht der Code so schick aus wie dieser hier: data a; infile datalines delimiter=','; informat Name Vorname $15.; /* Weist SAS an input Name Vorname$ Geburtsdatum$; datalines; Schmidt,Matthias, 04.02.54 Wiesenfeld,Max, 20.03.59 Müller, Klaus, 21.12.88 Weinberger,Horst, 28.12.73 Wiesenfeld,Gerd, 13.10.69 Westermann,Peter, 13.01.85 Meier,Karl, 10.03.72 Misch,Claudia, 22.22.22 Schiffers,Jenny, 19.02.65 Teißen, Tim, 14.07.61 Faußt, Christoph, 11.11.11 Westernhaus,Patrick,16.03.65 Krämer,Jürgen, 26.03.84 ; data b (keep=name Vorname Geburtsdatum Pate ) array x {13} $20 x1-x13; array y {13} $20 y1-y13; array z {13} $20 z1-z13; do i=1 to 13; set a; x{i}=name ; z{i}=vorname ; y{i}=geburtsdatum ; do i=1 to 13; k = ceil(ranuni(100)* 13); Name=x{i}; Vorname=z{i}; Geburtsdatum=Y{i}; Pate=x{k}; output; PROC EXPORT DATA=Work.b OUTFILE="C:\temp\Patenausgabe123456.xls" dbms=excel replace; Run; Die Namen werden nicht beim Ex- sondern beim Import, genauer beim Einlesen der datalines, abgeschnitten. Die einegfügte informat-anweisung schafft Abhilfe.

Gruß Simon Danke 28 October, 2008-00:43 123456 Vielen Dank Simon. Es ist nun so, wie es sein sollte. Eine Sache hätte ich noch. In der data b soll in der Spalte Pate nur 1mal 1 Name zugewiesen werden und nicht mehrmals. Sprich: z.b. dem Namen Schmidt Matthias soll durch Zufall 1 Namen der liste zugewiesen werden, der dann in der Spalte Pate zusehen ist. Bei meinem Programm wird aber 1 Name z.b. Krämer öffter zugewiesen. Hast du eine Lösung dafür? Ich danke dir. Gruß André Die Ursache ist eindeutig. 28 October, 2008-02:28 sgeißler Die Ursache ist eindeutig. Momentan handelt es sich um ein Zufallsexperiment "Ziehen mit Zurücklegen" und du hättest gerne "Ziehen ohne Zurücklegen". Eine einfache Lösung fällt mir dazu nicht auf die Schnelle ein. Vielleicht denke ich morgen im Zug etwas darüber nach. ok 28 October, 2008-04:44 123456 Ok ich danke dir recht herzlich. Bis morgen Gruß André Hilfe Hallo liebe Forummitglieder, 28 October, 2008-17:56 123456 kann mir dringend Jemand helfen, wie ich das oben genannte Problem beheben kann? Am Besten mit Code

Vielen Dank im Voraus Gruß André 28 October, 2008-18:16 Ulrich Daubmann Ohne Zurücklegen Hallo, data a; infile datalines delimiter=' informat Name Vorname $15.; input Name Vorname$ Geburtsd datalines; Schmidt,Matthias, 04.02.54 Wiesenfeld,Max, 20.03.59 Müller, Klaus, 21.12.88 Weinberger,Horst, 28.12.73 Wiesenfeld,Gerd, 13.10.69 Westermann,Peter, 13.01.85 Meier,Karl, 10.03.72 Misch,Claudia, 22.22.22 Schiffers,Jenny, 19.02.65 Teißen, Tim, 14.07.61 Faußt, Christoph, 11.11.11 Westernhaus,Patrick,16.03.65 Krämer,Jürgen, 26.03.84 ; %macro paten; %let nochmal=1; %do %while (&nochmal=1); data _a; set a; zufall=ranuni(-1); rename Name=pName Vorname=pVo proc sort data=_a; by zufall; data _ergebnis; merge a _a; if Name=pName and Vorname=pVo else nochmal=0; proc sql noprint; select max(nochmal) into: noc quit; %

% data b; set _ergebnis; drop zufall nochmal; %mend paten; %paten; PROC EXPORT DATA=Work.b OUTFILE="C:\temp\Patenausgab dbms=excel replace; Run; Gruß Ulrich Danke 28 October, 2008-20:58 123456 Vielen Dank Ulrich das sie mir geholfen haben. Das Programm ist nun so, wie es sein sollte.:) Gruß André Log in or register to post comments Umgangsformen 19 September, 2008-10:01 HansKneilmann Hallo, ich weiß ja nicht, wie es den anderen Lesern ergeht, aber ich finde es sehr störend, wenn die Beiträge/Fragen so wirken als seien sie lieblos dahinge...(worfen) worden. Ohne Rücksicht auf die Lesbarkeit! Damit meine ich konkret: * Ohne die normale Groß-Kleinschreibung * Ohne die Groß-Kleinschreibung am Satzanfang Ich empfinde solche Beiträge als rücksichtslos gegenüber den Mitmenschen/Lesern, denn diese müsen sich quälen solche Sachen zu lesen. Der jeweilige Autor macht sich seine Sache bequem. Wenn ich solche Beiträge sehe, dann schwindet die Lust sie zu Ende zu lesen und zu überlegen, ob ich antworten könnte. Das der Internet-Slang auch noch Verwendung findet (mom. bedeutet was???) verschärft das ganze noch! Als Abrundung ist der Benutzername extrem seltsam gewählt und die Bentzer-Daten sind sehr minimalistisch gepflegt.

Gruß Hans Kneilmann, Schäfer Shop GmbH (SSI)