AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

在 Amazon QuickSight 中使用表计算进行高级分析

  • 2019-09-29
  • 本文字数:2263 字

    阅读完需:约 7 分钟

在 Amazon QuickSight 中使用表计算进行高级分析

Amazon QuickSight 最近推出了表计算功能,让您能够对数据执行复杂的计算,以获得有意义的见解。在本博文中,我们将一起来看几个对样本销售数据集应用表计算的示例,以便您根据自己的需求开始使用这一新功能。


单击此处可获取示例中所用样本数据集。

表计算是什么?

在 Amazon QuickSight 中使用表计算可以获得时段到时段的趋势指标。您还可以在创建计算时指定特定的时间段,来计算该时段内的指标,或针对某固定时间窗口的计算进行基准比对。您也可以将所有这些任务在自定义的粒度级别去执行。例如,您可以计算行业内销售额的同比增长,或某个特定行业在某个州内的贡献百分比。您还可以计算一年内的累计月销售额、某个行业的销售额在某个州的排名等。


您可以使用一组函数来计算这些指标,包括 runningSum、percentOfTotal 和 percentDifference,以及若干基础分区函数。在此情况下可以使用的基础分区函数包括 sum、avg、count、distinct_count、rank 和 denseRank,以及可用于计算分区的最小值和最大值的 minOver 和 maxOver。

分区函数

在应用这些计算之前,请先查看下面对分区函数的简要介绍。通过分区,您可以指定包含计算的时段的维度。也就是说,分区帮助定义执行计算的窗口。


例如,我们来计算下各个细分市场中每个行业的平均销售额。先在图表中添加行业、细分市场和销售额。向表中添加正则计算字段 avg(sales),得出行业中每个细分市场的平均值,而不是每个行业的平均值。为实现此目的,创建一个使用 avgOver 计算的计算字段。


avgOver(aggregated measure, [partition by attribute, ...])
复制代码


此处的“aggregated measure 聚合度量”是指当度量按图表中的维度分组时对其执行的计算。此计算需在每个行业分区中应用平均值之前先执行。


Average by industry = avgOver(sum(sales), [industry])
复制代码



类似地,您可以分别使用 sumOver、minOver、maxOver 和 countOver 函数来计算销售总额、最低销售额、最大销售额以及每个行业内细分行业的数量。


基准和实际销售额

我们来看一下另一个使用案例,看看在某个州内,在与该州的平均销售额进行基准比较时每个行业的表现。


为此,向表图表中添加州、行业和销售额,并按州排列。要计算基准值,请创建一个计算字段,并按 State 维度对 avgOver 函数分区。


avgOver(aggregated measure, [partition by attribute, ...])
State average = avgOver(sum(Sales), [ship_state])
复制代码


加入我们已将州、行业和销售额添加到表中,则 sum(sales) 会计算州内某个行业的总销售额。要通过基准值确定此值的方差,只需创建另一个计算字段。


Actual vs. benchmark = sum(sales) – State average
复制代码


与前面的计算一样,您可以使用 percentOfTotal 计算得出行业内的销售额与州内的总销售额相比的百分比。

运行总和、差值和百分比差值

我们可以通过以下几个使用案例说明几个其他函数。


使用案例 1:作为销售分析师,我想创建一份报告,按月显示每个行业从每个日历年开始到结束的累计销售额。


为了按行业计算累计月销售额,我需要表格图表中表示的行业、日期和销售额。添加日期字段后,我将聚合更改为月份(如下所示)。



我使用 runningSum 函数为分析添加了一个新的计算字段。runningSum 函数使用如下语法。


