amazon-quicksight - Quicksight:填补缺失的日子
问题描述
我们有显示值随时间变化的原始数据(在我们的示例中,每个“机器”)。如果值(“not_processed”列)在某一天发生了变化,则有一行。
我假设许多其他人在处理随时间变化的数据时也有类似的需求。如果可能的话,我们想选择选项 1。如果这不起作用,那么我们可能被迫选择选项 2。
我们的计划:选项 1。
我们希望有一个 Quicksight 数据透视表来显示随时间的变化。所有日子都没有单独的记录。因此,逻辑应该是在数据透视表中应考虑先前的给定值。
这是 RAW DATA 的样子以及我们希望数据透视表的样子的示例
Quicksight 端有什么方法可以处理这种情况并提供如上例所示的数据透视表?
备份计划:选项 2
当然,一种选择是每天创建一行并将机器作为 RAW DATA。换句话说,在 RAW DATA 中填写缺失的天数。但是,这意味着我们必须创建许多类似的记录才能让 Quicksight 报告正常工作。数据量会增加很多。
如果我们被迫执行这个计划,最好有某种工具来“扩展”我们的原始数据。
AWS 端是否有任何工具可用于在 RAW DATA 中“填补缺失的日子”?如果是这样,怎么做?任何样品都会非常有益。
解决方案
[编辑:由于新信息,此解决方案需要先决条件]
您可以使用选项 1 并创建一个数据透视表。要使数据透视表起作用,您必须至少选择一列(在您的情况下是机器)并选择数据透视表图标。
[先决条件]
该文件需要包含丢失的数据才能使数据透视表按预期工作。选项 2some tool from AWS
用于执行此操作。用于插入缺失数据的运行脚本(在 pandas、petl 等中)的工具可以是
- 具有任何受支持运行时的 AWS Lambda ,安排在晚上 11:55。
- 如果数据非常大,AWS Glue(计划)和 PySpark。
- 计划的 ECS Fargate(支持任何运行时,由于 docker),用于可能需要超过 15 分钟来处理的中等数据大小(Lambda 超时)
我不会推荐任何这些,因为会有开发开销,并且您必须将文件保留在 S3 上(如果它们现在不在上面)。
推荐:您可以简单地更新您的代码以检查为该机器添加的最后一行是否是最后一天,如果没有在添加当天记录之前为所有缺失的天添加虚拟行。如果文件为空,您必须在配置中包含开始日期。
推荐阅读
- node.js - 如何在猫鼬中使用聚合合并和排序嵌套子文档
- jquery - 来自 Json 数据的 Jquery 构建链接
- c - 您如何将函数调用表示为序列图中的 if 条件语句?
- angular - Angular 7 Router 不断将我重定向到 404 not found 页面
- python - + 不支持的操作数类型:“ManagedProperties”和“float”python 3
- javascript - 替换 JSON 文件中的整个数据块
- aws-cdk - 如何检索 AWS ServiceCatalog 产品组合 ID 和产品 ID
- c - 发现为什么这些循环被标记为“无效的语句”的问题(警告:无效的语句 [-Wunused-value])
- javascript - Axios CORS 仅适用于无效请求
- django - 列表到字典并以所需格式打印