Skip to main content
Announcements
Happy New Year! Cheers to another year of collaboration, connections and success.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

ESTRAZIONE DELLA DATA

Salve a tutti sono nuovo è avrei bisogo di aiuto

vi chiedo visto che tramite odbc estraggo dal mio database dei campi tra cui la data in questo formato  081201   dove 08 stà per anno (2008) 12 stà per mese ( Dicembre ) e 01 sta per giorno visto che vorrei avere una data suddivisa in tre esempio una colonna con l'anno una colonna con il mese e una colonna con i girni qualcuno mi può spiegare come posso fare ( forse con una sql )

grazie 1000

1 Solution

Accepted Solutions
Not applicable
Author

Buongiorno

Altro problema ho due file il primo si chiama X1STAT0F e il secondo si chiama S2STAT0F all’interno dei due file ci sono dei campi che riportano i medesimi nomi esempi X1GRUP come faccio a far estrarre solo una riga dei due file ???’

Come al solito grazie 1000

View solution in original post

21 Replies
maxgro
MVP
MVP

Ciao Luca

trovi molte cose utili qui

http://community.qlik.com/blogs/qlikviewdesignblog/2012/06/07/get-the-dates-right

e qui (oppure cercando nel forum master calendar)

http://community.qlik.com/blogs/qlikviewdesignblog/2012/10/16/the-master-calendar

ad esempio nel tuo caso

Tmp:

LOAD * INLINE [

Data

081201

121201

131231

140101

];

Table:

LOAD

  NuovaData,

  Year(NuovaData) as AnnoNuovaData,

  Month(NuovaData) as MeseNuovaData,

  Day(NuovaData) as DataNuovaData

  ;

NoConcatenate LOAD

  Date(Date#(Data, 'YYMMDD')) as NuovaData

Resident

  Tmp;

DROP Table Tmp;

Not applicable
Author

Scusa ma mia ignoranza

Immagino che tale codice che mi hai riportato vada inserito nello script …… se si tu mi hai messo la data che ti ho riportato io 081201 anche quì immagino che devo inserire il campo data del database ( tipo : “campodata” )

E come ultima cosa se va scritto tutto nello script va messo in quale posizione lo script che fa è questo :

SET ThousandSep='.';

SET DecimalSep=',';

SET MoneyThousandSep='.';

SET MoneyDecimalSep=',';

SET MoneyFormat='€ #.##0,00;-€ #.##0,00';

SET TimeFormat='hh.mm.ss';

SET DateFormat='DD/MM/YYYY';

SET TimestampFormat='DD/MM/YYYY hh.mm.ss[.fff]';

SET MonthNames='gen;feb;mar;apr;mag;giu;lug;ago;set;ott;nov;dic';

SET DayNames='lun;mar;mer;gio;ven;sab;dom';

ODBC CONNECT TO AS400;

SQL SELECT *

FROM a65044im.SMEDATMOT.V5RDOC0J;

In attesa grazie 1000

maxgro
MVP
MVP

SET ThousandSep='.';

SET DecimalSep=',';

SET MoneyThousandSep='.';

SET MoneyDecimalSep=',';

SET MoneyFormat='€ #.##0,00;-€ #.##0,00';

SET TimeFormat='hh.mm.ss';

SET DateFormat='DD/MM/YYYY';

SET TimestampFormat='DD/MM/YYYY hh.mm.ss[.fff]';

SET MonthNames='gen;feb;mar;apr;mag;giu;lug;ago;set;ott;nov;dic';

SET DayNames='lun;mar;mer;gio;ven;sab;dom';

// ? connessione a db as400

ODBC CONNECT TO AS400;

// crea la tabella Qlikview Table:

// prima legge da as400

// poi usa i dati letti da as400 aggiungendo un campo data che in as400 si chiama DataASDatabase

// ed in qlikview NuovaData


Table:

Load

     Date(Date#(DataASDataBase, 'YYMMDD')) as NuovaData,    

     *;

SQL SELECT *

FROM a65044im.SMEDATMOT.V5RDOC0J;

Per la spiegazione + dettagliata della preceding load (le 6 righe di codice sopra) vedi

http://community.qlik.com/thread/51332

Not applicable
Author

Buongiorno

Altro problema ho due file il primo si chiama X1STAT0F e il secondo si chiama S2STAT0F all’interno dei due file ci sono dei campi che riportano i medesimi nomi esempi X1GRUP come faccio a far estrarre solo una riga dei due file ???’

Come al solito grazie 1000

maxgro
MVP
MVP

Ciao Luca

cosa intendi? vuoi mettere in join le tabelle X.. ed S.... in Qlikview ed ottenere una sola tabella?

In tal caso la sintassi è questa od una sua variante, la trovi nell'help


Table:

select * from X1STAT0F  ;

left join select * from S2STAT0F  ;

left se vuoi tenere tutti i record di X1STAT0F  e.........

si suppone che i campi che vuoi utilizzare per la join (X1GRUP, ...) abbiano lo stesso nome (altrimenti vanno rinominati) ed i campi da non utilizzare per la join devono avere nomi diversi (altrimenti vanno rinominati)

Se non ho capito magari puoi postare un doc qlikview di esempio.

Not applicable
Author

Buonasera Massimo

Anzitutto chiedo scusa ma stò facendo un po’ ( tanto ) casino .

Torno dall’inizio dove ti chiedevo come potevo dare a estrarre la data da un file in modo diverso … provo a spiegarmi

Il collegamento all AS400 tramite odbc funziona

L’istruzione che ho inserito nello script è questa

maxgro
MVP
MVP

Ciao

L'istruzione manca

Not applicable
Author

Ciao

Non capisco il tuo msg

L’istruzione che c’è ho messo nel script ( ovviamente a parte quello che

mette qlikview di suo ) e’

Odbc connect to as400;

sql select *

from E65048IM.SMEDATMOT.V5RDOC0J

A questo punto lui mi estrae tutto quello che c’è nel V5RDOC0J e all’interno

di questo file c’è un campo chiamato

R§DTDO dove è scritto la data, ora vorrei che in fase di estrazione oltre a

memorizzare tutti i campi ( cosa che fa ) mi scompattasse la data in altre 3

colonne dove una deve mettere i giorni

Nell’altra deve mettere i mesi e nell’altra gli anni ( ovviamente estratti

appunto dal campo R§DTDO )

GRAZIE 1000

CIAO LUCA

bbi_mba_76
Partner - Specialist
Partner - Specialist

Ciao,

prima di sql select puoi inserire una load per aggiungere i campi necessari.

Odbc connect  to as400;

Load *,

     year(R§DTDO) as Anno,

     month(R§DTDO) as Mese

;

sql select *

from E65048IM.SMEDATMOT.V5RDOC0J

Questo se qlik ha interpretato correttamente la data come data e non come stringa. Altrimenti puoi provare con la left, right per prendere alcune parti della stringa.

Un'alternativa è modificare la select, in modo che sia il db stesso a fornire i campi necessari