2016-08-25 5 views
2

SQLでは、私たちは以下のようにクエリを記述することができます。QlikviewでのSQL同等のクエリ?

QlikViewので
Select field1,field2,field3,field4,field5,field6,field7 
from table1 t1,table2 t2,table3 t3 
where t1.field1 = t3.field3 and 
     t2.field2 = 'USD' 

、私は今、私はこれらの6 QVDさんの単一QVDを作成したい、6つのテーブルに対してQVD年代を作成しました。残念ながら、これらの表には主キーは含まれていません。だから私は使用することができません。

fact: 
load * 
from 
[D:\path\fact*.qvd](qvd); 
//To store all qvd's into one qvd. 
store fact into [D:\path\facttable.qvd]; 

このクエリではファクトテーブルが作成されますが、2つの列のみが作成されます。これらの列はファクトテーブルの最初のものです。図は、それは非常に明確に示しています

enter image description here

それは内部的に、事実、事実-1ですべての事実テーブルの名前を与えること-2というように、私はにクエリ店に事実を書いてきたように[D:\ path \ facttable.qvd];この図のファクト表には2つの列しか含まれていないため、2つの列のみを含むファクト表が作成されます。

Qlikviewでどのようにこのクエリを書くことができるのか、またはすべてのQVDSを使用してファクトテーブルを作成する方法を教えてください。

ありがとうございます。

答えて

3

すべてのqvdには異なるフィールド名が含まれているため、*をロードすると合成キーを持つ複数のテーブルが作成されます。

Concatenate Loadを使用すると、各qvdを1つのファクトテーブルにスタックできます。今、あなたはそのファクトテーブル上にQVD年代を連結することができ

Fact: 
Load * INLINE [ 
dummyField 
]; 

concatenate(Fact) 
load * 
from 
[D:\path\fact*.qvd](qvd); 

//To store all qvd's into one qvd. 

store Fact into [D:\path\facttable.qvd]; 
//drop the dummy field. 
drop field dummyField; 
一つの簡単な例では、まずによってファクトテーブルを作成することです