2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

发布了 1963 篇内容, 共 168.4 次阅读, 收获喜欢 82 次。

关注

评论

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

Spark性能调优-RDD算子调优篇(深度好文,面试常问,建议收藏)

五分钟学大数据

大数据 spark 28天写作 3月日更

架构大作业2

J

进程调度算法

鲁米

算法

智慧党建系统开发,智慧组工平台建设

13530558032

饿了么刚给我确认了p7的职位,对自己的经历,做一个面试总结。

Java架构之路

Java 程序员 架构 面试 编程语言

正则表达式.01 - 元字符

insight

正则表达式 3月日更

【金三银四】这才是打开Java面试的正确方式,吃透这份【Java面试手册】offer稳了

Java 编程 面试

2021年阿里巴巴Java百亿级并发系统设计笔记(全彩版)

Java架构追梦

Java 阿里巴巴 面试 架构师 百亿级并发

说完列表说字典,说完字典说集合,滚雪球学 Python

梦想橡皮擦

28天写作 3月日更

Flutter 2 来了

SamGo

flutter

区块链电子合同应用平台-助力企业数字化转型

13530558032

聊聊交易中台系统设计与思考

架构精进之路

中台 七日更

程序员之禅(四)

每天读本书

读书笔记 每天读本书

5个身份和访问管理的最佳实践

龙归科技

数字身份 身份认证 身份安全 统一身份认证

阿里面经最新分享:Java面试指南/成长笔记(金三银四程序员必备)

比伯

Java 编程 程序员 架构 面试

mock 请求分发

blueju

JavaScript React Mock umi umijs

该死的端口占用!教你用 Shell 脚本一键干掉它!

星安果

Shell 脚本 shell脚本编写 端口 端口占用

互联网信贷风险与大数据 风险管理&信贷准入

张老蔫

28天写作

《不看后悔》38个JVM精选问答,让你变成专家

Java 架构 面试 JVM虚拟机原理

两会热词“区块链”,打开传统溯源的一扇大门!

源中瑞-龙先生

区块链 两会

Git 常用记录

Leo

git 大前端

【回溯算法】借助最后一道「组合总和」问题来总结一下回溯算法 ...

宫水三叶的刷题日记

面试 LeetCode 数据结构与算法

总结近期腾讯+阿里+百度Java岗高频面试题,提问率高达98%,看到这篇文章基本offer稳了

Java架构之路

Java 程序员 架构 面试 编程语言

微信团队分享:微信直播聊天室单房间1500万在线的消息架构演进之路

JackJiang

微信 架构设计 即时通讯

【LeetCode】下一个更大元素 II Java题解

Albert

算法 LeetCode 28天写作

该不该签竞业协议?

石云升

程序员 话题讨论 28天写作 职场经验 3月日更

LARAVEL SMTP 服务泄露,laravel env暴露

kaer

laravel 信息安全 漏洞 ENV SMTP

Elasticsearch Index Types and Mappings

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

如何写 Go 代码

Rayjun

Go 语言

架构大作业1

J

区块链药品溯源解决方案-区块链技术监管医药溯源

13530558032

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