AWS QuickSight新手求助:如何计算不同类型的总成本?
AWS QuickSight成本计算解决方案
一、关于sum({Units Consumed})显示Undefined的说明
聚合函数(如sum、count)属于级别聚合类函数,无法在数据集的表格视图中展示单条记录的值——这类函数是对整列或分组数据的汇总,仅在分析模块的可视化组件(表格、图表等)中,配合维度分组(如按Type分组)才能正确输出结果。
二、计算各类型总成本的两种可行方案
方案1:数据集关联单位成本数据(推荐,可扩展性强)
- 将单位成本数据整理为CSV,格式调整为:
Type Unit Cost ($) A 1 B 2 - 在QuickSight数据集管理界面,将成本消耗CSV与单位成本CSV做内连接,关联字段选择
Type。 - 创建计算字段计算单条记录的成本:
{Units Consumed} * {Unit Cost ($)} - 在分析模块的可视化中,按
Type分组,对该计算字段执行sum聚合,即可得到A、B各自的总成本。
方案2:分析模块直接硬编码单位成本(适合成本固定场景)
无需额外导入单位成本数据,直接在分析中创建计算字段:
- 单独计算Type A总成本:
sumIf({Units Consumed}, {Type} = 'A') * 1 - 单独计算Type B总成本:
sumIf({Units Consumed}, {Type} = 'B') * 2
或者创建通用计算字段,自动匹配对应类型的单位成本:
sumOver({Units Consumed}, [{Type}], PRE_AGG) * ifelse( {Type} = 'A', 1, {Type} = 'B', 2, 0 )
在可视化中按Type分组,即可查看各类型总成本。
三、修正你之前的函数写法错误
sumOver({Units Consumed}, Type='A')写法有误,sumOver的第二个参数应为分组维度列表,正确格式为sumOver({Units Consumed}, [{Type}], PRE_AGG),需配合条件判断筛选目标类型。sumIf({Units Consumed}, Type='A')函数本身正确,但属于聚合函数,需在可视化组件中使用,无法在数据集表格视图中直接查看结果。
内容的提问来源于stack exchange,提问作者hyperwiser
相关产品推荐
相关产品推荐

