Qlik Sense:为什么我会出现计算内存不足错误?

问题描述 投票:0回答:1

这是我的数据负载:

当我尝试加载可视化效果(只是直表格)时,我每次都会得到:

我通过缩短日期过滤器以仅返回到目前为止,继续减少 SQL 中的数据,但我现在确实无法进一步缩短它。

我的一个想法是也许我需要将数据加载到 QVD 中,但我真的对这些没有很好的理解。将我的 Qlik 表(登录、PNA、操作等)加载到 QVD 中然后删除这些表是否有意义?这会缓解我的记忆问题吗?

qliksense
1个回答
0
投票

更改为从 QVD 文件加载数据不会改变任何内容。 QVD 文件只是 Qlik 原生的数据存储,如果使用正确,从它们加载数据比从其他地方(例如数据库)获取数据要快得多

Out of calculation
内存通常意味着这个 - 没有足够的内存来计算对象。

默认情况下,每个对象(超立方体)在评估/计算时都有一个立方体允许使用多少内存的限制。如果对象“很重”并且开始消耗超过此限制的内存,则 Qlik 将中止评估并抛出此类错误。

“重”是指以下物体:

  • 显示太多数据 - 太多列和太多行
  • 有一些扭曲的计算 - 尤其是聚合
  • 以上全部

我的建议是:

  • 开始一一删除/禁用表达式和维度,并识别破坏对象的组合
  • 在表格上放置一些计算条件 - 仅在满足特定条件时计算对象。F 或示例:如果
    Country
    字段中有选择,则显示对象。这将阻止对象显示所有国家/地区的数据,并且该对象将在较小的数据集上运行(并且需要较少的内存)
  • 重新评估数据模型(如果可能)和表达式(如果可能)以优化数据模型,使其更加高效。通常我会遇到这种情况

附注Qlik 有对象内存限制的设置。默认情况下,该值为

0
。这意味着 Qlik 将应用一些内部逻辑,并尝试保护机器免于资源不足。如果禁用此设置,则对象计算可能会完成,但对象计算也可能会消耗所有可用资源,并且本质上可能会使计算机崩溃。 此外,此设置对于整个 Qlik 实例来说是global。如果禁用,那么所有应用程序中的所有对象都将从中“受益”。因此,如果您处于服务器环境中,那么任何应用程序都可能导致服务器崩溃。 这是一个很长的说法 - 使用它需要您自担风险

© www.soinside.com 2019 - 2024. All rights reserved.