Alternativa metoder för sammanslagning av tabeller i SAS. Fredrik Bernström och Johan Elfman Konsulter SAS Institute
|
|
- Karin Ekström
- för 8 år sedan
- Visningar:
Transkript
1 Alternativa metoder för sammanslagning av tabeller i SAS Fredrik Bernström och Johan Elfman Konsulter SAS Institute
2 Alternativa metoder för sammanslagning av tabeller i SAS Syfte med presentationen: Visa på alternativ till Merge och SQL Utöka verktygslådan Påvisa för- och nackdelar med de olika metoderna. 2
3 Alternativa metoder till Merge och SQL INTO & WHERE SET med KEY= option FORMAT HASH 3
4 Urval ur stor tabell sasforum.orders Order_ID... Customer_ID sasforum.bad_customers Customer_ID Indexerad på Customer_ID 4
5 Match-Merge data orders_subset; merge sasforum.bad_customers(in=a keep=customer_id) sasforum.orders(in=b); by customer_id; if a and b; run; 5
6 SQL Inner join proc sql; create table orders_subset as select a.* from sasforum.orders a, sasforum.bad_customers b where a.customer_id = b.customer_id ; quit; 6
7 SQL Select into Bygger på möjligheten att skapa makrovariabler med proc sql Kan användas för att göra enklare urval ur tabeller Har flera andra användningsområden, t.ex. att styra DO-loopar 7
8 SQL Select into proc sql noprint; select distinct customer_id into :subset separated by ', ' from sasforum.bad_customers; quit; data orders_subset; set sasforum.orders; where customer_id in (&subset); run; 8
9 SQL Select into proc sql noprint; select distinct customer_id into :subset separated by ', ' from sasforum.bad_customers; quit; data orders_subset; set sasforum.orders; where customer_id in (&subset); run; 9
10 SQL Select into proc sql noprint; select distinct customer_id into :subset separated by ', ' from sasforum.bad_customers; quit; data orders_subset; set sasforum.orders; where customer_id in (&subset); run; 10
11 SQL Select into proc sql noprint; select distinct customer_id into :subset separated by ', ' from sasforum.bad_customers; quit; data orders_subset; set sasforum.orders; where customer_id in (&subset); run; 11
12 SQL Select into proc sql noprint; select distinct customer_id into :subset separated by ', ' from sasforum.bad_customers; quit; data orders_subset; set sasforum.orders; where customer_id in (1, 2, 4, 5); run; 12
13 SQL Select into Fördelar: Data behöver ej vara sorterat eller indexerat Enkel programmering Har fler användningsområden än joins Nackdelar: Fungerar ej om urvalstabellen innehåller för många unika värden Nycklar endast på en variabel. 13
14 SET med KEY= option Datasteg med flera SET statements. Ger via index direktaccess till specifika rader i en tabell. Kan användas till såväl urval av rader i en stor tabell som slagning mot kodtabeller. 14
15 SET med KEY= option data orders_subset; set sasforum.bad_customers(keep=customer_id); set sasforum.orders key=customer_id; run; 15
16 SET med KEY= option data orders_subset; set sasforum.bad_customers(keep=customer_id); set sasforum.orders key=customer_id; if _iorc_ = %sysrc(_sok) then output; else if _iorc_ = %sysrc(_dsenom) then _error_=0; run; 16
17 SET med KEY= option data orders_subset; set sasforum.bad_customers(keep=customer_id); set sasforum.orders key=customer_id; if _iorc_ = %sysrc(_sok) then output; else if _iorc_ = %sysrc(_dsenom) then _error_=0; run; 17
18 SET med KEY= option data orders_subset; set sasforum.bad_customers(keep=customer_id); do until (_iorc_=%sysrc(_dsenom)); set sasforum.orders key=customer_id; if _iorc_ = %sysrc(_sok) then output; else if _iorc_ = %sysrc(_dsenom) then _error_=0; end; run; 18
19 SET med KEY= option Fördelar: Kan användas på osorterat data Kan hämta flera värden/kolumner i en slagning Kan nyckla på fler än en variabel (via komposit index) Nackdelar: Förhållandevis komplicerad kod Kräver index 19
20 Format Kan användas för att konvertera/översätta värden. Format kan skapas ifrån datakällor. Läses upp i minnet för snabb åtkomst. 20
21 Format Steg för steg - översikt 1. Utgå ifrån en tabell med ett nyckelvärde, och ett informationsvärde (t.ex. id resp. klartext). 2. Skapa en ny tabell med förutbestämda kolumnnamn 3. Skapa format genom att läsa in tabellen med proc format. 4. Använd formatet i ett datasteg. 21
22 Format - exempel Två tabeller: En tabell med orderinformation En tabell med produktkoder och produktnamn. 22
23 Format Två tabeller: En tabell med orderinformation En tabell med produktkoder och produktnamn. 23
24 Format Steg för steg 1. Utgå ifrån en tabell med ett nyckelvärde, och ett informationsvärde (t.ex. id resp. klartext). 2. Skapa en ny tabell med förutbestämda kolumnnamn 3. Skapa format genom att läsa in tabellen med proc format. 4. Använd formatet i ett datasteg. 24
25 Format En tabell med ett nyckelvärde en klartext 25
26 Format Steg för steg 1. Utgå ifrån en tabell med ett nyckelvärde, och ett informationsvärde (t.ex. id resp. klartext). 2. Skapa en ny tabell med förutbestämda kolumnnamn 3. Skapa format genom att läsa in tabellen med proc format. 4. Använd formatet i ett datasteg. 26
27 Format Kolumnnamn (måste): FMTNAME = Namn på formatet (utan $ och.) TYPE = N eller C START = Nyckelvärde LABEL = Etikett Kolumnnamn (ev): END = Vid numeriska intervallformat HLO = Typ av värde. T.ex. Other (O), High(H) 27
28 Format Skapa formattabell utifrån befintlig tabell data fmtin_data; length fmtname $32 type $1; retain fmtname 'prodfmt' type 'N'; set sasfdata.products(keep=product_id product_name); rename product_id = start product_name = label ; run; 28
29 Format En tabell med ett formatnamn ett formattypvärde ett startvärde / nyckelvärde en etikett / klartext 29
30 Format Steg för steg 1. Utgå ifrån en tabell med ett nyckelvärde, och ett informationsvärde (t.ex. id resp. klartext). 2. Skapa en ny tabell med förutbestämda kolumnnamn 3. Skapa format genom att läsa in tabellen med proc format. 4. Använd formatet i ett datasteg. 30
31 Format Skapa format utifrån formattabell proc format cntlin=fmtin_data; run; 31
32 Format Skapa format utifrån formattabell 25 proc format cntlin=fmtin_data; NOTE: Format PRODFMT has been output. 26 run; NOTE: PROCEDURE FORMAT used (Total process time): real time 0.15 seconds cpu time 0.04 seconds NOTE: There were 5579 observations read from the data set WORK.FMTIN_DATA. 32
33 Format Steg för steg 1. Utgå ifrån en tabell med ett nyckelvärde, och ett informationsvärde (t.ex. id resp. klartext). 2. Skapa en ny tabell med förutbestämda kolumnnamn 3. Skapa format genom att läsa in tabellen med proc format. 4. Använd formatet i ett datasteg. 33
34 Format Använd nyckelvärdet för att slå mot formatet och få tillbaka det formaterade värdet. data customer_orders; set custorders; length product_name $30; product_name = put(product_id, prodfmt.); run; 34
35 Format Komplett tabell: 35
36 Format data fmtin_data; length fmtname $32 type $1; retain fmtname 'prodfmt' type 'N'; set sasfdata.products(keep=product_id product_name); rename product_id = start product_name = label ; run; proc format cntlin=fmtin_data; run; data customer_orders; set custorders; length product_name $30; product_name = put(product_id, prodfmt.); run; 36
37 Format Fördelar: Ingen sortering av datakällor behövs Snabb exekvering Enkelt att använda. Nackdelar: Något komplicerat att skapa formatet Endast ett värde returneras per slagning. Endast ett nyckelvärde kan användas. Långsam vid stora datamängder. 37
38 Hash-objekt Nyhet i SAS9. Data Step Component Interface. Hash: Objekt i minnet som går mycket fort att söka i m.h.a. nyckelvärden (direct-addressing). Läs in en (eller flera) tabeller i minnet och använd dem för att hitta värden. 38
39 Hash-objekt
40 Hash, binärsökning Antal tester om man har värden: Sekvensiellt medelvärde: 500 Binärsökning, (max): 10 Antal tester om man har värden: Sekvensiellt medelvärde: Binärsökning, (max): 20 40
41 Hash Steg för steg. Inne i data steget: 1. Deklarera variabler som ej finns i huvudtabell. 2. Initiera variabler som ej finns i huvudtabell. 3. Deklarera hash-objektet. 4. Läs in tabell i till hashobjektet 5. Starta läsning av grunddata, och slå mot hashobjektet. 41
42 Hash data outtable; set custorders; length product_name $45; if _n_ = 1 then do; call missing(product_name); declare hash prod(dataset: "sasfdata.products", hashexp: 8); prod.definekey('product_id'); prod.definedata('product_name'); prod.definedone(); end; rc = prod.find(); run; 42
43 Hash Steg för steg. Inne i data steget: 1. Deklarera variabler som ej finns i huvudtabell. 2. Initiera variabler som ej finns i huvudtabell. 3. Deklarera hash-objektet. 4. Läs in tabell i till hashobjektet 5. Starta läsning av grunddata, och slå mot hashobjektet. 43
44 Hash data outtable; set custorders; length product_name $45; if _n_ = 1 then do; call missing(product_name); 44
45 Hash Steg för steg. Inne i data steget: 1. Deklarera variabler som ej finns i huvudtabell. 2. Initiera variabler som ej finns i huvudtabell. 3. Deklarera hash-objektet. 4. Läs in tabell i till hashobjektet 5. Starta läsning av grunddata, och slå mot hashobjektet. 45
46 Hash declare hash prod(dataset: "sasfdata.products", hashexp: 8); 1. Deklarera objektet 2. Namn 3. Inkälla 4. Hash-exponent (storlek) 46
47 Hash declare hash prod(dataset: "sasfdata.products", hashexp: 8); 1. Deklarera objektet 2. Namn 3. Inkälla 4. Hash-exponent (storlek) 47
48 Hash declare hash prod(dataset: "sasfdata.products", hashexp: 8); 1. Deklarera objektet 2. Namn 3. Inkälla 4. Hash-exponent (storlek) 48
49 Hash declare hash prod(dataset: "sasfdata.products", hashexp: 8); 1. Deklarera objektet 2. Namn 3. Inkälla 4. Hash-exponent (storlek) 49
50 Hashexponent Hashexp anger hur många Hash-buckets man skall ha. En Bucket är ett binär-träd. Värdet är en exponent ( Antal = 2 ** Hashexp) Alltså ger hashexp=2 nedan. 4 st buckets, enligt bild 50
51 Hash Steg för steg. Inne i data steget: 1. Deklarera variabler som ej finns i huvudtabell. 2. Initiera variabler som ej finns i huvudtabell. 3. Deklarera hash-objektet. 4. Läs in tabell i till hash-objektet 5. Starta läsning av grunddata, och slå mot hashobjektet. 51
52 Hash objekt: Metoder definekey() Vilket värde är nyckel? definedata() Vilket värde skall lagras? definedone() Slut på deklarationen av objektet. declare hash prod(dataset: "sasfdata.products", hashexp: 8); prod.definekey('product_id'); prod.definedata('product_name'); prod.definedone(); 52
53 Hash Steg för steg. Inne i data steget: 1. Deklarera variabler som ej finns i huvudtabell. 2. Initiera variabler som ej finns i huvudtabell. 3. Deklarera hash-objektet. 4. Läs in tabell i till hashobjektet 5. Starta läsning av grunddata, och slå mot hash-objektet. 53
54 Hash objekt: Metoder find() Hitta värde? add, remove, replace, check, num_items, delete, output... /* Nyckelvärdesvariabel skapad innan med rätt namn och med värde */ rc = prod.find(); Om rc = 0 så finns nyckelvärdet i hash-objektet. 54
55 Hash data outtable; set custorders; length product_name $45; if _n_ = 1 then do; call missing(product_name); declare hash prod(dataset: "sasfdata.products", hashexp: 8); prod.definekey('product_id'); prod.definedata('product_name'); prod.definedone(); end; rc = prod.find(); run; 55
56 122 data Hash outtable; 123 set custorders; 124 length product_name $45; 125 if _n_ = 1 then do; 126 call missing(product_name); declare hash prod(dataset: "sasfdata.products", hashexp: 8); 129 prod.definekey('product_id'); 130 prod.definedata('product_name'); 131 prod.definedone(); 132 end; 133 rc = prod.find(); 134 run; Hash - Log NOTE: There were 5579 observations read from the data set SASFDATA.PRODUCTS. NOTE: There were 15 observations read from the data set WORK.CUSTORDERS. NOTE: The data set WORK.OUTTABLE has 15 observations and 8 variables. NOTE: DATA statement used (Total process time): real time 0.01 seconds Fredrik Bernström cpu time & Johan Elfman, SAS Institute 0.02 AB seconds 56
57 Hash tre tabeller 57
58 data orderswithprodsup; set custorders; length product_name $45 supplier_id 8 supplier_name country $40; if _n_ = 1 then do; declare hash prod(dataset: "sasfdata.products", hashexp: 8); prod.definekey('product_id'); prod.definedata('product_name'); prod.definedata('supplier_id'); prod.definedone(); declare hash sup(dataset: "sasfdata.supplier", hashexp: 8); sup.definekey('supplier_id'); sup.definedata('supplier_name'); sup.definedata('country'); sup.definedone(); call missing(product_id, product_name, supplier_id, supplier_name, country); end; rc = prod.find(); rc2 = sup.find(); format country $COUNTRY.; run; 58
59 Hash tre tabeller NOTE: There were 5579 observations read from the data set SASFDATA.PRODUCTS. NOTE: There were 64 observations read from the data set SASFDATA.SUPPLIER. NOTE: There were 15 observations read from the data set WORK.CUSTORDERS. NOTE: The data set WORK.ORDERSWITHPRODSUP has 15 observations and 12 variables. NOTE: DATA statement used (Total process time): real time 0.03 seconds cpu time 0.04 seconds 59
60 Hash tre tabeller 60
61 Hash Fördelar: Snabbt (in memory) Flexibelt (En eller flera tabeller, sortering, många till många) Nackdelar: Man får ej med kolumnattribut från inlästa tabeller Annorlunda programmering än vad vi är vana vid. 61
62 Vad avgör val av teknik? Programmerarens kunskaper Förvaltning Prestanda Viljan att prova på nya saker och utvecklas! 62
63 63
Statistikens grunder 1 och 2, GN, 15 hp, deltid, kvällskurs
Statistikens grunder och 2, GN, hp, deltid, kvällskurs TE/RC Datorövning 3 Syfte:. Lära sig göra betingade frekvenstabeller 2. Lära sig beskriva en variabel numeriskt med proc univariate 3. Lära sig rita
Introduktionskurs i SAS Base
Introduktionskurs i SAS Base Del 3 Sammanslagning av dataset (joins) och grundläggande SAS/SQL Detta material skyddas av upphovsrättslagen och får inte kopieras eller på annat sätt spridas utan upphovsmannens
Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata
Innehåll MySQL Intro Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata 1 Lagrad procedur / Stored Procedure Lagrad procedur har många namn, förkortningen
2. Lära sig beskriva en variabel numeriskt med "proc univariate" 4. Lära sig rita diagram med avseende på en annan variabel
Datorövning 1 Statistikens Grunder 2 Syfte 1. Lära sig göra betingade frekvenstabeller 2. Lära sig beskriva en variabel numeriskt med "proc univariate" 3. Lära sig rita histogram 4. Lära sig rita diagram
WCMS-15, Webbutvecklare CMS
WCMS-15, Webbutvecklare CMS Övningstentamen, delkurs Dynamiska webbplatser (20 YH-poäng) Plats: Medieinstitutet, Malmö Tid: 25 november 2015, kl. 13.00-16.00 Tillåtna hjälpmedel: Papper, penna, suddgummi,
Använda några av de vanligaste PROC:arna. Sammanställa och presentera data i tabeller och grafiskt
Datorövning 1 Statistisk teori med tillämpningar Repetition av SAS Syfte Syftet med Datoröving 1 (D1) är att repetera de SAS-kunskaperna från tidigare kurser samt att ge en kort introduktion till de studenter
Målet för D1 är att studenterna ska kunna följande: Använda några av de vanligaste PROC:arna. Sammanställa och presentera data i tabeller och grafiskt
Datorövning 1 Statistisk teori med tillämpningar Repetition av SAS Syfte Syftet med Datoröving 1 (D1) är att repetera de SAS-kunskaperna från tidigare kurser samt att ge en kort introduktion till de studenter
Du skall naturligtvis visa körexempel med output där det behövs i din rapport!
och databprogrammering Christilinda Göstson - PL/SQL, paket och ref cursor Du skall naturligtvis visa körexempel med output där det behövs i din rapport! OBS! Denna labb redovis i labbrapport via mail
Sökning och sortering. Sökning och sortering - definitioner. Sökning i oordnad lista. Sökning med vaktpost i oordnad lista
Sökning och sortering Sökning och sortering - definitioner Att söka efter data man lagrat undan för senare användning är vanligt Egentligen har man ingen annan anledning för att lagra undan data Har man
Sökning och sortering
Sökning och sortering Att söka efter data man lagrat undan för senare användning är vanligt Egentligen har man ingen annan anledning för att lagra undan data Har man mycket data och många sökningar måste
Övningar i SQL. SQLAccess.doc Ove Lundgren 2000-11-14
Övningar i SQL Övningar i SQL Använd Access för att öva SQL (= Structured Query Language) Skapa tabeller med SQL 1. Ny databas: SQLÖVNING Klicka: Frågor > Ny > Design > OK >Stäng > SQL Radera ordet SELECT.
Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)
Databasföreläsning Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Tabeller Personer Databas Nummer Namn Födelseår 1 Tina 1950 2 Siv 1965 3 Olle 1980 Platt databas: all information
Support Manual HoistLocatel Electronic Locks
Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing
Sample exam questions. Database exam TIG058
Sample exam questions Database exam TIG058 Distribution of topics covered 1. Grundläggande om Databaser och Databashanterare (5p) 2. SQLite-databashanteraren (5p) 3. SQL - SELECT, ORDER BY, WHERE, LIMIT
Johan Elfman Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.
SAS Institute bygger en analysmiljö på SSAB Johan Elfman Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved. Innehåll Beskrivning av projektet. Vad som gjordes, varför och
ADO.NET Murach Kapitel 17-20
Databaser och C# ADO.NET Murach Kapitel 17-20 2013-01-30 1 Winstrand Development Databas ADO.NET Är en del av.net ramverket och tillhandahåller delar för att kommunicera med olika datakällor. Dessa kan
Sökning i ordnad lista. Sökning och sortering. Sökning med vaktpost i oordnad lista
Sökning och sortering Sökning i oordnad lista Att söka efter data man lagrat undan för senare användning är vanligt Egentligen har man ingen annan anledning för att lagra undan data Har man mycket data
Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14
Labb LIVE Exempelkod från föreläsningen Plushögskolan Frågeutveckling inom MSSQL - SU14 Här kommer exempelkoden jag använde under föreläsningen Exemplen Constraints... 2 Transactions... 4 Views... 5 Functions...
Databasutveckling Introduktion till SQL och TSQL
Databasutveckling Introduktion till SQL och TSQL Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Introduktion till SQL SELECT satsen, enkla frågor Hämta specifika kolumner Alias
Föreläsning 5 Datastrukturer (DAT037)
Föreläsning 5 Datastrukturer (DAT037) Nils Anders Danielsson, Fredrik Lindblad 2016-11-14 Förra gången: Cirkulära arrayer Prioritetskö Binära heapar Leftistheapar merge Det verkar inte gå att slå ihop
1. Lära sig beräkna kon densintervall och täckningsgrad 2. Lära sig rita en exponentialfördelning 3. Lära sig illustrera centrala gränsvärdessatsen
Datorövning 2 Statistikens Grunder 2 Syfte 1. Lära sig beräkna kon densintervall och täckningsgrad 2. Lära sig rita en exponentialfördelning 3. Lära sig illustrera centrala gränsvärdessatsen Exempel Beräkna
Innehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index
Innehåll MySQL Intro Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och
DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index
INNEHÅLL SQL DEL 4 DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index Chapter 3, 6, 8 delar av. Beginning SQL Server 2008 for Developers 1 CREATE
Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering!
Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering! Samlingar Vi kommer att behöva hantera samlingar av objekt - Har oftast använd Array (fält) - Bra om
Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista
Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda
Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner
INNEHÅLL Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner Kapitel 5 och 6. Beginning SQL Server 008
SQLs delar. Idag. Att utplåna en databas. Skapa en databas
Idag SQLs delar Hur skapar vi och underhåller en databas? Hur skapar man tabeller? Hur får man in data i tabellerna? Hur ändrar man innehållet i en tabell? Index? Vad är det och varför behövs de? Behöver
15-1. MONITOR IT-utbildning
Sortering 15-1 Sortering I detta kapitel skall vi ta en titt på hur vi kan använda sorteringsprogrammet från ett COBOL-program, s.k. internsortering. 15-2 Sortering 15-3 Sortering Vid sortering så finns
Vyer, Prepared Statements, Triggers
Vyer, Prepared Statements, Triggers Vyer En vy är en virtuell tabell, som ej behöver existera fysiskt, en namngiven fråga En vy är inte snabbare än SELECT satsen som definierar vyn Det är möjligt att ställa
Hashing Bakom kulisserna på Pythons dictionary
Hashing Bakom kulisserna på Pythons dictionary Innehåll Några förenklingar Olika ideer om hashing I python förr Och nu DA2001 (Föreläsning 20) Datalogi 1 Hösten 2018 1 / 32 Några förenklingar I början
Hashing Bakom kulisserna på Pythons dictionary. Leta i listor Osorterade listor. Leta i listor Sorterade listor
Hashing Bakom kulisserna på Pythons dictionary Några förenklingar I början av den här diskussionen kommer jag titta enbart på listor som innehåller numeriska värden. Innehåll Några förenklingar Olika ideer
Statistikens grunder 1 och 2, GN, 15 hp, deltid, kvällskurs
Statistikens grunder 1 och 2, GN, 15 hp, deltid, kvällskurs TE/RC Datorövning 4 Syfte: 1. Lära sig beräkna konfidensintervall och täckningsgrad 2. Lära sig rita en exponentialfördelning 3. Lära sig illustrera
Introduktionskurs i SAS
Introduktionskurs i SAS Del 4 Makroprogrammering Detta material skyddas av upphovsrättslagen och får inte kopieras eller på annat sätt spridas utan upphovsmannens (Knowit Software Solutions AB) skriftliga
Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14
Labb LABB 1 Databassagan och en rundtur i databasers märkliga värld Plushögskolan Frågeutveckling inom MSSQL - SU14 I Microsoft SQL-Server Management Studio kan man arbeta på olika sätt. Antingen via användargränssnittet
Databaser. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se
Databaser, Department of Computing Science, Umeå University - jem@cs.umu.se Databaser Finns några olika typer Relationsdatabaser är vanligast Vi kommer bara att prata om relationsdatabaser Strukturerad
Hashing Bakom kulisserna på Pythons dictionary
Hashing Bakom kulisserna på Pythons dictionary Innehåll Några förenklingar Leta i listor Olika ideer om hashing I python förr Och nu DA2001 (Föreläsning 20) Datalogi 1 Hösten 2018 1 / 32 Några förenklingar
TENTAMEN DATABASKUNSKAP ITEK12
TENTAMEN DATABASKUNSKAP ITEK12 Tid: Fredag den 19 oktober kl. 9-00-12.00, sal D409 Tillåtna hjälpmedel: Endast papper och penna. Poäng: Maxpoäng: 56. Gräns för G: 50%. Gräns för VG: 75%. Om något som verkar
Structured query language (SQL)
Structured query language SQL) Varför SQL? SQL är ett standardspråk som är oberoende av databashanteringssystemen som finns på marknaden. Med andra ord kommer du kunna arbeta mot nästan alla sorters relationsdatabaser
Lektion 7. Datateknik A, Java I, 5 poäng
Datateknik A, Syfte: Att kunna skapa och använda fält av både primitiva typer och egendefinierade klasser. Kunna skriva en egen enkel algoritm för sortering samt använda befintliga klasser i Javas API
Hjälpmedel för kompilatorkonstruktion, DVB004
Hjälpmedel för kompilatorkonstruktion, DVB004 Version 4.2 021104 Göran Fries 031104 GF Kompilatorn kan lämpligen konstrueras i tre ganska fristående pass (p1,p2,p3). Första passet gör en lexikalisk analys,
Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.
SQL result Host: s384.loopia.se Database: webbfunktion_com Generation Time: Mar 25, 2016 at 12:55 AM Generated by: phpmyadmin 4.4.15.5 / MySQL 5.6.27-log SQL query: SELECT, CAST(Value AS DEC) as FROM `webbanalysblogg-uppsala`
Objektsamlingar i Java
1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och
Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20
Idag Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten 2009 1 / 20 Idag Hur skapar vi och underhåller en databas? Hur skapar man tabeller?
Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås
Schenker Privpak AB Interface documentation for web service packageservices.asmx 2012-09-01 Version: 1.0.0 Doc. no.: I04304b Sida 2 av 7 Revision history Datum Version Sign. Kommentar 2012-09-01 1.0.0
Målet för D3 är att studenterna ska kunna följande: Dra slumptal från olika sannolikhetsfördelningar med hjälp av SAS
Datorövning 3 Statistisk teori med tillämpningar Simulering i SAS Syfte Att simulera data är en metod som ofta används inom forskning inom ett stort antal ämnen, exempelvis nationalekonomi, fysik, miljövetenskap
GOTO och lägen. Några saker till och lite om snabbare sortering. GOTO och lägen (3) GOTO och lägen (2)
Några saker till och lite om snabbare sortering GOTO och lägen GOTO hemskt eller ett måste? CASE enkla val över diskreta värdemängder Snabb sortering principer Snabb sortering i Scheme och Pascal QuickSort
F9 - Polymorfism. ID1004 Objektorienterad programmering Fredrik Kilander
F9 - Polymorfism ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Polymorfism - flerformighet Vi vet vad metoden heter (signaturen) Men vi vet inte vid anropet exakt vilken metod som faktiskt
Några saker till och lite om snabbare sortering
Några saker till och lite om snabbare sortering GOTO hemskt eller ett måste? CASE enkla val över diskreta värdemängder Snabb sortering principer Snabb sortering i Scheme och Pascal QuickSort (dela städat
Föreläsning Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-20 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får
4 grundregler. Minneshantering. Problemet. Windows minkrav
4 grundregler 1. Man kan aldrig få för mycket minne 2. Minnet kan aldrig bli för snabbt Minneshantering 3. Minne kan aldrig bli för billigt 4. Programmens storlek ökar fortare än minnet i datorerna (känns
Structured Query Language (SQL)
Structured Query Language (SQL) Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Introduktion Enkla frågor (queries) Hämta en specifik kolumn Sök Sammanfattning
4. Kunna orientera sig mellan de olika fönstren
Datorövning 1 Statistikens Grunder 1 Syfte 1 Lära sig läsa in data i SAS 2 Importera data från Excel 3 Lära sig skriva ut data med proc print 4 Kunna orientera sig mellan de olika fönstren Exempel Att
Föreläsning 9 Innehåll
Föreläsning 9 Innehåll Binära sökträd algoritmer för sökning, insättning och borttagning, implementering effektivitet balanserade binära sökträd, AVL-träd Abstrakta datatyperna mängd (eng. Set) och lexikon
Introduktion till Jasmine 1.2 ODQL
Introduktion till Jasmine 1.2 ODQL I detta avsnitt beskrivs ett antal praktiska handgrepp som behövs för att köra Jasmine ODQL. 1 ODQL miljön Man kan enklast köra ODQL mot Jasmine från ett vanligt Command
Dagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler
21-1-2 1 Dagens föreläsning Hur fungerar ett Lisp system intern struktur av symbolen, tal, listan pekare - delade strukturer - eq minneshantering fri lista - sophämtning/garbage collection stack Diverse
Lösningar Datastrukturer TDA
Lösningar Datastrukturer TDA416 2016 12 21 roblem 1. roblem 2. a) Falskt. Urvalssortering gör alltid samma mängd av jobb. b) Sant. Genom att ha en referens till sista och första elementet, kan man nå både
Tommy Färnqvist, IDA, Linköpings universitet
Föreläsning 8 Sortering och urval TDDC70/91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 1 oktober 2013 Tommy Färnqvist, IDA, Linköpings universitet 8.1 Innehåll Innehåll 1 Sortering
Statistikens grunder 1 och 2, GN, 15 hp, deltid, kvällskurs
Statistikens grunder 1 och 2, GN, 15 hp, deltid, kvällskurs TE/RC Datorövning 1 Syfte: 1. Lära sig läsa in data i SAS 2. Importera data från Excel 3. Lära sig skriva ut data med proc print 4. Kunna orientera
Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Programmering B med Visual C++ 2008
Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,
Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 12 I torsdags: Klassen TelefonKostnad Exemplifierar objektorienterad design, metoder, konstruktorer static Standardklassen Math Matematiska
Datorövning 5. Statistisk teori med tillämpningar. Lära sig beräkna konfidensintervall och utföra hypotestest för:
Datorövning 5 Statistisk teori med tillämpningar Hypotestest i SAS Syfte Lära sig beräkna konfidensintervall och utföra hypotestest för: 1. Populationsmedelvärdet, µ. 2. Skillnaden mellan två populationsmedelvärden,
Skapa exempeldatabasen
Skapa exempeldatabasen Koden i detta dokument är avsedd att exekveras i SQL Editor i MySQL Workbench. Skapa databasen För att kunna använda svenska alfabetet för lagring av data deklareras teckenensuppsättningen
TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18
TDDC74 Programmering: Abstraktion och modellering Datortenta - 2018-06-07, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis
Introduktionskurs i SAS. Del 1 Datastegsprogrammering
Introduktionskurs i SAS Del 1 Datastegsprogrammering Detta material skyddas av upphovsrättslagen och får inte kopieras eller på annat sätt spridas utan upphovsmannens (Knowit Information Management) skriftliga
F7 - Arrayer. ID1004 Objektorienterad programmering Fredrik Kilander
F7 - Arrayer ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Array, arrayer, arrayen En array är en lista av variabler av samma typ Arrayen har en fast längd (antal element) Enskilda
SQL, nästlade delfrågor 3-19. Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga.
SQL, nästlade delfrågor 3-19 Nästlade delfrågor SQL har en mekanism för nästling av delfrågor: En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga. Delfrågor används
Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista
Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda
Föreläsning 8. Designmönster
Föreläsning 8 Designmönster Designmönster När man designar program kan det vara viktigt att förstå hur man tidigare gått till väga när man konstruerat program. Kännedom om dessa tillvägagångssätt kan snabba
Tabeller och kolumner SQL. Lägga till en ny post. Lägga till en ny post
SQL Structured Query Language Frågespråk för att används för data åtkomst data manipulation Kommandon Lägga in ny data, INSERT Ändra data, UPDATE Radera data, DELETE Hämta data, SELECT mfl Rader Tabeller
Innehåll Programability Del 2
Innehåll Programability Del 2 Transaktioner Returvärden och OUTPUT Dynamisk SQL CURSOR / FECTH Trigger Chapter 8, 10 och 13. Beginning SQL Server 2008 for Developers Sven Åke Johansson Institutionen Institutionen
Twincat: PLC Control
Dokument Förklaring Dat. Revision KI-221-003-003 Kom igång med trukturerad Text 080402 1.0 Twincat: PLC Control Kom igång med Strukturerad Text (ST) programmering 1. Kod exempel. a. Exemplen som demonstreras
ÖVERVAKNING AV SQL SERVER
ÖVERVAKNING AV SQL SERVER Hantering resurser för samtidiga användare Övervakning av SQL Servers aktiviteter Hantering av blockerade processer Användning av SQL Profiler för att hitta besvärliga frågor
Typkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
Introduktion till frågespråket SQL (v0.91)
DD1370: Databaser och Informationssystem Hösten 2014 Petter Ögren Introduktion till frågespråket SQL (v0.91) 13:e November Disclaimer: Dessa anteckningar har producerats under viss tidspress, och kan därför
F5: Högnivåprogrammering
F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via
F5: Högnivåprogrammering
1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data
Abstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet.
-Algoritmer och Datastrukturer- Abstrakt datatyp Datatyp för en variabel Betecknar i ett programmeringsspråk den mängd värden variabeln får anta. T ex kan en variabel av typ boolean anta värdena true och
Tentamen i. TDDA 69 Data och programstrukturer
1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDA 69 Data och programstrukturer Torsdag den 14 januari 2009, kl 14-18 Hjälpmedel: Inga. Poänggränser: Maximalt
Föreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse
GRUNDER I VHDL Innehåll Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse KOMPONENTMODELL Modell för att beskriva komponenter Externt interface Intern funktion
Statistik över heltal
Övningsuppgift Statistik över heltal Steg 2 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande
Sökning. Viktiga algoritmer sökning och sortering. Sökning i en oordnad tabell:
Viktiga algoritmer sökng och sorterg När man sparar data (formation) gör man det alltid utifrån något behov av att senare använda det man har sparat. Det kan ju vara av juridiska krav på dokumentation
Att skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
Magnus Nielsen, IDA, Linköpings universitet
Föreläsning 7 Introduktion till sortering TDDC91,TDDE22,725G97: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 24 september 2018 Magnus Nielsen, IDA, Linköpings universitet 7.1 1
Översikt över Visual Basic
Översikt över Visual Basic Om denna översikt Denna översikt ger en kort introduktion till de viktigaste delarna i programspråket Visual Basic 6.0. På alla ställen där det beskrivs hur man skriver kod gäller
MySQL - testmiljöer på minuter. Thomas Johansson IT-avdelningen
MySQL - testmiljöer på minuter Thomas Johansson IT-avdelningen 1 Kort presentation! MySQL-DBA Unix-gubbe sedan 90-talet 2 Testmiljöer för MySQL För att testa innan uppgradering För att testa uppgradering
Föreläsning 4 Datastrukturer (DAT037)
Föreläsning 4 Datastrukturer (DAT07) Fredrik Lindblad 1 november 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/2015/course/dat07 1 Innehåll
Vad gör européer på dagarna? Anders Kraftling SAS-ansvarig Statistiska Centralbyrån
Vad gör européer på dagarna? Anders Kraftling SAS-ansvarig Statistiska Centralbyrån Agenda Hur man med SAS kan ta reda på vad européerna gör! Vad gör européer på dagarna? Ett uppdrag från Eurostat Bakgrund
Programkonstruktion och. Datastrukturer
Programkonstruktion och Datastrukturer Repetitionskurs, sommaren 2011 Datastrukturer (hash-tabeller och heapar) Elias Castegren elias.castegren.7381@student.uu.se Arrayer igen En array är en linjär datastruktur
1.Lär känna MS SQL Observera. Tips. Förberedelse
1.Lär känna MS SQL 2008 Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill genomföra
Objektorienterad Programmering (OOP) Murach s: kap 12-16
Objektorienterad Programmering (OOP) Murach s: kap 12-16 2013-01-28 1 Winstrand Development Objektorienterad Programmering Förkortas OOP Objektorientering innebär att man delar in koden i olika block,
Visual Basic, en snabbgenomgång
Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika
Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.
Vad är en databas? Exempel på databaser: Kortregister på kontor Sjukvårdsjournal Bokregister på bibliotek Medlemsregister i en förening Kundregister på företag Telefonkatalogen Databas = Organiserad samling
Objektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)
Objektorienterad programmering Föreläsning 9 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Fält Grunderna Fält med komponenter av struct-typ Fält med referenser Standardklassen
Föreläsning 6: Metoder och fält (arrays)
TDA 545: Objektorienterad programmering Föreläsning 6: Metoder och fält (arrays) Magnus Myréen Chalmers, läsperiod 1, 2015-2016 I (föregående och) denna föreläsning Läsanvisning: kap 2 & 13 meddelanden
Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).
Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.
Design och underhåll av databaser
Design och underhåll av databaser 1. Modell av verkligheten 2. Normalformer 3. Introduktion till DDL 4. Skapa databaser 5. Skapa tabeller 6. Skapa index 7. Restriktioner 8. Ta bort databaser, tabeller
Programmeringsmetodik DV1 Programkonstruktion 1. Moment 8 Om abstrakta datatyper och binära sökträd
Programmeringsmetodik DV1 Programkonstruktion 1 Moment 8 Om abstrakta datatyper och binära sökträd PK1&PM1 HT-06 moment 8 Sida 1 Uppdaterad 2005-09-22 Tabeller En viktig tillämpning är tabellen att ifrån
Tentamen i Introduktion till programmering
Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel: