我有一个条形图,显示每个月我的数据质量。随着这些年来数据的增长,图表变得越来越混乱。因此,我希望在过去几年的所有月份中按年度显示平均质量,但是按当月的月度显示。
任何人都可以帮助我实现这个目标。
谢谢, -Dileep
答案 0 :(得分:0)
这需要分成两个图表,或者它只是不易读。我建议:
因此,如果您需要逐月比较1,2,3或所有年份,您可以全部选择它们,或者只选择您想要的那些。
答案 1 :(得分:0)
我能够在一些计算列的帮助下完成它。为了帮助解释,我们假设数据集中的值列称为Value
,数据集中的日期列称为ValueDate
。我创建了一些延伸到2017年4月的虚构数据,以帮助说明解决方案。
插入计算列以分类每行中的日期是否在当前年份。我打算调用专栏DateGrouping
。
CASE WHEN Year(DateTimeNow())=Year([ValueDate]) THEN "Monthly" WHEN Year(DateTimeNow())>Year([ValueDate]) THEN "Yearly" END AS [DateGrouping]
插入一个计算列,告诉我们ValueDate
的月份的最后日期。例如,如果行中的日期是2015年4月10日,那一行中该月的最后一天是2015年4月30日。如果行中的日期是2013年7月8日,则该行中日期的月份的最后一天是2013年7月31日。我们将此专栏称为LastDateOfMonth
。
DateAdd("day",-1,date(Year([ValueDate]),Month(DateAdd("month",1,[ValueDate])),1))
插入一个计算列,告诉我们ValueDate
的年的最后日期。当然,它只是ValueDate
年的12月31日。请拨打此列LastDateOfYear
。
Date(Year([ValueDate]),12,31)
最后,我们利用前三个计算列为我们想要绘制的日期值添加计算列。您希望按月计算当前年份,以及按年份计算前几年。
CASE [DateGrouping] WHEN "Monthly" THEN [LastDayOfMonth] WHEN "Yearly" THEN [LastDateOfYear] END
在我的值轴上是Value
列,我将其汇总为平均值。在我的类别轴上是计算的DatePlot
列 - 我将类别轴设置为分类比例。我按计算的DateGrouping
列进行着色,以提供一个视觉提示,即数据会随着时间的推移而不同地聚合。
现在,应该这样做?肯定存在一些陷阱。您不能使类别轴成为连续比例,否则您将看到我们将前几年集中到12月31日的所有空白月份。另一方面,当有没有给定时期的数据。所以我不知道。但我想象你在问什么,并决定尝试一下。买家要小心!