Parametervalidierung mit regulären Ausdrücken - verpackt in ein SAS Einleseformat
|
|
- Klara Lang
- vor 5 Jahren
- Abrufe
Transkript
1 Parametervalidierung mit regulären Ausdrücken - verpackt in ein SAS Einleseformat Tipps & Tricks Johannes Lang HMS Analytical Software Rohrbacher Str Heidelberg johannes.lang@analytical-software.de Zusammenfassung Für die Formulierung von Gültigkeitsregeln für Parameterwerte bieten sich oftmals SAS Ausgabe- bzw. Einleseformate an. Bereits seit SAS 9.3 gibt es hierfür ein zusätzliches Feature: Die Angabe von regulären Ausdrücken innerhalb eines SAS Einleseformats. Die Idee dabei: Die Gültigkeitsregel wird als regulärer Ausdruck formuliert, und alle gültigen bzw. ungültigen Werte werden jeweils auf einen Wert (1 bzw. 0) abgebildet, der dann im Programm abfragbar ist. Dies ermöglicht die Erstellung eines wiederverwendbaren Frameworks zur Parameterprüfung, dessen Einsatz die Software-Qualität erhöht und den künftigen Implementierungsaufwand senkt. Schlüsselwörter: SAS Einleseformat, reguläre Ausdrücke, Parametervalidierung 1 Motivation Jeder SAS Programmierer 1 mit Makro-Kenntnissen kennt das Thema Parametervalidierung: Erstens unter dem Aspekt der Herausforderung, unterschiedliche Prüfarten für alphanumerische Werte zu implementieren (z.b. Wert muss ganzzahlig numerisch sein, Wert darf keine Sonderzeichen enthalten ). Die zweite Herausforderung besteht darin, solche Prüfungen wiederverwendbar zu machen, ohne die Prüflogik immer wieder kopieren zu müssen. Für beide Herausforderungen bietet dieser Kurzbeitrag einen Lösungsansatz. 2 Vorgehen 2.1 Kapselung der Validierungsregel als Einleseformat Regeln für die Parametervalidierung können in vielen Fällen als Geschäftsregeln verstanden werden, die vom Fachbereich vorgegeben werden. Dazu ist es hilfreich, wenn dieser die Regeln selbst ändern kann, ohne in den Programmcode eingreifen zu müssen. 1 egal ob männlich oder weiblich J 175
2 J. Lang Hierfür bieten sich oftmals SAS Ausgabe- bzw. Einleseformate an. Die Formatdefinitionen können außerhalb des Programms (z.b. in einer CSV-Datei) verwaltet und zur Laufzeit eingelesen werden (PROC FORMAT mit CNTLIN-Option). Bis zur Version 9.2 mussten jedoch bei der Formatdefinition die gültigen Werte explizit aufgezählt werden, da keine regulären Ausdrücke als Gültigkeitsmuster unterstützt wurden. Dies ist seit SAS 9.3 möglich (vgl. [1]), und soll hier kurz an einem Beispiel gezeigt werden. Die Idee dabei: Die Gültigkeitsregel wird als regulärer Ausdruck formuliert, und alle gültigen bzw. ungültigen Werte werden jeweils auf einen Wert (1 bzw. 0) abgebildet. Damit kann mit Hilfe einer einfachen Konvention (Erfolgreiche Prüfung liefert immer 1 zurück) ein allgemeiner Prüfungsablauf implementiert werden. Als Beispiel werden Makroparameter verwendet, die RGB-Farbwerte enthalten, um das Layout von Berichten zu steuern. In der SAS-Notation besteht ein gültiger RGB-Farbwert aus den Zeichen cx gefolgt von einer sechsstelligen Zeichenkette, welche den Hexadezimalcode des Farbtons angibt (vgl. [2]). Dieser setzt sich zusammen aus den Ziffern 0-9, sowie den Buchstaben A-F, die in Groß- oder Kleinschreibung angegeben werden können. Listing 1: Beispiel eines Einleseformats für die Validierung von RGB-Farbwerten 176 PROC FORMAT LIBRARY=Work; invalue validrgb '/^cx[0-9a-fa-f]{6}$/' (REGEXP) = 1 OTHER = 0 ; RUN; Listing 2: Beispielprogramm für die Anwendung des Einleseformates zur Parameterprüfung: %Macro checkvalue (p_svalue = ); %IF %SYSFUNC(inputn(&p_sValue., validrgb.)) EQ 1 %THEN %DO; %PUT Value &p_svalue. is valid; %END; %ELSE %DO; %PUT Value &p_svalue. is invalid; %END; %Mend checkvalue; %checkvalue (p_svalue = ); /* Präfix fehlt */ %checkvalue (p_svalue = cx000000); /* Gültiger Ausdruck */ %checkvalue (p_svalue = cx ); /* Ausdruck zu lang */ Ausgabe im SAS-Log nach Absenden der Programme aus Listing 1 und 2: Value is invalid Value cx is valid Value cx is invalid
3 2.2 Kapselung der Validierung über ein metadatengestütztes Framework Tipps & Tricks Im Folgenden wird ein metadatengestütztes Framework zur Parametervalidierung vorgestellt, das bei HMS Analytical Software entwickelt wurde und in vielen unserer SAS- Projekte zum Einsatz kommt 2. Das Framework besteht aus SAS Makros, die anhand von Steuertabellen die Werte von bekannten Parametern prüfen und auch gleich die Fehlerberichterstattung durchführen. Die letztgenannte Funktion ist auch separat als Messaging-Framework nutzbar Vorbereitung der Parameter-Metadaten Um das Framework nutzen zu können, müssen alle Parameter, deren Werte geprüft werden sollen, in einer Steuertabelle registriert werden. Aktuell werden drei Parametertypen unterstützt: NUM_RANGE: Numerische Werte in einem bestimmten Bereich ALPHA_LIST: Vordefinierte Werteliste FMT_VALUE: Gültige Werte werden durch ein Einlese- bzw. Ausgabeformat definiert Je nachdem welcher Parametertyp eingetragen wird, müssen unterschiedliche Zusatzinformationen hinterlegt werden. Für das hier verwendete Beispiel wird der Typ FMT_VALUE genutzt, die Steuertabelle sieht dann aus wie in Tabelle 1. Tabelle 1: Beispiel für Steuertabelle des HMS-Frameworks zur Parameterprüfung Name PARM_NAME_LICHTGRAU PARM_TYPE_LICHTGRAU PARM_DEFAULT_LICHTGRAU PARM_FMTNAME_LICHTGRAU PARM_FMTFUNCTION_LICHTGRAU PARM_INVALIDVALUE_LICHTGRAU 0 PARM_DESCR_LICHTGRAU PARM_MISSINGALLOWED_LICHTGRAU 0 PARM_NAME_HELLGRAU PARM_TYPE_HELLGRAU Value g_slichtgrau FMT_VALUE cxc0c0c0 validrgb INPUTN Lichtgrau für Dashboards g_shellgrau FMT_VALUE 2 Die Makro-Frameworks zur Parameterprüfung und zur Fehlerbehandlung wurden von meinem geschätzten Kollegen Andreas Bachert entwickelt. 177
4 J. Lang 178 PARM_DEFAULT_HELLGRAU PARM_FMTNAME_HELLGRAU PARM_FMTFUNCTION_HELLGRAU PARM_INVALIDVALUE_HELLGRAU 0 PARM_DESCR_HELLGRAU PARM_MISSINGALLOWED_HELLGRAU 0 cx validrgb INPUTN Hellgrau für Dashboards Anmerkungen zu Tabelle 1: Für jeden Parameter wird ein logischer Name definiert, der als Suffix bei den Schlüsseln der Steuertabelle verwendet wird (z.b. LICHTGRAU). Als Wert muss der Name der zu prüfenden Makrovariablen genannt werden (g_slichtgrau). Der Name des Einlese- bzw. Ausgabeformats für die Validierung wird unter dem Schlüssel PARM_FMTNAME_<ParamName> hinterlegt. Wie das Format angewendet werden soll, wird unter PARM_FMTFUNCTION_<ParamName> angegeben. Der resultierende Wert nach Anwendung des Formats, der einen ungültigen Wert angibt, steht hinter PARM_INVALIDVALUE_<ParamName>. Zusatzinformationen pro Parameter: o Defaultwert (PARM_DEFAULT_<ParamName>) o Angabe, ob der Wert leer sein darf (PARM_MISSINGALLOWED_<ParamName>) o Beschreibungstext, der z.b. in Fehlermeldungen angezeigt wird (PARM_DESCR_<ParamName>) Allgemeiner Aufruf des Prüfmakros Die Prüfung aller bekannten Parameter wird durch ein allgemeines Makro %CheckAllParamsInList gekapselt. Dieses konsultiert anhand der übergebenen Variablennamen die obige Steuertabelle (vgl. Tabelle 1) und wendet die dort hinterlegten Gültigkeitsprüfungen auf die aktuellen Parameterwerte an. Beim ersten erkannten ungültigen Wert wird eine formatierte Fehlermeldung ausgegeben, sowohl ins SAS-Log als auch in eine konfigurierbare Tabelle. Der Meldungstext ist ebenfalls über eine eigene Steuertabelle konfigurierbar. Listing 3: Beispielprogramm zur Nutzung des Frameworks zur Parametervalidierung /* Parameter g_slichtgrau, g_shellgrau werden im produktiven Szenario von außen gesetzt, z.b. über globale Makrovariablen. */ %LET g_slichtgrau = cxc0c0c0; /* Gültiger Wert */ %LET g_shellgrau = ; /* Präfix fehlt */
5 Tipps & Tricks %CheckAllParamsInList(p_sParamNames = %STR(g_sLichtGrau~g_sHellGrau), p_sparamvalues =, p_sdelimiter = %STR(~), p_svarparamsok = l_nparamcheckrc ); %IF %EVAL(&l_nParamCheckRC. NE 1) %THEN %DO; /* Abbruch durch Sprung ans Programmende, Fehlerberichterstattung ist bereits durchgeführt */ %LET _ERR_ = 1; %LET l_bmessageregistered = 1; %GOTO EXIT; %END; Im Hintergrund wird automatisch eine Fehlerberichterstattung durchgeführt, die durch ein ebenfalls selbst entwickeltes Messaging-Framework abgewickelt wird. Ausgabe im SAS-Log: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Meldung aus Programm: checkfmtvalue (24Feb2017:13:26:07) ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Nummer: Kategorie: A Meldung: The value ' ' for parameter 'Hellgrau für Dashboards' ('PARM_NAME_HELLGRAU') is not valid. Valid values are defined by the (in)format 'validrgb'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ausgabe in SAS-Tabelle (standardmäßig WORK.MESSAGES): Tabelle 2: Beispiel für Meldungstabelle nach durchgeführter Prüfung TimeStamp MsgNo MsgCat MsgText ProgName User 24FEB2017: 13:26: ABORT The value ' ' for parameter 'Hellgrau für Dashboards' ('PARM_NAME_HELLG RAU') is not valid. Valid values are defined by the (in)format 'validrgb'. checkfmtvalue lang 179
6 J. Lang Die Meldungstexte werden in einer sprachspezifischen Datei definiert und in permanente SAS-Formate kompiliert. Je nachdem welche Sprache festgelegt ist, werden dann die jeweils passenden SAS-Formate zur Laufzeit verwendet. 7 Fazit SAS Einleseformate eignen sich sehr gut, um Validierungsregeln sauber von der sonstigen Programmlogik zu trennen. Da seit SAS 9.3 auch reguläre Ausdrücke in Einleseformaten unterstützt werden, können auch musterbasierte Prüfungen auf diese Weise ausgelagert werden, was die innere Software-Qualität erhöht. Durch die Nutzung eines metadatengestützten Makro-Frameworks zur Parameterprüfung kann auch die Anwendung der Validierungsregeln einmalig implementiert und über ein allgemeines Prüfmakro aufgerufen werden. Hierfür hat HMS Analytical Software eine Beispielimplementierung erstellt, die in unterschiedlichen Projekten eingesetzt wird. Dadurch wird die Anzahl der Codezeilen pro Programm oft deutlich reduziert, und man kann sich besser auf die wesentliche Aufgabe des jeweiligen Programmes konzentrieren. Die skizzierten SAS Makro-Frameworks können gerne auf Anfrage zur Verfügung gestellt werden (Stichwort HMS-Toolbox für SAS BI Anwender ). Literatur [1] Langston, Rick: Using the New Features in PROC FORMAT, in: Proceedings of SAS Global Forum [ ] [2] SAS Institute Inc.: SAS/GRAPH 9.4: Reference, Fifth Edition. SAS Institute Inc., Cary, NC,
Parametervalidierung mit regulären Ausdrücken - verpackt in ein SAS Einleseformat
(Kopfzeile beginnt bei 1,25 cm vom Seitenrand, ungerade Seiten Thema rechtsbündig) Thema Parametervalidierung mit regulären Ausdrücken - verpackt in ein SAS Einleseformat Johannes Lang HMS Analytical Software
NICHT TRIVIAL: MAKROVARIABLEN - GLOBAL ODER LOKAL
WEBINAR@LUNCHTIME NICHT TRIVIAL: MAKROVARIABLEN - GLOBAL ODER LOKAL FRAGE Antworten EINSTIEGSFRAGE Wie werden die Makrovariablen durch Call Symput erstellt Global, lokal, teils-teils oder gar nicht? %macro
Jetzt aber Prompt Eingabeaufforderungen im Enterprise Guide
SAS Enterprise Guide und SAS Studio Jetzt aber Prompt Eingabeaufforderungen im Enterprise Guide Daniel Schulte viadee Unternehmensberatung Anton-Bruchausen-Straße 8 48147 Münster daniel.schulte@viadee.de
Makrofunktion zur Übernahme von Abfragekriterien aus externen Quellen, z.b. einer Excel Datei, in SAS Code (PROC SQL)
Tipps & Tricks Makrofunktion zur Übernahme von Abfragekriterien aus externen Quellen, z.b. einer Excel Datei, in SAS Code (PROC SQL) Christian Fauska Lebkuchen Schmidt GmbH&Co. KG Zollhausstr. 30 90469
Dateneingabe und Transformation Übersicht
Dateneingabe und Transformation Übersicht 2.0 Allgemeine 2.1 Eingabe über die 2.2 2.3 Eingabe eines externen ASCII-Files 2.4 Varianten der INPUT-Anweisung, Formatierungselemente 2.5 Ein- und Ausgabe von
Programminhalte extrahieren und modifizieren mit SAS. Katja Glaß
Programminhalte extrahieren und modifizieren mit SAS Katja Glaß Agenda Einleitung Einsatzgebiete Einleitung Manual Training SAS Makro Validierung Übersichten Einleitung Manual Training SAS Makro Validierung
SAS-Tipp #6: Schneller als Proc Summary
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren ETL & Base SAS SAS-Tipp #6: Schneller als Proc Summary 15 July, 2014-14:22 Martin Steinert Zugegeben, lässt
Automatisches Testen mit SASUnit: mehr Qualität und Transparenz bei der Erstellung von SAS-Programmen
Automatisches Testen mit SASUnit Automatisches Testen mit SASUnit: mehr Qualität und Transparenz bei der Erstellung von SAS-Programmen Andreas Mangold HMS Analytical Software GmbH Rohrbacherstraße 26 69115
Import von Text-Dateien. Einzelne Wörter einlesen.
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Import von Text-Dateien. Einzelne Wörter einlesen. 28 April, 2009-10:14 beznika
Schöne neue Welt. So können Sie fehlende SAS-Funktionalitäten mit PROC FCMP nachrüsten. SAS Treff 13. Juni 2013
Schöne neue Welt So können Sie fehlende SAS-Funktionalitäten mit PROC FCMP nachrüsten SAS Treff 13. Juni 2013 ist IT-Dienstleister für Business Intelligence und Datenanalyse gibt es seit fast 25 Jahren
Copyr i g ht 2014, SAS Ins titut e Inc. All rights res er ve d. What s New im SAS Enterprise Guide 7.
Webinar@Lunchtime: What s New im SAS Enterprise Guide 7.11 Karin Gross HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant Xing-Profil: http://www.xing.com/profile/annekatrin_bognerhamleh?key=0.0
Tücken bei der Erstellung von Zufallszahlen mit RANUNI
Tücken bei der Erstellung von Zufallszahlen mit RANUNI Rainer Muche, Tillmann Babik Institut für Biometrie Schwabstraße 13 89075 Ulm rainer.muche@uni-ulm.de Zusammenfassung In der Statistik werden oft
Tipps und Tricks für Programmierer im SAS Enterprise Guide
Webinar@Lunchtime Tipps und Tricks für Programmierer im SAS Enterprise Guide Herzlich Willkommen bei Webinar@Lunchtime Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant Xing-Profil:
Ansprechen einer Anzahl von Variablen über einen Schleifendurchlauf
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Ansprechen einer Anzahl von Variablen über einen Schleifendurchlauf 21 June, 2007-18:43
Automatisches Testen mit SASUnit: mehr Qualität und Transparenz bei der Erstellung von SAS-Programmen
Automatisches Testen mit SASUnit: mehr Qualität und Transparenz bei der Erstellung von SAS-Programmen Poster Andreas Mangold HMS Analytical Software GmbH Rohrbacherstraße 26 69115 Heidelberg andreas.mangold@analytical-software.de
Replay von SAS Grafiken mit Stored Processes: Ein Blick hinter die Kulissen
Grafik Replay von SAS Grafiken mit Stored Processes: Ein Blick hinter die Kulissen Johannes Lang HMS Analytical Software Rohrbacher Str.26 69115 Heidelberg johannes.lang@analytical-software.de Zusammenfassung
SAS Format: Fallen und Tricks
Data Step SAS Format: Fallen und Tricks Sascha Rampersad inventiv Health Germany GmbH a Syneos Health Company Frankfurter Strasse 233, Triforum, Haus C1 63263 Neu-Isenburg sascha.rampersad@syneoshealth.com
THEMA: SAS CERTIFIED BASE PROGRAMMER FOR SAS 9 DIE VORBEREITUNG BRINGT S! KARIN GROSS
THEMA: SAS CERTIFIED BASE PROGRAMMER FOR SAS 9 DIE VORBEREITUNG BRINGT S! KARIN GROSS EBINAR@LUNCHTIME HERZLICH WILLKOMMEN BEI Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant Xing-Profil:
THEMA: SAS STORED PROCESSES ALS WEB-/REST-SERVICE AUFRUFEN" BRUNO MÜLLER
THEMA: SAS STORED PROCESSES ALS WEB-/REST-SERVICE AUFRUFEN" BRUNO MÜLLER EBINAR@LUNCHTIME HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant
Flugs zur Datenqualität (ohne DataFlux)
Datenqualität Flugs zur Datenqualität (ohne DataFlux) Christian Kothenschulte LBS Westdeutsche Landesbausparkasse Himmelreichallee 40 48149 Münster christian.kothenschulte@lbswest.de Zusammenfassung Die
Auslesen von SAS Systeminformationen über die aktuelle Log- Ausgabe
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Auslesen von SAS Systeminformationen über die aktuelle Log- Ausgabe 4 September,
Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein
Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter
Von SAS nach SPSS und umgekehrt
Von SAS nach SPSS und umgekehrt Umwandlung von Dateien inklusive Formaten/Wertelabels Timm Lochmann, Carina Ortseifen Universitätsrechenzentrum Heidelberg Inhalt 1. Unterschiede zwischen SAS- und SPSS-Dateien
Daten aus SPSS-18 Proc Format...
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Daten aus SPSS-18 Proc Format... 16 December, 2009-11:57 Thomuser Hallo zusammen,
Replay von SAS Grafiken mit Stored Processes: Ein Blick hinter die Kulissen
(Kopfzeile beginnt bei 1,25 cm vom Seitenrand, ungerade Seiten Thema rechtsbündig) Thema Replay von SAS Grafiken mit Stored Processes: Ein Blick hinter die Kulissen Johannes Lang HMS Analytical Software
https://www.uni-muenster.de/ziv/software/spssallgemeineinformationen.html
Organisatorisches: Das vorliegende Dokument beschreibt, welche inhaltlichen und technischen Bedingungen klinische Datensätze erfüllen sollen, um möglichst problemlose statistische Analysen zu ermöglichen.
Hallo Jessi, wenn ich das. DATA aufg3_b; vari='<.0001'; IF &wil_two_test. le vari THEN pwert=0.0001;
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Makrovariablen vergleichen 20 August, 2009 17:23 Jessi Hallo Forummitglieder, ich
SAS-Online Dokumentation: zu finden über Internetsuche nach sas online documentation
1 SAS-Hilfe in SAS: Menü Hilfe SAS Hilfe und Dokumentation dann beispielsweise: Inhalt SAS-Produkte Base SAS SAS-Prozeduren SAS-Prozeduren: CORR, FREQ, UNI- VARIATE SAS/STAT SAS/STAT User s Guide: Übersicht
SAS-Makro-Programmierung. Eine Einführung. Zusätzliche Übungsaufgaben
SAS-Makro-Programmierung Eine Einführung - Zusätzliche Übungsaufgaben Diese Aufgaben dienen der weiteren Vertiefung in die Makroprogrammierung. Es sind Aufgaben, die in SAS-Makroprogrammierkursen verwendet
Angewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
Übersicht Shell-Scripten
!!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,
Auffinden von gleichen oder ähnlichen Probandennamen eine Anwendung der Abfragesprache SQL in SAS
Auffinden von gleichen oder ähnlichen Probandennamen eine Anwendung der... 1 Auffinden von gleichen oder ähnlichen Probandennamen eine Anwendung der Abfragesprache SQL in SAS Ralf Minkenberg Institut für
Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein
Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter
Objektorientierte Programmierung mit C++ (WS 2016/2017)
Institut für Numerische Mathematik Dr. Andreas F. Borchert und Dr. Michael C. Lehn 26. Januar 2017 Blatt 12 Objektorientierte Programmierung mit C++ (WS 2016/2017) Abgabe bis zum 2. Februar 2017, 16:00
Beschreibung des Objektorientierten Simulations- und Prognose-Tools OSiPT
Beschreibung des Objektorientierten Simulations- und Prognose-Tools OSiPT (Version 2.1) WS Unternehmensberatung und Controlling-Systeme GmbH OSiPT ist ein Werkzeug zur Erstellung und Ausführung rekursiver
Zeit-Macro-Variablen, passend zu einem Tag
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Zeit-Macro-Variablen, passend zu einem Tag 29 September, 2006-12:48 Andrea Knautz Der Macro %zeiten erstellt passend
OLConnector Programmierung
Das Vorgehen, um Outlook zu automatisieren, unterscheidet sich mit dem nur geringfügig vom üblicherweise dafür eingesetzten. Um irgendwelche Aktionen ausführen zu können, benötigt man die laufende Instanz
Scala. Funktionale (Zustandslose) Objekte
Scala Funktionale (Zustandslose) Objekte Agenda Was sind Funktionale Objekte? veränderliche Objekte vs. unveränderliche Objekte Klassen Parameter Konstruktoren Private Member Methoden und Operatoren Overriding
Gewinnen beim Monopoly Spiel Alles nur Zufall? Oder gibt es doch ein paar Muster, die man kennen sollte?
Statistik Gewinnen beim Monopoly Spiel Alles nur Zufall? Oder gibt es doch ein paar Muster, die man kennen sollte? Gerhard Svolba SAS Austria Mariahilfer Straße 116 A-1070 Wien Sastools.by.gerhard@gmx.net
SASUnit in der Praxis: Aufbau eines Sicherheitsnetzes für angstfreie Änderungen an SAS Programmen
SASUnit in der Praxis: Aufbau eines Sicherheitsnetzes für angstfreie Änderungen an SAS Programmen KSFE 2016 in Greifswald 03.03.2016 Johannes Lang HMS Analytical Software 1 HMS Analytical Software GmbH
Umbenennung von Spaltennamen über Schleife(n)
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren ETL & Base SAS Umbenennung von Spaltennamen über Schleife(n) 11 August, 2008-14:25 Chris86 Guten Tag liebe
*** Viel Erfolg! ***
Hochschule München, FK 03 SS 2018 Ingenieurinformatik C-Programmierung Bachelorstudiengang: Studienbeginn vor WS13/14 (Kombinationsprüfung) ** Studienbeginn ab WS13/14 bis WS15/16 ** Studienbeginn ab SS16
Beuth Hochschule Einführende Gentle-Programme WS12/13, S. 1
Beuth Hochschule Einführende Gentle-Programme WS12/13, S. 1 Einführende Gentle-Programme Dieses Papier soll die Syntax und Semantik (die Schreibweise und Bedeutung) von einfachen Gentle Programmen anhand
Berechnung der Dauer eines SAS Makros?
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Berechnung der Dauer eines SAS Makros? 20 June, 2006-10:45 schmitti Ich bin momentan
Jede Kombination von 7 Spalten erzeugen
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren ETL & Base SAS Jede Kombination von 7 Spalten erzeugen 14 May, 2007-16:22 HansKneilmann Hallo, ein Kollege
Handbuch. BsSepaTester
Handbuch BsSepaTester Inhalt Übersicht... 3 Windows 10 Tablet... 3 Mehrere Dateien gleichzeitig prüfen... 3 Nicht erlaubte Zeichen... 3 Eine Sepa-Datei prüfen... 4 Wenn keine Fehler gefunden wurden...
Formatierung beim Einlesen
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren ETL & Base SAS Formatierung beim Einlesen 9 May, 2007-15:04 Caroline Ich habe hier ja schon mein oder anderes
Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel
Inhalt: Vorbemerkung...1 Allgemeines zu Shell Scripts...1 Aufruf...1 Einfaches Beispiel...1 Testen eines Shell-Scripts...2 Kommandozeilen-Parameter...2 Prozeßsteuerung...3 Bedingte Ausführung: if...3 Mehrfachentscheidung:
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
Arithmetik in der tcsh
Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3
Das HMS-Reporting-Framework Schneller Zugang zu relevanten Reports
Das HMS-Reporting-Framework Schneller Zugang zu relevanten Reports Ein flexibel konfigurierbares Web Portal für den Aufruf STP*-basierter Berichte * Stored Process Reporting Framework Das Ziel der Lösung
Dateien von CSV-Datei Importieren
Dateien von CSV-Datei Importieren Daminion bietet Ihnen die Möglichkeit, einen Datenimport mit einer CSV Datei durchzuführen. Dies kann beispielsweise hilfreich sein, wenn Sie Ihre bestehenden Daten von
Proseminar. C-Programmierung Grundlagen und Konzepte. Der Präprozessor. von: Svenja Neef
Proseminar C-Programmierung Grundlagen und Konzepte Der Präprozessor von: Svenja Neef Inhaltsverzeichnis 1Der C-Präprozessor...2 1.1Was ist der C-Präprozessor...2 1.2Präprozessor-Befehle...2 1.2.1Zusammenführen
Zeilen in SAS-Datensatz einfügen
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren ETL & Base SAS Zeilen in SAS-Datensatz einfügen 27 June, 2011-16:27 Gordon123 Hallo liebe Forengemeinde,
Anleitung FlexNow als Prüfer / Stellvertreter nutzen
Anleitung FlexNow als Prüfer / Stellvertreter nutzen Autoren: Max Schultheis / Michel Shabbir Version: 1.3 Stand: 27.02.2015 Inhalt 1. Beantragung der benötigten Berechtigung... 1 2. Installation... 1
Listensyntax und PutPutPut Mach es! Jetzt! Lokal!
Tipps & Tricks Listensyntax und PutPutPut Mach es! Jetzt! Lokal! Grischa Pfister icasus GmbH Vangerowstraße 2 69115 Heidelberg g.pfister@icasus.de Zusammenfassung SAS/Base lässt an verschiedenen Stellen
News Artikel Foren Projekte Links Über Redscope
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Makro-Schleife 1 February, 2010-15:02 beznika hallo, wenn ich unten stehendes macro
Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe
Informatik Vorlesung 03b Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik
Arrays im DATA-Step - wann und warum?
Arrays im DATA-Step - wann und warum? Tipps & Tricks Ralf Minkenberg Boehringer Ingelheim Pharma GmbH & Co. KG Binger Str. 173 55216 Ingelheim ralf.minkenberg@boehringer-ingelheim.com Zusammenfassung Obwohl
Buchhaltung - Abschlüsse - Buchungssätze-Import
Buchhaltung - Abschlüsse - Buchungssätze-Import Inhalt Allgemeines Aufbau der Import Datei Aufruf und Prüfung der Import Datei Validierung Verbuchung Allgemeines Der Buchungssätze-Import dient dazu, dass
Dynamisch Makros aufrufen
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren ETL & Base SAS Dynamisch Makros aufrufen 1 March, 2006-12:17 _ULeh Hallo, Meine Frage ist: Wie kann ich dynamisch
registra Schnittstelle
registra Schnittstelle Verwendbarkeit Die registra-schnittstelle ist nur verwendbar, wenn das Modul ZBON/Tagesabschluss Österreich aktiv ist. Voreinstellungen CTO Warenwirtschaft registra-schnittstelle
C. Ortseifen: Reguläre Ausdrücke
Inhalt Reguläre Ausdrücke mit SAS Einsatz der RX- und PRX-Funktionen Dr. Carina Ortseifen SAS-Treff am URZ 2. Dezember 2005 1. Einleitung 2. Aufbau der regulären Ausdrücke 3. Beispiele 4. Reguläre Ausdrücke
QMF Tabelle Q.OBJECT_DATA in DB2
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren ETL & Base SAS QMF Tabelle Q.OBJECT_DATA in DB2 24 November, 2008-13:23 Wolfgang Hornung wir portieren z.zt.
1 def Anweisung. 2 Argumentübergabe. 3 Lokale Variablen. 4 Default Argumente. 5 Aufruf mit Schlüsselwort. 6 Variable Argumente. Funktionen in Python
1 def Anweisung Sommersemester 2007 2 Argumentübergabe 3 Lokale Variablen 4 Default Argumente 5 Aufruf mit Schlüsselwort 6 Variable Argumente def Anweisung Beispiel: TuNix def def funktionsname([])
Funktionen in Python
October 19, 2006 1 def Anweisung 2 Argumentübergabe 3 Lokale Variablen 4 Default Argumente 5 Aufruf mit Schlüsselwort 6 Variable Argumente def Anweisung def def funktionsname([]) : [ Dokumentationsstring
KSFE 4. Konferenz der SAS -Anwender
Output Delivery System (ODS) Der schnelle Weg zu geschäftsfähigen Berichten 1 Output Delivery System (ODS) Der schnelle Weg zu geschäftsfähigen Berichten Carola Röttig SAS Institute Version 6 Design In
Neuerungen in SASUnit, insbesondere Ermittlung der Testabdeckung
Neuerungen in SASUnit Neuerungen in SASUnit, insbesondere Ermittlung der Testabdeckung Dr. Patrick René Warnat HMS Analytical Software GmbH Rohrbacher Str. 26 69115 Heidelberg patrick.warnat@analytical-software.de
Alter berechnen mit Base SAS
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren ETL & Base SAS Alter berechnen mit Base SAS 26 October, 2008-21:31 ChrisLemberg Hallo Community, hoffentlich
Allman-Einrückungsstil versus 1TBS bei SAS-Base-Programmen
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite SAS-Programmierrichtlinien Codelayout Allman-Einrückungsstil versus 1TBS bei SAS-Base-Programmen 7 March, 2006-11:16
Oracle Forms Was validiere ich wo?
Oracle Forms Was validiere ich wo? Autor: Torsten Pattberg, Opitz Consulting Gummersbach GmbH DOAGNews Q1_2004 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die
Was ist R? Grundfunktionen in R Beispiele Zusammenfassung Literatur. Einführung in R. Michael Zwinkel
Einführung in R Michael Zwinkel Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg Betreuer: Julian Kunkel
lex - Eine Einführung
lex - Eine Einführung Axel Kohnert 9th May 2005 Abstract lex ist ein Unixprogramm, welches die Erstellung eines C-programms für die lexikalische Analyse unterstützt. Dazu kann man Aktionen definieren,
Demo-Anleitung Stored Process als Entscheidungshilfe beim Autokauf
1. Erstellen Sie im SAS Enterprise Guide mit der Datei SASHELP.CARS eine Abfrage. Wählen Sie die n MAKE, MODEL, DRIVETAIN, MSRP, INVOICE, ENGINESIZE, CYLINDERS, HORSEPOWER, MPG_CITY und MPG_HIGHWAY. 2.
SASGraphs2PDF. Erstellung einer PDF Datei aus SAS Graphiken mit Hilfe von ODS PDF. Monika Kawohl, Dirk Spruck Aventis Behring GmbH Biometrie
SASGraphs2PDF Erstellung einer PDF Datei aus SAS Graphiken mit Hilfe von ODS PDF Monika Kawohl, Dirk Spruck Aventis Behring GmbH Biometrie Überblick Einleitung Standards für die Graphikerstellung Sortierte
Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
Änderungen in organice OutlookSync 3.0
Änderungen in organice OutlookSync 3.0 2014-12-02 Version 3.1.0.14... 1 2014-09-01 Version 3.1.0.13... 2 2014-05-01 Version 3.1.0.12... 2 2014-03-18 Version 3.1.0.11... 2 2013-11-22 Version 3.1.0.10...
ARRIBA AVA, Kostensteuerung & Projektmanagement
ARRIBA AVA, Kostensteuerung & Projektmanagement Einspielanleitung für sirados Baudaten Benutzerhandbuch RIB Software AG Vaihinger Str. 151, 70567 Stuttgart sirados Baudaten Die sirados Baudaten sind eine
Makropaket changes. Knut Lickert. 14. Juni 2005
Makropaket changes Knut Lickert 14. Juni 2005 Zusammenfassung Dieses Makropaket stellt das Kommando change zur Verfügung. Mit diesem Kommando können Änderungen in einem Dokument gekennzeichnet werden.
Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C
Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung
Zwei Tipps und Tricks: Fallstricke bei Makrovariablen und SAS im Batchmodus
Tipps und Tricks Zwei Tipps und Tricks: Fallstricke bei Makrovariablen und SAS im Batchmodus Daniel Schulte viadee Unternehmensberatung GmbH Anton-Bruchausen-Straße 8 48147 Münster daniel.schulte@viadee.de
HMS. Statistiken mit SAS ins Internet. HMS Analytical Software GmbH - Johannes Lang
HMS Statistiken mit SAS ins Internet HMS Analytical Software GmbH - Johannes Lang Schweizer Tage der öffentlichen Statistik, Davos 08.09. 10.09.2008 1 Agenda Vorstellung Inhaltliche Einleitung Statische
UNIX/Linux Lösung. Mär 08, 16 16:11 Seite 1/6
Mär 08, 16 16:11 Seite 1/6 Aufgabe 1: Erläutern Sie detailliert das nachfolgende Kommando (Einzelbefehle, Optionen, Zusammenspiel) (20 Punkte): cd /usr/bin Wechsel ins Verzeichnis bin in /usr (2) ls d
Funktionen. mehrfach benötigte Programmteile nur einmal zu schreiben und mehrfach aufzurufen
Funktionen Funktionen erlauben, dem Programmcode hierarchisch zu strukturieren ein Hauptprogramm steuert dabei die Abfolge von Schritten, die einzelnen Schritte können durch Funktionen realisiert werden
Erste Datenbereinigung
Erste Datenbereinigung I. Datenbereinigung klassisch I. Schritt: Praktisch: Auf zwei PCs die Datei herunterladen. Auf dem einen PC wird die Häufigkeitsauszählung durchgeführt, auf dem anderen PC wird die
Neuerungen mit Software-Version 3.4
Neuerungen mit Software-Version 3.4 RogEditor Text2Rog Autoerkennung Die Text2Rog-Funktion ist jetzt noch komfortabler, so dass Fragentypen und Antworten vom System automatisch erkannt werden. Unterschiedliche
Grundlagen der Fortran Sprache
Kapitel 1 Grundlagen der Fortran Sprache Programmieren bezeichnet das Verfahren, in einer bestimmten Sprache (Syntax) Anweisungen (sog. Quellcode) für den Computer zu schreiben. Dieser Programmcode wird
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
Vivendi TEST-Datenbanken erstellen
Vivendi TEST-Datenbanken erstellen Produkt(e): Kategorie: Vivendi NG, Vivendi PD, Vivendi PEP Datenbanken Version: ab 6.77 Erstellt am: 18.07.2018 Frage: Besteht die Möglichkeit TEST-Datenbanken als Kopie
Einführung in MATLAB + MATLAB Simulink. Dipl.-Inf. Markus Appel
Einführung in MATLAB + MATLAB Simulink Dipl.-Inf. Markus Appel mappel@informatik.hu-berlin.de 28.10.2016 Was ist MATLAB? ein universelles Algebra-Programm zur Lösung mathematischer Probleme grafische Darstellung
Grundlagen der Informatik Vorlesungsskript
Grundlagen der Informatik Vorlesungsskript Prof. Dr. T. Gervens, Prof. Dr.-Ing. B. Lang, Prof. Dr. F.M. Thiesing, Prof. Dr.-Ing. C. Westerkamp 16 AUTOMATISCHES ÜBERSETZEN VON PROGRAMMEN MIT MAKE... 2 16.1
COBOL für Fortgeschrittene. Übungen zur Schulung
COBOL für Fortgeschrittene Übungen zur Schulung 23. Oktober 2011 Eine Ausarbeitung von: cps4it Ralf Seidler Stromberger Straße 36A 55411 Bingen Fon: +49-6721-992611 Fax: +49-6721-992613 Mail: ralf.seidler@cps4it.de
Programmiertechnik 1 FOR-SCHLEIFEN
Programmiertechnik 1 FOR-SCHLEIFEN In diesem Dokument wollen wir uns mit Kontrollstrukturen befassen. Dazu sind im Folgenden einige Übungsaufgaben zu den Themen Schleifen (FOR, WHILE, DO) und Bedingungen
BMD NTCS STAPEL FÜR AUTOMATISCHE WEBUPDATES
BMD NTCS STAPEL FÜR AUTOMATISCHE WEBUPDATES, Steyr INHALTSVERZEICHNIS 1. ALLGEMEIN... 3 1.1. Was bedeutet die Versionsnummer überhaupt?... 3 1.2. Was passiert bei einem WebUpdate?... 3 2. NTCS PATCH AUTOMATISCH
2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
Modell Bahn Verwaltung. Tutorial. Links. Min. Programm Version 0.65, März w w w. r f n e t. c h 1 / 11
Modell Bahn Verwaltung Tutorial Links Min. Programm Version 0.65, März 2015 Tutorial Version 04.01.2017 rfnet Software w w w. r f n e t. c h 1 / 11 Vorwort... 3 1 Links... 4 1.1 Einführung... 4 1.2 Link
7. Globale Einstellungen
7. Globale Einstellungen Tools Viewer Settings Viewer Table Analyst-Bildschirmaufteilung Schrifttyp Edit/Browse-Modus Variablen mit Namen oder Labels VariablesReihenfolge alphabetisch oder nach Position
Unterlagen zu: Das Datenanalysesystem SAS SS 2000
7. Globale Einstellungen Tools Viewer Settings Viewer Table Analyst-Bildschirmaufteilung Schrifttyp Edit/Browse-Modus Variablen mit Namen oder Labels VariablesReihenfolge alphabetisch oder nach Position