写点什么

在 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:271112
用户头像

发布了 1906 篇内容, 共 146.2 次阅读, 收获喜欢 81 次。

关注

评论

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

react hook 源码完全解读

flyzz177

React

用javascript分类刷leetcode15.链表(图文视频讲解)

js2030code

JavaScript LeetCode

快速实现一个企业级域名SSL证书有效期监控巡检系统

观测云

前端 后端 可观测性 观测云 可观测性用观测云

NFTScan 团队正式发布 NFT Portfolio 产品

NFT Research

NFT

腾讯前端一面经典手写面试题合集

helloworld1024fd

JavaScript

JavaScript刷LeetCode拿offer-树的遍历

js2030code

JavaScript LeetCode

袋鼠云高教行业数字化转型方案,推进数字化技术和学校教育教学深度融合 | 行业方案

袋鼠云数栈

大数据‘’

Atlassian Server用户新选择 | Data Center产品是否适合您的企业?

龙智—DevSecOps解决方案

Server Atlassian Atlassian迁移 Data Center

Apifox IDEA 插件 | 帮助开发者快速生成 API 文档

Apifox

IDEA idea插件 Apifox API文档 idea web

聚焦中国大数据流程挖掘,这场发布会值得关注!

ToB行业头条

自己手写一个redux

helloworld1024fd

JavaScript

React源码分析3-render阶段(穿插scheduler和reconciler)

goClient1992

React

vivo x TiDB丨解决云服务海量数据挑战

PingCAP

TiDB

【立哥】【每日一个小知识】按照法律,遗产应该怎么继承?

Lee Chen

法律 知识

Teradata退出中国,您可以相信中国数据库!

墨天轮

数据库 数据仓库 GaussDB gbase8a teradata

flutter系列之:在flutter中使用导航Navigator

程序那些事

flutter 大前端 程序那些事

为什么推荐一个容器只运行一个进程?

追赶者

k8s 为什么

React源码解读之更新的创建

flyzz177

React

React源码解读之任务调度

flyzz177

React

关于这个“微信提现”的问题,太炸裂了,以至于我写了段代码来验证!

why技术

Java 算法

React源码分析4-深度理解diff算法

goClient1992

React

React源码分析2-深入理解fiber

goClient1992

React

代码质量与安全 | 一文了解高级驾驶辅助系统(ADAS)及其开发中需要遵循的标准

龙智—DevSecOps解决方案

静态代码分析 ADAS 汽车软件开发 汽车软件

来讲讲怎样获取到url上所有参数并以对象形式保存,再讲讲JSON解析与序列化

梁木由

前端 前端开发 前端面试

天翼云AI团队夺得ZeroCLUE榜单桂冠

极客天地

数仓在线运维:如何进行在线增删CN

华为云开发者联盟

数据库 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

前端手写面试题总结

helloworld1024fd

JavaScript

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

线上研讨会报名 | 与龙智、Perforce共探大规模研发中的数字资产管理与版本控制,赢取千元大奖

龙智—DevSecOps解决方案

版本控制 数字资产 游戏开发 芯片开发 数字资产管理

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