PROC TRANSPOSE. SAS-tabellen - hensigtsmæssig lagring af data. Copyright 2011 SAS Institute Inc. All rights reserved.



Relaterede dokumenter
Deltag i en quiz: Test din viden i SAS -programmering

Tips og tricks til Proc Means. Per Andersen

Tips og tricks til Proc Means. Per Andersen Senior IM Consultant Dong Energy, Group IT, Trading IT, Analytics

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute

Projekt DATA step view

Variansanalyse i SAS. Institut for Matematiske Fag December 2007

Kort intro til SAS. Efterår Janne Petersen Judith L Jacobsen Lene Theil Skovgaard

SAS Scalable Performance Data Server

VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING

Mænd, Mus og Metadata

Hvorfor SAS Kort intro til SAS

Klog på SAS seminar, december 2013 Hvordan skjules password i loggen ved brug af macro, Svend Bang, Københavns Universitet

Moderne SAS-programmering på webben med SAS Studio. Georg Morsing SAS Institute

Appelsiner, bananer og citroner

Kommentarer til øvelser i basalkursus, 2. uge

MPH specialmodul i epidemiologi og biostatistik. SAS. Introduktion til SAS. Eksempel: Blodtryk og fedme

Peter Kellberg. Rundt om Danmarks Statistiks makroer. Design, Standardisering, Teknik

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Lineær regression i SAS. Lineær regression i SAS p.1/20

Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach 2002

MPH specialmodul i epidemiologi og biostatistik. SAS. Introduktion til SAS. Eksempel: Blodtryk og fedme

Import af rekursivt (parent-child) hierarki i Palo

SAS systemet SAS. SAS vinduer Janne Petersen

Faculty of Health Sciences. Basal Statistik. Begreber. Parrede sammenligninger. Lene Theil Skovgaard. 6. september 2016

R E D C A P M A N U A L. Importér data til REDCap fra CSV-fil. Opbyg din eksisterende database i REDCap Version 1.0

ODS measured tagset til RTF er smart og kan tilpasses

Introduktion til Visual Data Mining and Machine Learning

High-Performance Data Mining med SAS Enterprise Miner 14.1

Introduktion til SAS. Faculty of Health Sciences

Man indlæser en såkaldt frequency-table i SAS ved følgende kommandoer:

Decentral forecasting/ planlægning i et callcenter

Introduktion til SQL queries

Besvarelse af juul2 -opgaven

β = SDD xt SSD t σ 2 s 2 02 = SSD 02 f 02 i=1

ØVELSE 2B. Formål Det primære formål med denne øvelse er at prøve nogle vigtige procedurer til statistisk og grafisk analyse.

Opgavebesvarelse, korrelerede målinger

Løsning til opgave i logistisk regression

Øvelser i epidemiologi og biostatistik, 6. april 2010 Baseline-informationer fra Ebeltoft datasættet Eksempel på besvarelse

INTRODUKTION TIL SAS

Best practice. Forudsætninger for et godt data warehouse SAS Data Integration Studio

Afdeling for Anvendt Matematik og Statistik Januar Regressionsanalyse i SAS 2. Regressionsanalyse med GLM Sammenligning af regressionslinier

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Naturvidenskabelig Bacheloruddannelse Forår 2006 Matematisk Modellering 1 Side 1

Introduktion til SPSS

For at få 8 linjer ud, skal dette specifiseres i kommandoen ved at sætte antal lig 8 n=8:

Data lagring. 2. iteration (implement backend)

SAS Corporate Program Website

SAS-programmering med sikkerhedsnet: FUTS (Framework for Unit Testing SAS programs)

Kort introduktion til SAS

Regressionsanalyse i SurveyBanken

Velkommen til kursusevaluering i Blackboard

Afdeling for Anvendt Matematik og Statistik December 2006

Økonometri 1 Efterår 2006 Ugeseddel 11

Registre i medicinsk forskning. Frank Mehnert SAS Forum København 3. oktober 2012

how to save excel as pdf

