每个ID有4-5个单行和多行表。我想生成一个汇总表,列出每个ID以及各种计数和最大/分钟,但我希望能够过滤计算。示例:" ID"是标识符,有两个表,TestA和TestB。
一个理想的选择标准:仅显示至少一个TestA分数> 5并且至少有一个TestB分数的ID。
在直表中,这对表达式来说很简单,但无法在计算的真/假值上选择结果表。
我想我需要在包含ID的加载脚本中创建一个新表,然后标记为我希望的各种条件。然后,这些字段可以是维度。这在概念上似乎与主日历相似。我是在正确的轨道上吗?
如果它有助于理解我的例子,这是一个医疗应用;这些表格是实验室结果和其他干预措施,每个都需要复杂的查询来从各种来源中提取数据,这些来源非常“硬编码”。从数百万行高度标准化的源数据中生成一个小数据集。所需的尺寸将是实验室的组合,以便能够识别符合某些标准的患者 - 然后,一旦过滤,将会有更多的图表和图表来确定该组患者遵循的测试和程序。 / p>
我当前的数据模型只会加载许多表,然后在ID上关联。我试图使用连接和计算将所有数据加载到一个大表中,但这似乎没有达到我所需要的并且难以管理。
答案 0 :(得分:1)
IIUC,我认为你想要做的事情可以通过表格中的滑块/输入框,变量和计算尺寸的组合来完成。这个过程绝对是繁琐的,但它应该允许你按照你想要的方式过滤。
rnum as RowNo()
。vFilterTestAScore
。在仪表板中添加一个滑块或输入框,并将其指向该变量。
一个。对于滑块,该选项位于“常规”选项卡中 - >数据标题 - >选择“变量”单选按钮。
湾对于输入框,将列表中的正确var添加到显示变量列表中。
将滑块/输入框设置为您想要的标准:vFilterTestAScore = 5
和vFilterTestBScore = 1
使用ID
创建一个直表,作为TestAScore
和TestBScore
的维度和表达式。表达式分别为sum(TestAScore)
和sum(TestBScore)
(直到下一步才有意义。)
现在为您的表添加一个计算维度。这里的想法是,您不仅要拥有ID
维度,还要创建一个计算维度,该维度仅显示符合您在滑块中选择的条件的记录的ID
或输入输入框。公式应该是这样的:
if(aggr(sum(TestA), rnum) >= vFilterTestAScore, ID, null())
或多个过滤器:if((aggr(sum(TestA), rnum) >= vFilterTestAScore) and (aggr(sum(TestB), rnum) >= vFilterTestBScore), ID, null())
。
在新的计算维度上,选中“当值为空时禁止”#39;框中只显示符合条件的结果。
总而言之,您使用变量来存储您通过输入框或滑块输入的选择条件。然后,您有条件地仅在表格中显示符合这些条件的ID,并通过计算的维度和“无效时禁止”#<选项。
如果您没有使用免费的个人版本并且能够打开其他qvw,我可以发送.qvw。