是否可以将多个表格的数据存储到单个QVD文档中?
如果是这样,我如何在这个QVD中存储和加载多个表?
答案 0 :(得分:5)
存储表格
您不能将多个不同的表存储到QVD文件中。原因是QVD格式只存储内存"图像"单个表的一部分,因此不包括任何指向其他表的链接的元数据。
因此,如果您希望在QVD文件中存储多个表,则必须:
JOIN
,applymap
等),然后将表格存储到QVD文件中。例如,假设您有以下架构:
Orders:
LOAD * INLINE [
Product, Country, Value
A, USA, 100
B, UK, 200
C, FR, 300
];
Products:
LOAD * INLINE [
Product, Weight, Colour
A, 10, Red
B, 50, Yellow
C, 70, Green
];
您无法将此模型存储到单个QVD文件中。回顾我们的两个选择:
以单独的QVD存储
您可以稍微更改脚本:
Orders:
LOAD * INLINE [
Product, Country, Value
A, USA, 100
B, UK, 200
C, FR, 300
];
Products:
LOAD * INLINE [
Product, Weight, Colour
A, 10, Red
B, 50, Yellow
C, 70, Green
];
STORE Orders INTO Orders.qvd (qvd);
STORE Products INTO Products.qvd (qvd);
将它们合并到一个表格中
根据您的数据模型,您可以使用JOIN和其他QV功能:
Orders:
LOAD * INLINE [
Product, Country, Value
A, USA, 100
B, UK, 200
C, FR, 300
];
LEFT JOIN
LOAD * INLINE [
Product, Weight, Colour
A, 10, Red
B, 50, Yellow
C, 70, Green
];
STORE Orders INTO Orders.qvd (qvd);
<强>载入强>
要从存储的QVD加载数据,只需在脚本中添加LOAD
语句,例如:
Orders:
LOAD
*
FROM Orders.qvd (qvd);
Products:
LOAD
*
FROM Products.qvd (qvd);
如果字段名称与存储表格时相同,QlikView将根据您的原始模型自动推断字段链接。
答案 1 :(得分:0)
如果两个表没有共同的字段名,只需将其保存为qvw,您可以将两个表存储在仪表板文件中。但它是专有的,只能由QlikView打开,但你似乎已经有了产品......