qlikview - 在 QlikView 中将多个表格存储到 QVD

标签 qlikview

是否可以将多个表的数据存储到单个 QVD 文档中?

如果是这样,我如何才能将多个表存储到此 QVD 或从中加载多个表?

最佳答案

存储表

您不能将多个不同的表格存储到一个 QVD 文件中。这样做的原因是,QVD 格式仅存储单个表的内存“图像”,因此不包含任何指向其他表的链接的元数据。

因此,如果您希望在 QVD 文件中存储多个表,您必须:

  • 将它们存储为单独的 QVD
  • 将它们组合成一个表(例如通过 JOINapplymap 等),然后将表存储到 QVD 文件中。

例如,假设您有以下架构:

Example Table layout with two tables

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 随后将根据您的原始模型自动推断字段链接,前提是字段名称与您存储表格时的名称相同。

关于qlikview - 在 QlikView 中将多个表格存储到 QVD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25521936/

相关文章:

mongodb - 哪个 NoSQL ... 又是 :), 但用例不同

internet-explorer - iframe 中的 Qlikview - 从不同的域登录而不要求凭据

expression - Qlikview,如何创建不随列表框选择而改变的表达式?

vba - 导出到 Excel 两张具有不同名称的工作表

reporting-services - Qlikview 和 Qliksense VS MSBI

qlikview - 带有选择和练习的图表颜色

r - 有没有办法使用R读取Qlikview数据对象并执行统计操作并将结果返回到Qlikview?

按涉及 Qlik Sense 中多个字段的计算度量进行过滤

qlikview - Qlik 感知 : Editing User Access