我有如下数据集:
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问题。
发布于 2016-01-05 09:59:25
根据Mark Andersen的解决方案,我发现了以下内容:
WeekNumber:
DATETRUNC('week', [Date])WeekTotal:
{FIXED [WeekNumber], [Main Category]: SUM([Amount Person]) }WeekDiffDATEDIFF('week',#2015-08-01#,TODAY())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(),但是如果在两个任意日期之间使用过滤器,那么如果自动计算的话,就会很方便。
发布于 2015-12-23 16:04:21
发布于 2015-12-24 04:52:50
首先,确保名为DATE的字段的数据类型是date类型,而不是字符串类型。如果没有,请从鼠标右键菜单中更改数据类型,或者在最坏的情况下使用计算字段中的日期解析函数。
其次,将日期字段放到货架上后,将日期级别的粒度设置为Week。使用鼠标右键菜单。从第二批选项中选择将日期截断到周级别。该菜单上的第一批选项是日期部分,而不是日期。然后,您可能希望将字段更改为离散字段,具体取决于您的预期视图。
https://stackoverflow.com/questions/34414426
复制相似问题