首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每类动态每周平均数

每类动态每周平均数
EN

Stack Overflow用户
提问于 2015-12-22 11:05:52
回答 3查看 2.8K关注 0票数 0

我有如下数据集:

代码语言:javascript
复制
DATE       | AMOUNT | CATEGORY
20.12.2015 | 100.00 | Drinks
22.12.2015 | 50.00  | Food
20.12.2015 | 70.00  | Transport
07.12.2015 | 50.00  | Transport
...

有几个记录显示每周和一天花费的数额。

我想要一张条形图,上面有左边的类别和标出每周平均水平的条形图。在经过过滤的时间框架内,每周平均花费多少?

如果我使用正常的AVG([AMOUNT]),它计算的是每天的平均值,而不是每周的平均值。

我发现了一个问题:Tableau - weekly average from daily data

然而,其中一个答案不是动态的,其他列表是连续几周的平均值,而不是每个类别,我想不出有什么方法可以将同样的技术应用于mmy问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-01-05 09:59:25

根据Mark Andersen的解决方案,我发现了以下内容:

  1. 创建计算字段WeekNumberDATETRUNC('week', [Date])
  2. 创建计算字段WeekTotal{FIXED [WeekNumber], [Main Category]: SUM([Amount Person]) }
  3. 创建计算字段WeekDiffDATEDIFF('week',#2015-08-01#,TODAY())
  4. 创建一个计算字段WeekAvg[WeekTotal] / [WeekDiff],使用WeekAvg作为条形图的保证,它就完成了。

对此,我要说几句:马克的解决方案是正确的。我不得不用avg([Amount])替换sum([Amount]),因为我想要每周的总数,然后平均起来。然而,它并没有精确地计算出我想要的,因为Tableau只根据有支出的周来计算平均值。如果我有

第一周40美元,第2周20美元,第4周30美元

然后它计算(40+20+30)/3 = 30,而我希望在我的用例中使用(40+20+30)/4 = 20.25 --我的解决方案可以工作--因为我有一个固定的时间框架,直到TODAY(),但是如果在两个任意日期之间使用过滤器,那么如果自动计算的话,就会很方便。

票数 0
EN

Stack Overflow用户

发布于 2015-12-23 16:04:21

  1. 添加一个新维度,用于几个星期
  2. 然后,您可以创建一个变量,该变量计算特定周的平均金额如下:{固定日期(周号),类别:avg(金额)}
  3. 然后,当您想要平均时,您可以平均上述公式avg({固定日期(星期数),类别:avg(金额) })
票数 2
EN

Stack Overflow用户

发布于 2015-12-24 04:52:50

首先,确保名为DATE的字段的数据类型是date类型,而不是字符串类型。如果没有,请从鼠标右键菜单中更改数据类型,或者在最坏的情况下使用计算字段中的日期解析函数。

其次,将日期字段放到货架上后,将日期级别的粒度设置为Week。使用鼠标右键菜单。从第二批选项中选择将日期截断到周级别。该菜单上的第一批选项是日期部分,而不是日期。然后,您可能希望将字段更改为离散字段,具体取决于您的预期视图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34414426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档