使用立方体数据时 QVW 文件大小较大
The QVW File Size Is Larger While Using Cube Data
我制作了两份内容几乎相同的 QlikView(两个 .qvw 文件)报告。
使用 'Microsoft OLE DB Provider for SQL Server' 从数据仓库加载数据。
另一个使用 'Microsoft OLE DB Provider for Analysis Services'.
从 Cube 加载数据
但是,包含Cube数据的文件比包含DW数据的文件大很多。
我想知道为什么会这样。
感谢关注
定义 almost the same content
:)
QlikView/QlikSense 文件大小取决于列数和其中的 不同值。
一般来说,Qlik 不会按原样存储所有数据。相反,它将数据存储为不同值和内存指针的列表,这就是数据模型的构建方式。
例如:
如果数据库中有两个字段(均有 1M 行)- 一个具有 timestamp
个值,另一个仅具有 date
个值。
在 Qlik 中,具有 timestamp
值的应用程序将比 date
应用程序更大,因为 timestamp
字段有很多非不同的值(可以说 80% 是非distinct) 和 date
有很多不同的值(假设 80% 是不同的)并且 Qlik 仅在后台存储不同的值。
在上面的示例中,您将以 timestamp
文件以 800k 行(80% 非不同)和 date
文件以 200k(80% 不同)行结束,尽管在数据库中有两个字段都有 1M 行。
我正在简化它,但总的来说 - 具有大量不同值的字段越少,生成的文件就越小。添加 1-2 个具有大量非不同值的列可能会使文件大小大不相同(尤其是对于更大的数据集)。
真实例子:
- SO_47650951_1.qvw - 包含 1 个具有“1M”行的字段。其中的值为
floor( rand() * 100)
(1,2,3,4 ... 100),文件大小为 968Kb
- SO_47650951_2.qvw - 包含 1 个具有“1M”行的字段。其中的值为
rand()
(0.70505229476839、0.22396470652893、0.59824940375984 等),文件大小为 7,2Mb
“
Stefan 的回答非常好,但我想在遇到类似行为后添加我自己的两分钱。
当您从 Analysis Services 多维数据集导入数据时,您很可能会选择维度层次结构以及不同的元素。
例如,对 SQL 服务器的查询可能 return 5 个日期,但是在分析服务多维数据集中可能有 50 条相关记录,因为日期可以累积到周、月、季度、年等等,如果包含在导出中,所有这些都会创建一个不同的点。
杆
我制作了两份内容几乎相同的 QlikView(两个 .qvw 文件)报告。 使用 'Microsoft OLE DB Provider for SQL Server' 从数据仓库加载数据。 另一个使用 'Microsoft OLE DB Provider for Analysis Services'.
从 Cube 加载数据但是,包含Cube数据的文件比包含DW数据的文件大很多。 我想知道为什么会这样。
感谢关注
定义 almost the same content
:)
QlikView/QlikSense 文件大小取决于列数和其中的 不同值。
一般来说,Qlik 不会按原样存储所有数据。相反,它将数据存储为不同值和内存指针的列表,这就是数据模型的构建方式。
例如:
如果数据库中有两个字段(均有 1M 行)- 一个具有 timestamp
个值,另一个仅具有 date
个值。
在 Qlik 中,具有 timestamp
值的应用程序将比 date
应用程序更大,因为 timestamp
字段有很多非不同的值(可以说 80% 是非distinct) 和 date
有很多不同的值(假设 80% 是不同的)并且 Qlik 仅在后台存储不同的值。
在上面的示例中,您将以 timestamp
文件以 800k 行(80% 非不同)和 date
文件以 200k(80% 不同)行结束,尽管在数据库中有两个字段都有 1M 行。
我正在简化它,但总的来说 - 具有大量不同值的字段越少,生成的文件就越小。添加 1-2 个具有大量非不同值的列可能会使文件大小大不相同(尤其是对于更大的数据集)。
真实例子:
- SO_47650951_1.qvw - 包含 1 个具有“1M”行的字段。其中的值为
floor( rand() * 100)
(1,2,3,4 ... 100),文件大小为 968Kb - SO_47650951_2.qvw - 包含 1 个具有“1M”行的字段。其中的值为
rand()
(0.70505229476839、0.22396470652893、0.59824940375984 等),文件大小为 7,2Mb “
Stefan 的回答非常好,但我想在遇到类似行为后添加我自己的两分钱。
当您从 Analysis Services 多维数据集导入数据时,您很可能会选择维度层次结构以及不同的元素。
例如,对 SQL 服务器的查询可能 return 5 个日期,但是在分析服务多维数据集中可能有 50 条相关记录,因为日期可以累积到周、月、季度、年等等,如果包含在导出中,所有这些都会创建一个不同的点。
杆