#tableau-api
#таблица-api
Вопрос:
Я ежегодно сравниваю показатели продаж двух разных продуктов. Данные извлекаются из одной таблицы SQL Server и разделяются на текущий и предыдущий год путем фильтрации по следующему вычисляемому полю:
IF year([Friday of Week Sold]) = YEAR(TODAY())-1 THEN
IF [Product Type] = "A" THEN "PY Product A"
ELSEIF [Product Type] = "B" THEN "PY Product B"
END
ELSEIF year([Friday of Week Sold]) = YEAR(TODAY()) THEN
IF [Product Type] = "A" THEN "CY Product A"
ELSEIF [Product Type] = "B" THEN "CY Product B"
END
END
(вычисляемое поле, вдохновленное сообщением в блоге здесь)
Конечным результатом является приведенная ниже диаграмма:
я пытаюсь выяснить, есть ли способ изменить отображение оси x так, чтобы в нем отображались даты окончания недели текущего года, а не номер недели; например, отображать «Неделя 1» как «1/4/19», «Неделя 2» как «1/11/19» и т. Д. Изменение типа данных на week не работает, поскольку затем данные разделяются на две части следующим образом: и я пытаюсь, чтобы строки накладывались друг на друга, чтобы пользователям было легко сравнивать.
Я согласен с незначительным отклонением в датах от этого (неделя 1 в 2019 заканчивается 1/4/19 по сравнению с неделей 1 2018, заканчивающейся 1/5/18). Цель состоит в том, чтобы позволить конечным пользователям быстро и грубо сравнить наши показатели на этой неделе с показателями прошлого года.
Ответ №1:
Это не самое элегантное решение, но оно работает:
if DATEPART('week',[Order Date],'Friday') = 1 Then #1/4/2019#
ELSEIF DATEPART('week',[Order Date],'Friday') = 2 Then #1/11/2019#
ELSEIF DATEPART('week',[Order Date],'Friday') = 3 Then #1/18/2019#
ELSEIF DATEPART('week',[Order Date],'Friday') = 4 Then #1/25/2019#
ELSEIF DATEPART('week',[Order Date],'Friday') = 5 Then #2/1/2019#
ELSEIF DATEPART('week',[Order Date],'Friday') = 6 Then #2/8/2019#
ELSEIF DATEPART('week',[Order Date],'Friday') = 7 Then #2/15/2019#
ELSEIF DATEPART('week',[Order Date],'Friday') = 8 Then #2/22/2019#
[...52...]
END
Недостатком здесь является то, что для приведения дат к текущему году потребуется корректировка каждый календарный год.
Конечный продукт потребует, чтобы вы поместили YEAR() меры, которую вы хотели бы иметь в качестве своих линий, в color (в вашем случае, вероятно, вложенный IF будет отдельным вычислением) (в приведенном ниже примере [Прибыль].) В результате каждый номер недели включается в вышеуказанное вычисление, которое используется в качестве измерения. Вам нужно будет изменить тип диаграммы на «Line», и вы, вероятно, тоже захотите right click the axis > rotate label
.