Amazon quicksight 如何在Amazon Quicksight中基于子记录对记录进行分组
在Amazon Quicksight中,是否有任何方法可以根据聚合的记录对聚合的记录进行分类 我正试图通过Amazon Quicksight构建一个数据透视表,以提取各种记录的计数,这些计数按记录所处的状态进行划分,并限定在记录第一次有活动的日期范围内 这一切都是在SPICE中完成的,因为原始数据是S3中的CSV文件。这两个CSV文件是: 学生Amazon quicksight 如何在Amazon Quicksight中基于子记录对记录进行分组,amazon-quicksight,Amazon Quicksight,在Amazon Quicksight中,是否有任何方法可以根据聚合的记录对聚合的记录进行分类 我正试图通过Amazon Quicksight构建一个数据透视表,以提取各种记录的计数,这些计数按记录所处的状态进行划分,并限定在记录第一次有活动的日期范围内 这一切都是在SPICE中完成的,因为原始数据是S3中的CSV文件。这两个CSV文件是: 学生 Id:字符串 当前状态:通过/失败 部门:字符串 测试 Id:字符串 学生编号:String DateOfTest:DateTime 状态:通过/
- Id:字符串
- 当前状态:
/通过
失败
- 部门:字符串
- Id:字符串
- 学生编号:String
- DateOfTest:DateTime
- 状态:
/通过
失败
- 不及格-当前状态为
不及格的系的学生计数
- 通过从不失败-当前状态为
且该学生没有考试失败的部门中的学生计数通过
- 通过考试失败部分-统计当前状态为通过且至少有一次考试失败的系中的学生人数
Test
的Student
。然后,我可以使用以下内容创建透视表:
- 行:
部门
- 列:
当前状态
- 值:
countdistinct(Id[Student])
ifelse(
{Current State} = 'pass',
ifelse(
countIf({Id[Test]}, {State} = 'fail') = 0,
'pass-never-failed',
'pass-failed-some'
),
{Current State}
)
但这表明无效,并出现以下错误:
Mismatched aggregation. Custom aggregations can’t contain both aggregate "`COUNT`" and non-aggregated fields “COUNT(CASE WHEN "State" = _UTF16'fail' THEN "Id[Test]" ELSE NULL END)”, in any combination.
有没有办法根据quicksight中的测试汇总对学生进行分类,或者我必须在源数据中预先计算这些信息
我现在已经能够解决这个问题,为三列定义三个单独的计算,并将它们作为值添加到quicksight pivot中,而不是设置列维度
通过的计数从未失败
distinct_countIf({Id[Student]}, maxOver(
ifelse({State[Test]} = 'fail' AND {Current State[Student]} = 'pass',
1, 0)
, [{Id[Student]}], PRE_AGG) = 0)
distinct_countIf({Id[Student]}, {Current State[Student]} = 'fail')
通过的计数失败了一些
distinct_countIf({Id[Student]}, maxOver(
ifelse({State[Test]} = 'fail' AND {Current State[Student]} = 'pass',
1, 0)
, [{Id[Student]}], PRE_AGG) > 0)
计数失败
distinct_countIf({Id[Student]}, maxOver(
ifelse({State[Test]} = 'fail' AND {Current State[Student]} = 'pass',
1, 0)
, [{Id[Student]}], PRE_AGG) = 0)
distinct_countIf({Id[Student]}, {Current State[Student]} = 'fail')
这是可行的,但我仍然想知道是否有可能建立一个维度,我可以使用它,因为如果添加新的状态而不需要特殊的pass处理,它将更加灵活。我无法直接回答您的问题,但我发现设置数据更容易,以便在Quicksight中使用,vs尝试围绕模式工作。我更愿意使用python、SQL、Pandas等,而不是Quicksight自己独特的语言。谢谢@kielni,这是我的回退计划。目前,这是一个实验性/探索性的项目,因此我试图尽可能避免数据加载,以最大限度地提高灵活性,但如果我不能快速完成,这显然是一个选择。