business-intelligence - Amazon Quicksight 日期字段粒度 - 二级聚合
问题描述
我有一个带有毫秒纪元时间戳的数据集。我已将这些转换为日期时间类型,并且可以通过将字段中的日期字段粒度设置为 MINUTE 来构建以 1 分钟间隔存储的数据的视觉效果。但是,我需要将数据可视化到 1 秒的精度。今天有没有办法做到这一点,还是即将推出?
作为(非常差的)替代方案,我尝试使用纪元毫秒时间戳(整数)作为 X 轴,这为我提供了所需的粒度/细节。然而,这是一个非常糟糕的解决方案,因为用户在想要记录时间戳时需要熟悉在线纪元转换器。
为了说明这一点,这两个图表都显示完全相同的数据集。
- 图1:X轴:日期ts ASC(以分钟为单位);值:十进制值 AVG
- 图2:X轴:int epochts ASC;值:十进制值 AVG
也许并不奇怪,它们看起来完全不同。第一个具有线性比例,因为 QuickSight 理解日期。第二个没有线性比例,而是按升序顺序列出纪元时间。由于在时间段结束时有更多的数据点,您最终会得到一个高度倾斜的时间顺序视图。客户不能接受这两种数据视图。但是除了使用不同的 BI 工具,我还能做什么呢?
解决方案
不是一个完美的解决方案,而是一个稍微好一点的 hack。我在 QS 中经常使用的东西是使用反向日期作为 x 轴的整数。不理想,但可用于制作对用户更友好的图表:
就像是。ts =
extract("YYYY",time) * 10000000000 +
extract("MM",time) * 100000000 +
extract("DD",time) * 1000000 +
extract("HH",time) * 10000 +
extract("MM",time) * 100 +
extract("SS",time)
为了使其更具人类可读性,如果字符串有效,您可以只使用 formateDate() 而不是乘数。取决于您要使用它的视觉效果。
推荐阅读
- react-native - 使用 AsyncStorage 存储多个表单值
- r - pandoc乳胶模板
- javascript - 如何使用本机 Windows 应用程序从客户端上的 PHP 应用程序编辑文档?
- swift - 具有预编译依赖项的 Swift 包
- python - 将导入的函数连接到没有依赖关系的 Qt5 进度条
- android - 如何在不打开键盘的情况下突出显示 textinputlayout
- shell - 根据分支类型列出分支名称
- ruby-on-rails - Rails redis-server 抛出 maxmemory 错误。Redis::CommandError(使用内存>'maxmemory'时不允许使用OOM命令。):
- slack - 如何在所有直接消息渠道中发布临时消息?
- python - 在 Tensorflow 对象检测中评估预训练模型时出错 (tensorflow.python.framework.errors_impl.NotFoundError:)