SPSS appendix SPSS APPENDIX. Box plots. Indlæsning. Faculty of Health Sciences. Basal Statistik: Sammenligning af grupper, Variansanalyse

Faculty of Health Sciences. SPSS appendix. Basal Statistik: Sammenligning af grupper, Variansanalyse. Lene Theil Skovgaard. 22.

SPSS appendix SPSS APPENDIX. Box plots. Indlæsning. Faculty of Health Sciences. Basal Statistik: Sammenligning af grupper, Variansanalyse

Tovejs-ANOVA (Faktoriel) Regler og problemer kan generaliseres til mere end to hovedfaktorer med tilhørende interaktioner

INTRODUKTION TIL dele af SAS

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00

Reeksamen i Statistik for Biokemikere 6. april 2009

Database optimering - Indeks

En Introduktion til SAS. Kapitel 5.

Præsentation og praktisk anvendelse af PROC GLMSELECT

Lineær og logistisk regression

Splunk Cookbook Lab Workshop

Træningsaktiviteter dag 3

Supplerende noter til Kursus i brug af SAS

Dynamiske Web-applikationer i SAS-portalen

ODBC made easy på dansk (når bare man ved hvordan) Jesper Michelsen, Data warehouse & Analyse

Opgavebesvarelse, logistisk regression

Basal Statistik - SPSS

SAS systemet. Kort introduktion til SAS. SAS vinduer. Janne Petersen. Efterår 2013

Demonstration af SAS Activity-Based Management v7.1

Database "opbygning"

Webkorpora: Yahoo API og perl

Det kunne godt se ud til at ikke-rygere er ældre. Spredningen ser ud til at være nogenlunde ens i de to grupper.

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

Kursus i varians- og regressionsanalyse Data med detektionsgrænse. Birthe Lykke Thomsen H. Lundbeck A/S

Peter Kellberg. Det vidste du ikke om et EG projekt!

Identifikationskort Kort med integrerede kredse Del 6: Interindustrielle dataelementer

En Introduktion til SAS

Postoperative komplikationer

GIS. Guide til indlæsning af data i ArcGIS herunder KMS-data fra internettet

PICTURE formater. Klog på SAS 15. marts 2012

ØVELSESGANG 1A EDB PROGRAMMER SAS SOM PROGRAMMERINGSSPROG

PUT og INPUT funktionerne

Participants. Sabre Men's Individual Senior. Efterårsstævne 2 CORRECTION #1. Roskilde (DEN) :00 PM

Løsning til øvelsesopgaver dag 4 spg 5-9

Vi ønsker at konstruere normalområder for stofskiftet, som funktion af kropsvægten.

SAS formater i Danmarks Statistik

Økonometri B i R. Sebastian Barfort.

k normalfordelte observationsrækker (ensidet variansanalyse)

Økonometri 1 Forår 2006 Ugeseddel 11

SQL Server 2016 Data Adgang

%kfhashmerge(main, flows, crsp_fundno pdate, flowval mtna lagmtna, main);

Opholdsdatabase 1/4-68 til 1/1-03

Transkript:

PROC TRANSPOSE SAS-tabellen - hensigtsmæssig lagring af data Copyright 2011 SAS Institute Inc. All rights reserved.

Transponerede tabeller Brede eller smalle? Hvad: Brede tabeller har mange kolonner med nøgletal Smalle tabeller har få kolonner med nøgletal angivet i en indekseret kolonne Hvorfor: Brede tabeller kan være praktiske, når man har brug for at beregne på tværs af kolonner, fx i DATA STEP Smalle tabeller optimerer performance ift. SASprocedurer med anvendelse af BY såvel som CLASS og WHERE 2

Fra bred til smal tabel Med PROC TRANSPOSE Anvender tabellen SASHELP.CLASS Tilføjer kolonnen column_name, som får værdien Value Transponerer værdierne Age, Height og Weight proc transpose data=work.class out=work.transposed_class name=type id column_name by Name Sex var Age Height Weight run 3

