Qlikview:如何创建汇总表以过滤多个关联表

时间:2015-07-09 14:25:23

标签: qlikview

每个ID有4-5个单行和多行表。我想生成一个汇总表,列出每个ID以及各种计数和最大/分钟,但我希望能够过滤计算。示例:" ID"是标识符,有两个表,TestA和TestB。

一个理想的选择标准:仅显示至少一个TestA分数> 5并且至少有一个TestB分数的ID。

在直表中,这对表达式来说很简单,但无法在计算的真/假值上选择结果表。

我想我需要在包含ID的加载脚本中创建一个新表,然后标记为我希望的各种条件。然后,这些字段可以是维度。这在概念上似乎与主日历相似。我是在正确的轨道上吗?

如果它有助于理解我的例子,这是一个医疗应用;这些表格是实验室结果和其他干预措施,每个都需要复杂的查询来从各种来源中提取数据,这些来源非常“硬编码”。从数百万行高度标准化的源数据中生成一个小数据集。所需的尺寸将是实验室的组合,以便能够识别符合某些标准的患者 - 然后,一旦过滤,将会有更多的图表和图表来确定该组患者遵循的测试和程序。 / p>

我当前的数据模型只会加载许多表,然后在ID上关联。我试图使用连接和计算将所有数据加载到一个大表中,但这似乎没有达到我所需要的并且难以管理。

1 个答案:

答案 0 :(得分:1)

IIUC,我认为你想要做的事情可以通过表格中的滑块/输入框,变量和计算尺寸的组合来完成。这个过程绝对是繁琐的,但它应该允许你按照你想要的方式过滤。

  1. 在脚本中的表格加载语句中添加一个字段,如rnum as RowNo()
  2. 为您的过滤器创建一个变量。防爆。 vFilterTestAScore
  3. 在仪表板中添加一个滑块或输入框,并将其指向该变量。

    一个。对于滑块,该选项位于“常规”选项卡中 - >数据标题 - >选择“变量”单选按钮。

    湾对于输入框,将列表中的正确var添加到显示变量列表中。

  4. 将滑块/输入框设置为您想要的标准:vFilterTestAScore = 5vFilterTestBScore = 1

  5. 使用ID创建一个直表,作为TestAScoreTestBScore的维度和表达式。表达式分别为sum(TestAScore)sum(TestBScore)(直到下一步才有意义。)

  6. 现在为您的表添加一个计算维度。这里的想法是,您不仅要拥有ID维度,还要创建一个计算维度,该维度仅显示符合您在滑块中选择的条件的记录的ID或输入输入框。公式应该是这样的: if(aggr(sum(TestA), rnum) >= vFilterTestAScore, ID, null())或多个过滤器:if((aggr(sum(TestA), rnum) >= vFilterTestAScore) and (aggr(sum(TestB), rnum) >= vFilterTestBScore), ID, null())

  7. 在新的计算维度上,选中“当值为空时禁止”#39;框中只显示符合条件的结果。

  8. 总而言之,您使用变量来存储您通过输入框或滑块输入的选择条件。然后,您有条件地仅在表格中显示符合这些条件的ID,并通过计算的维度和“无效时禁止”#<选项。

    如果您没有使用免费的个人版本并且能够打开其他qvw,我可以发送.qvw。