Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
maxgro
MVP
MVP

Re: ESTRAZIONE DELLA DATA

Ciao Luca

probabilmente sarebbe meglio aprire un post x domanda (eventualmente con un link alle precedenti) in modo che non sia una discussione a 3/4 persone . Chi vede questa discussione con la risposta già data presumo non la prenda in considerazione.

Cerco di interpretare le domande:

1) devi importare 2 file dal file system o sono tabelle di as400?

- dal file system trovi nello script editor, nel tab Data in basso a dx il bottone Table Files...., una sorta di importazione guidata

- da as400 vedi sopra

Load     ...;

SQL select ...........;

2) per quanto riguarda le chiavi, QLikview effettua automaticamente la join tra le tue 2 tabelle utilizzando i campi che hanno lo stesso nome, quindi se vuoi ottenere una join devi fare in modo che i nomi dei campi Qlikview siano uguali.

Come? Nella Load ad esempio puoi rinominare i campi

Tabella1:

Load

     a§codice as CampoDiJoin,

     campo2,

     ......;

SQl select a§codice, campo2, ....... from A§asdt;

Tabella2:

Load

     a§code11 as CampoDiJoin,

     campo4,

     .....;

SQL select a§code11, campo4, ...... from b§asdt;

dopo il reload (CTRL-R) le 2 tabelle saranno in join (lo vedi nel table viewer CTRL-T) tramite CampoDiJoin

Ciao

14 Replies
Not applicable

CIAO Massimo

ho provato a fare l'unione di due file ma mi da errore

ti scirvo lo script che ho inserito

!!!!!!!!!!!!!!!!!!!!!!!!!

odbc connect  to as400;

load

*,