Fra smal til bred tabel Med PROC TRANSPOSE Transponerer tilbage til bredt format Sammenligner, og data er identiske med udtagelse af label på column_name proc transpose data=work.transposed_class out=work.wide_data (rename=(_name_=value)) name=column_name id Type by Name Sex var Value run 4

PROC TRANSPOSE Andre options og statements Options: label - benytter kolonnenavne fra datasæt let - tillader dubletter i de transponerede værdier prefix - foranstående tekst på kolonner suffix - endelse på de transponerede kolonnenavne Statements: copy - kopierer værdi direkte idlabel - transponerer label fra smal til bred 5

Anvendelse af smalle tabeller Eksempler på procedurer som anvender BY statement CHART og PLOT COMPARE MEANS / SUMMARY SORT PRINT REPORT TABULATE UNIVARIATE og mange flere 6

Anvendelse af smalle tabeller Eksempel med PROC SUMMARY proc summary data=work.transposed_class PROC SUMMARY arbejder kolonnebaseret og anvender BY statement. Indeks defineres først. proc datasets library=work nolist nodetails modify transposed_class index create type / nomiss quit output by var run out=work.summary_table (drop=_type FREQ_) min=min max=max mean=mean var=var type value 7

Anvendelse af smalle tabeller Anvendelse af WHERE statement De førnævnte procedurer kan også benyttes sammen med WHERE statement WHERE er ligeledes anvendeligt i DATA STEP Med smalle tabeller kan man ved anvendelse af BY og WHERE reducere mængden af data, der læses fra disken Smalle tabeller reducerer tillige antallet af kolonner, og dermed den samlede rækkelængde Forklaring følger 8

Indlæsning af data I/O performance KEEP= eller DROP= forhindrer ikke indlæsningen af hele rækken i PDV en fra disken kun indlæsningen i hukommelsen 9

Indlæsning af data I/O performance Anvendes indeks på tabellen, kan læsning foregå med BY statement eller KEY= option via RANDOM ACCESS. POINT= kræver ikke indeks. Reducer den indlæste datamængde: Fjern unødvendige kolonner og begræns længde på variable Reducer BUFSIZE= mest muligt således, at Data Set Page Size reduceres tilsvarende Herved indlæses flest mulige rækker i mindst mulige klumper 10

Det brede vs. smalle datasæt PROC CONTENTS Oprindelig Ikke optimeret Optimeret Observations 2.664 111.888 111.888 Variable 44 5 4 Indices 0 2 2 Observation Length 352 96 56 Data Set Page Size 16.384 8.192 2.048 Number of Data Set Pages 60 1.334 3.110 First Data Page 1 1 1 Max Obs per Page 46 84 36 11

I/O Performance Hvad har vi opnået? Det er ikke længere nødvendigt at læse hele tabellen, fx proc print data=sashelp.class where type='height' run Optimerer vi datasættet yderligere, kan de ønskede informationer ligge i måske bare én eller ganske få Data Set Pages Hvad er den bredeste tabel du anvender? 12

SAS Data Integration Studio Transformationen Transpose SAS Data Integration Studio indeholder en god omfangsrig transformation til at transponere data. Den findes under Transformations => Data => Transpose Tilsæt en table loader og definer indeks på det endelige datasæt Herefter kan tabellen anvendes fx til analytiske formål med WHERE subsetting eller BY statement 13

Mere om PROC TRANSPOSE Henvisninger Grundlæggende indføring Paper 060-2009: Learn the Basics of PROC TRANSPOSE af Zirbel, Douglas http://support.sas.com/resources/papers/proceedings09/060-2009.pdf Dybere gennemgang Paper 033-2009: A Row Is a Row Is a Row, or Is It? Get Comfortable with Transposing Your Data af Williams, Christianna http://support.sas.com/resources/papers/proceedings09/033-2009.pdf I/O performance og optimeringsteknikker Programmering 3-kursus her på SAS Forum eller 4. juli på Købmagergade (3 dage) 14

Claus Ørskov, konsulent, SAS Institute A/S Claus.oerskov@sdk.sas.com Copyright 2011 SAS Institute Inc. All rights reserved.