Join Now

Import af fil fra jobindsats.dk via et infile-statement

by Contributor SanderEhmsen on ‎11-03-2015 03:31 AM (483 Views)

Hej community

 

Jeg vil gerne have importeret en tabel fra jobindsats.dk 

 

Jeg har ladet mig inspirere fra en anden kodestump, jeg fandt og har skrevet følgende:

 


filename jobindsats
url
'http://kortlink.dk/hpw3'
;
data test;
infile jobindsats encoding='utf-8';
format sted tid antal $50.;
input sted $ tid $ antal;
run;

 

 

Hvad gør jeg galt?

 

Følgende kan jeg sagtens få til at virke: 

 

filename dst
url
'http://api.statbank.dk/v1/data/Folk1/CSV?valuePresentation=Value&Tid=*&K%C3%B8n=*&Omr%C3%A5de=*&alde...
;

data test;
infile dst dlm=';' encoding="utf-8";
format kvartal koen kommune Alder $50.;
input kvartal $ koen $ Kommune $ alder $ antal;
run;

Comments
by Contributor ThomasPalm
on ‎11-03-2015 04:29 AM

Jeg har også ladet mig inspirere af noget tidligere kode jeg har lavet, og med små modifikationer kommet frem til følgende:

/* SAS af Thomas Palm, november 2015 */
%let folderdelimiter=\;
%let filloc = %sysfunc(getoption(work))&folderdelimiter.download.xlsx;
%put Download path: &filloc;
filename download "&filloc";
 
/* Download filen */
proc http
	method='GET'
	url="http://kortlink.dk/hpw3"
	out=download;
run;
filename download clear;

/* Import excel ark */
proc import _debug_ datafile="&filloc"
	out=data
	DBMS=excel replace;
run;

 

Jeg ved dog ikke helt hvad jeg skal synes om Excel-filen der bliver hentet - den arter sig ikke rigtigt til SAS-import, men det kan du måske selv få til at virke. 

by Contributor SanderEhmsen
on ‎11-03-2015 06:59 AM

Hej Thomas

 

Tak for din omformede kode. 

 

Det virker! Og det er hovedpointen, når man er praktiker.

 

Jeg kan dog ikke undgå at undre mig over, at du laver en makro for folderdelimiter. Var det ikke nemmere bare at skrive \ i makroen filloc?

 

Men det skyldes nok, at det netop er rekodet kode.

 

Tak!

by Contributor ThomasPalm
on ‎11-03-2015 07:12 AM
Jeg tror tanken oprindeligt var, at hvis man havde en lang sti og pludselig skulle afvikle på et andet styresystem, så kunne det ændres.. Du har selvfølgelig ret i, at den delimiter tager længere tid at skrive som macro-variabel fremfor bare at skrive den i sin rene form.. :-)