runningSum(aggregated measure, [sort attribute ASC/DESC, ...], [partition by attribute, ...]
复制代码


此处的“aggregated measure”是指当按图表中包含的维度进行分组时我们想要的聚合。“sort attribute”是指在执行运行总和之前我们需要排序的属性。如前所述,按属性分区指定维度的每个值中包含运行总和的维度。


在此使用案例中,我们要度量的聚合度量是 sum(sales),按日期排序并按行业和年份划分。插入这些属性,我们得到以下公式。


runningSum(sum(sales),[Date ASC],[industry, truncDate("YYYY",Date)])
复制代码


排序字段和分区列表中的方括号是必需的。然后我们将此计算字段添加到图表中,并对行业进行排序。如果没有年份分区,runningSum 将计算从 2016 年到 2017 年底所有月份的累计总和。



您还可以使用折线图和其他图表类型表示累计月销售额。在折线图中,线的斜率表示该行业在一年内的增长率。例如,科技行业 2016 年的增长似乎较缓慢,但在 2017 年则迅速增长。



您还可以使用组合图表表示总销售额和累计销售额,并按行业筛选。



使用案例 2:接下来我们来计算一个日历年内每个行业的月销售额增长百分比。我们可以使用 percentDifference 函数来实现这一目的。此函数计算某个指标与前一个或后一个指标相比的百分比差值,按指定维度集进行排序和分区。


percentDifference(aggregated measure, [sort attribute ASC/DESC, ...], -1 or 1, [partition by attribute, ...])
复制代码


在此公式中,值 -1 或 1 表示是否应分别计算前一个值或后一个值的差值。插入必填字段,得出以下公式。


percentDifference(sum(sales),[Date ASC],-1,[industry, truncDate("YYYY",Date)])
复制代码


如果您只想得到差值,请使用差值函数。


difference(aggregated measure, [sort attribute ASC/DESC, ...], lookup index -1 or 1, [partition by attribute, ...])
复制代码


可用性

表计算功能在所有支持的 AWS 区域里针对标准版和企业版均已推出。有关更多信息,请参阅 Amazon QuickSight 文档。


作者介绍:


Sahitya Pandiri


Amazon Web Services 的技术项目经理。Sahitya 有 5 年以上产品/项目管理经验,并在零售、医疗保健和分析领域构建了多款产品。她喜欢解决问题,并利用技术来简化流程。


本文转载自 AWS 技术博客


文章链接:


https://amazonaws-china.com/cn/blogs/china/advanced-analytics-with-table-calculations-in-amazon-quicksight/


2019-09-29 16:271011
用户头像

发布了 1850 篇内容, 共 117.6 次阅读, 收获喜欢 78 次。

关注

评论

发布
暂无评论
发现更多内容

打一把游戏看一场病:当VR成为“数字新药”

脑极体

德勤:区块链成为现实,采用逐渐增多

CECBC

IntelliJ IDEA 中如何将 POM 中的版本号快速提出为属性

HoneyMoose

Java + opencv 实现性别识别

张音乐

Java OpenCV 9月日更 性别识别

开源应用中心|这款漂亮的国产开源论坛系统,放着不用太可惜!

开源软件

谈 C++17 里的 Singleton 模式

hedzr

c++ 算法 设计模式 Singleton

“吾道一以贯之”:华为Petal One的新格局

脑极体

LeetCode刷题704-简单-二分查找

ベ布小禅

9月日更

Linux之ssh-add命令

入门小站

Linux

Confluence 数据中心版本接近生命周期了

HoneyMoose

人能靠自驱来学习吗?

石云升

学习 9月日更

网络攻防学习笔记 Day125

穿过生命散发芬芳

9月日更 互联网安全

09. 深度学习携手大数据引领第三AI热潮--何为深度学习?

Databri_AI

人工智能

区块链落地进行时:专利猛增,构建工业互联网信任价值

CECBC

物联网实时监管 区块链云端留痕 公章何时何地何人用过一清二楚

CECBC

【得物技术】直播服务监控告警归因实践

得物技术

稳定性 服务 直播 告警 问题排查

一文读懂 OceanBase 数据库的启动恢复代码解析

OceanBase 数据库

数据库 分布式事务 oceanbase OceanBase 开源

【网络安全】漏洞复现有多少种方式?

网络安全学海

php 网络安全 信息安全 WEB安全 安全漏洞

Promise.all() 原理解析及使用指南

devpoint

Promise 异步任务 9月日更

如何大规模交付高质量、高一致性的RESTful API及配套产物

刘宇

API OpenAPI REST API

RedHat 8 如何检查端口是否联通

HoneyMoose

Python代码阅读(第23篇):将变量名称转换为短横线连接式命名风格

Felix

Python 编程 Code Programing 阅读代码

🚄【Redis干货领域】从底层彻底吃透RDB原理(基础篇)

洛神灬殇

redis RDB 快照 rdb分析 9月日更

直播回顾 | 做一个有格局的工程师

鉴释

创业 工程师 CEO

什么是低代码?低代码开发对企业有哪些特殊作用和优势?

优秀

低代码开发

未来10年,C++5个非常有前景的就业方向

hanaper

在线JSON转Go Struct工具

入门小站

工具

Go- 结构体

HelloBug

Go 语言 结构体

PhxSQL设计与实现

OpenIM

OpenSSL国密爆出8.1分高危漏洞CVE-2021-3711

腾讯安全云鼎实验室

漏洞分析 openssl

【VueRouter 源码学习】第一篇 - 环境搭建与路由模式介绍

Brave

源码 vue-router 9月日更

在 Amazon QuickSight 中使用表计算进行高级分析_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章