year ( date#(t§dtdo, yyyymmdd')) as anno              ( mi estrae l'anno in una colonna a parte )

Load

     *,

     a§codice as CampoDiJoin,campo2 ;

SQL select a§codice, campo2,  from A§asdt;


Load

     *,

     a§code11 as CampoDiJoin,campo4 ;

SQL select a§code11, campo4, ...... from b§asdt;

;    

select*   
from S65024EA.SMEDATMOT.V5RDOC0J;

select *   
from S65024EA.SMEDATMOT.BRARTI0F


maxgro
MVP
MVP
Author

l'obiettivo è legare le 2 tabelle as400 A§asdt e b§asdt tramite i campi a§codice e a§codice11?

Così dovrebbe funzionare; ovviamente devi prima sostituire campo2, ...... e campo4, ...... con i veri campi as400 che io non conosco  (a meno che tu mi dica come si chiamano le tabelle as400, i campi e quali campi vuoi utilizzare per associare le tabelle in qlikview, ....)

odbc connect  to as400;

Tabella1:          // nome della tabella QV corrispondente alla tabella A§asdt di AS400

Load

     *,

     year ( date#(t§dtdo, yyyymmdd')) as anno,  //     ( mi estrae l'anno in una colonna a parte )

     a§codice as CampoDiJoin;

SQL

select

     a§codice,

     campo2, ........   // qui gli altri campi che ti servono della tabella as400  A§asdt

from A§asdt;         //  qui probabilmente serve qualcosa prima di A§asdt, la libreria, l'utente?

Tabella2:

Load

     *,

     a§code11 as CampoDiJoin;

SQL

select

     a§code11,

     campo4, ......      // qui gli altri campi che ti servono......    

from b§asdt;

se non funziona serve sapere l'errore che ti restituisce

Not applicable

Buongiorno Massimo

ti giro il mio script e continua a darmi l'errore

|

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;

LOAD

  *,
 
 
Year(Date#(T§DTDO, 'YYYYMMDD')) as ANNO,

 
Month(Date#(T§DTDO, 'YYYYMMDD')) as MESE,

 
Day(Date#(T§DTDO, 'YYYYMMDD')) as GIORNO
 
 
Where (T§DTDO >= '20080513'); 
 
A§ARTI as CampoDiJoin;
  
SQL SELECT "A§ARTI",
"A§DEAR",
"A§DEA2"
FROM S65024EA.SMEDATMOT.BRARTI0F;


R§CDOG as CampoDiJoin;

SQL SELECT "R§CDOG"
FROM S65024EA.SMEDATMOT.V5RDOC0J;

L’errore che mi da sono due il primo è questo

Comando sconosciuto

A§ARTI as CampoDiJoin

Il secondo è questo

Comando sconosciuto

R§CDOG as CampoDiJoin

Da quello che posso capire non fa il join infatti se dopo aver ricaricato i dati faccio CTRL + T non vedo il collegamento tra i due file .

grazie mille

maxgro
MVP
MVP
Author

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;


Tab1:
LOAD
  *,

  A§ARTI as CampoDiJoin,                              // ho spostato questa riga
 
Year(Date#(T§DTDO, 'YYYYMMDD')) as ANNO,
 
Month(Date#(T§DTDO, 'YYYYMMDD')) as MESE,
 
Day(Date#(T§DTDO, 'YYYYMMDD')) as GIORNO
Where (T§DTDO >= '20080513');   
SQL SELECT "A§ARTI",
"A§DEAR",
"A§DEA2"
FROM S65024EA.SMEDATMOT.BRARTI0F;

Tab2:
LOAD

    R§CDOG as CampoDiJoin;                        // ho spostato anche queasta riga
SQL SELECT "R§CDOG"
FROM S65024EA.SMEDATMOT.V5RDOC0J;




allego esempio di 2 tabelle in join lette da un mio db as400


facci sapere


Not applicable

mi da questo errore

Campo non trovato - <T§DTDO>

SQL SELECT "A§ARTI",

"A§DEAR",

"A§DEA2"

FROM S65024EA.SMEDATMOT.BRARTI0F






se io avessi ANCHE bisogno di COLLEGARE I DUE FILE ( V5RDOC0J - BRARTI0F ) SENZA CREARE UNA TABELLA NUOVA ???

GRAZIE 1000

maxgro
MVP
MVP
Author

Nalla tabella BRARTI0F c'èil campo T§DTDO?

Se sì aggiungilo nello script

SQL SELECT "A§ARTI",
"A§DEAR",
"A§DEA2",

"T§DTDO"                              // riga aggiunta
FROM S65024EA.SMEDATMOT.BRARTI0F;




<<se io avessi ANCHE bisogno di COLLEGARE I DUE FILE ( V5RDOC0J - BRARTI0F ) SENZA CREARE UNA TABELLA NUOVA ???>>

Qlikview effettua analisi tendenzialmente sulle sue tabelle per cui se vuoi fare analisi su quei 2 file devi estrarre i dati da as400 e creare almeno una tabella in Qlikview.

Se vuoi creare una sola tabella in Qlikview,  puoi effettuare la join direttamente su as400, esempio da adattare


TabellaQlikview:

Load  *;

SQL

     Select .........

     from V5RDOC0J, BRARTI0F

     where ..............

     ;


qui un ottimo doc di spiega delle varie opzioni di load

LOAD data into QlikView


e qui una discussione su join

Syntax to Join

Not applicable

NO il campo T§DTDO NON è NEL file BRARTI0F  ma è nel file V5RDOC0J

maxgro
MVP
MVP
Author

ODBC CONNECT TO AS400;

// legge da as400 3 campi di BRARTI0F

// e poi produce la tabella Tab1 Qlikview con 4 campi: 3 con gli stessi nomi di

// as400 (*) e CampoDiJoin

Tab1:
LOAD
  *,

  A§ARTI as CampoDiJoin,                             
SQL SELECT

     "A§ARTI",
     "A§DEAR",
     "A§DEA2"
FROM S65024EA.SMEDATMOT.BRARTI0F;


// legge da as400 2 campi di V5RDOC0J

// e poi produce la tabella Tab2 Qlikview con 4 campi: CampoDiJoin, ANNO, MESE, GIORNO 
Tab2:
LOAD

  R§CDOG as CampoDiJoin;                       

  Year(Date#(T§DTDO, 'YYYYMMDD')) as ANNO,
 
Month(Date#(T§DTDO, 'YYYYMMDD')) as MESE,
 
Day(Date#(T§DTDO, 'YYYYMMDD')) as GIORNO
Where (T§DTDO >= '20080513');   

SQL SELECT

     "R§CDOG",

     "T§DTDO"
FROM S65024EA.SMEDATMOT.V5RDOC0J;



Not applicable

Comando sconosciuto

Year(Date#(T§DTDO, 'YYYYMMDD')) as ANNO,

  Month(Date#(T§DTDO, 'YYYYMMDD')) as MESE,

  Day(Date#(T§DTDO, 'YYYYMMDD')) as GIORNO

Where (T§DTDO >= '20080513')



il campo T§DTDO è nel file V5RDOC0F