Qlikview:如何创建摘要表以筛选多个关联表
我有4-5个表,每个ID有一行和多行。我想生成一个汇总表,列出每个ID以及各种计数和最大/分钟,但我想能够过滤计算。示例:“ID”是标识符,有两个表,TestA和TestB 一个所需的选择标准:仅显示至少一个TestA分数>5且至少有一个TestB分数的ID 在直线表中,这对于表达式很简单,但无法根据计算的真/假值选择结果表 我想我需要在加载脚本中创建一个新表,其中包含ID,然后根据需要标记各种条件。然后,这些字段可以是维度。这在概念上似乎类似于主日历。我走对了吗 如果这有助于理解我的例子,这是一个医学应用;这些表是实验室结果和其他干预措施,每个表都需要复杂的查询,从各种“硬编码”的源中提取数据,从数百万行高度规范化的源数据中生成一个小数据集。理想的维度将是实验室的组合,以便识别符合特定标准的患者——然后,一旦过滤,将有更多的图表来识别该组患者遵循的测试和程序Qlikview:如何创建摘要表以筛选多个关联表,qlikview,Qlikview,我有4-5个表,每个ID有一行和多行。我想生成一个汇总表,列出每个ID以及各种计数和最大/分钟,但我想能够过滤计算。示例:“ID”是标识符,有两个表,TestA和TestB 一个所需的选择标准:仅显示至少一个TestA分数>5且至少有一个TestB分数的ID 在直线表中,这对于表达式很简单,但无法根据计算的真/假值选择结果表 我想我需要在加载脚本中创建一个新表,其中包含ID,然后根据需要标记各种条件。然后,这些字段可以是维度。这在概念上似乎类似于主日历。我走对了吗 如果这有助于理解我的例子,这是
我当前的数据模型只是加载多个表,然后根据ID进行关联。我曾尝试使用连接和计算将所有数据加载到一个大表中,但这似乎没有实现我需要的功能,而且很难管理。IIUC,我想您想要做的事情可以通过组合滑块/输入框来实现,表中的变量和计算维度。这个过程无疑是很繁重的,但它应该允许您以您想要的方式进行过滤
rnum as RowNo()
vFilterTestScore
vFilterTestAScore=5
和vFilterTestBScore=1
ID
作为testscore
和TestBScore
的维度和表达式。表达式公式分别是sum(TestAScore)
和sum(TestBScore)
(这在下一步之前没有意义)ID
维度,而是创建一个计算维度,仅显示满足在滑块中选择的条件或在输入框中输入的条件的记录的ID
。公式应类似于:
if(aggr(sum(TestA),rnum)>=vFilterTestAScore,ID,null())
或对于多个筛选器:if((aggr(sum(TestA,rnum)>=vFilterTestAScore)和(aggr(sum(TestB),rnum)>=vFilterTestBScore),ID,null())
如果您不使用免费个人版,并且能够打开其他qvw,我可以给您发送一个.qvw。谢谢,这很有帮助……向表中添加计算维度的基本概念是我使用的一种技术,它对该表有效,但当我想在页面上创建其他图表时,我会遇到问题。例如,表格列出了符合标准的患者,然后图表可能会显示这些患者的测试分数范围。我认为,解决办法是在表达式中加入相同的计算。当能够选择计算维度在概念上容易得多的时候,你最终会得到一个相当混乱的页面。我明白了,问题不在于如何使这一点适用于一个图表,而是多个图表试图在同一选择下运行。如果将表达式作为字段而不是维度创建列表框,然后将“选择逻辑”放入该表达式中,会怎么样?列表框的结果将是ID,您可以通过单击并拖动所有结果来手动选择。这样,在您的状态中,只有与选择逻辑匹配的ID可用,因此所有其他图表都会相应地更新。列表框表达式需要包装在
aggr()
中。例如:=aggr(concat(distinct if((aggr(sum(TestA),rnum)>=vFilterTestAScore)和(aggr(sum(TestB),rnum)>=vFilterTestBScore),ID,null(),,,,),ID)
。这将获取返回的相同的ID
,concat
并将它们包装到虚拟表中,以便列表框可以显示结果。我测试了这个和多个图表,它应该工作。您只需要为要运行的每个场景创建一个列表框。