Я смог сделать это с помощью некоторых расчетных столбцов. Чтобы пояснить, предположим, что столбец значений в вашем наборе данных называется Value
, а столбец даты в вашем наборе данных называется ValueDate
. Я создал некоторые вымышленные данные, которые распространяются на апрель 2017 года, чтобы помочь проиллюстрировать решение.
Вставьте вычисляемый столбец, чтобы определить, находится ли дата в каждой строке в текущем году или нет. Я позвоню в колонку DateGrouping
.
CASE WHEN Year(DateTimeNow())=Year([ValueDate]) THEN "Monthly" WHEN Year(DateTimeNow())>Year([ValueDate]) THEN "Yearly" END AS [DateGrouping]
Вставить вычисляемый столбец, который говорит нам последнюю дату месяца для ValueDate
. Например, если дата в строке 4/10/2015, последний день месяца для дня в этой строке - 30.04.2015. Если дата в строке 7/8/2013, последний день месяца для даты в этой строке - 7/31/2013. Мы будем называть этот столбец LastDateOfMonth
.
DateAdd("day",-1,date(Year([ValueDate]),Month(DateAdd("month",1,[ValueDate])),1))
Вставить вычисляемый столбец, который говорит нам последнюю дату год для ValueDate
. Конечно, это только 31 декабря ValueDate
года. Позвоните в эту колонку LastDateOfYear
.
Date(Year([ValueDate]),12,31)
Наконец, мы используем три предыдущие вычисляемые столбцы, чтобы добавить вычисляемый столбец для значения даты мы хотим построить. Вы хотите построить месяц за текущий год и год за предыдущие годы.
CASE [DateGrouping] WHEN "Monthly" THEN [LastDayOfMonth] WHEN "Yearly" THEN [LastDateOfYear] END
На моей оси значений является Value
столбец, который я агрегирование как Average. На моей оси категории находится расчетный столбец DatePlot
- я установил ось категории в категориальную шкалу.И я раскрашиваю расчетный столбец DateGrouping
, чтобы предложить визуальный сигнал, что данные агрегируются по-разному с течением времени.
Теперь должны это сделать? Конечно, есть некоторые подводные камни. Вы не можете сделать непрерывную шкалу осей категории, иначе вы увидите все пустые месяцы, когда мы накапливаем предыдущие годы до 31 декабря. С другой стороны, пробелы хороши визуально, когда нет данных за данный период , Поэтому я не знаю. Но я представил себе то, что вы просили, и решил попробовать. Покупатель, будь осторожен!
Были ли какие-нибудь ответы полезными? – AmbivalentGeek