Hej datum ställer till det eftersom tidräkningen startar olika i olika programvaror.
Om du läser in en CSV-fil kan det hända att datumet blir STRING-format. Det slipper du om du omvandlar CSV-filen till Excelformat innan du läser in den till SPSS (se tidigare inlägg Problem CSVfil och datum).
Om det ändå inte fungerar utan blir som i bilden ovan, så går det att göra om STRING-variabeln till ett datum - men måste göras i flera steg, först skapa ÅR, MÅNAD och DAG som 3 nya variabler och sen sätta ihop dessa via DATE AND TIME WIZARD.
Antingen gör du det via SYNTAX eller också via MENYER, du får båda alternativen nedan men SYNTAXEN tar bara några sekunder medan menyerna tar 10-15 minuter.
Skapa Datum från STRING via SYNTAX
För er som gått min introduktionskurs i SYNTAX så kan ni köra alla följande lila-färgade rader ner till bilden, så går det på några sekunder.
STRING ÅR (A4) MÅN (A2) DAG (A2).
COMPUTE ÅR=CHAR.SUBSTR(Exceldatum,1,4).
COMPUTE MÅN=CHAR.SUBSTR(Exceldatum,6,2).
COMPUTE DAG=CHAR.SUBSTR(Exceldatum,9,2).
EXECUTE.
ALTER TYPE ÅR(F4.0) MÅN(F2.0) DAG(F2.0).
FORMATS ÅR(F4.0) MÅN(F2.0) DAG(F2.0) .
EXECUTE.
* Date and Time Wizard: Datum.
COMPUTE Datum=DATE.DMY(DAG, MÅN, ÅR).
VARIABLE LABELS Datum "".
VARIABLE LEVEL Datum (SCALE).
FORMATS Datum (SDATE10).
VARIABLE WIDTH Datum(10).
EXECUTE.
Skapa Datum från STRING via MENYER
Ni som inte vågat använda SYNTAX ännu får utnyttja kommandona istället, se nedan instruktion i 2 steg
Steg 1: Skapa ÅR MÅNAD och DAG
Kommando: Transform - COMPUTE
och sen leta upp funktionen STRING och SUBSTRING.
***************************************************************************
Steg 2: Omvandla till DATUM
Använd kommandot Transform - Date and Time Wizard:
OBS, om dina substring-variabler ÅR, MÅNAD och DAG ser konstiga ut så kan det bero på tomrum i början och slutet:
För att slippa få med tomrum innan och efter kan man behöva använda TRIM (LTRIM och RTRIM) på strängvariabeln innan man startar allt.
Inga kommentarer:
Skicka en kommentar