Цель: Я хотел бы получить разницу между текущими и предыдущими сессиями на основе срезов даты
Я хочу, чтобы на выходе было 4 столбца как таковые:
- Дата
- Текущие сессии (см. Меру ниже)
- Предыдущие сессии (см. Меру ниже)
- Разница (пока не рассчитана мера).
Положение:
В настоящее время у меня есть две меры
- Текущие сессии:
SUM(Sales[Sessions])
- Предыдущие сессии (спасибо @Alexis Olson):
VAR datediffs = DATEDIFF (
РАСЧЕТ (МАКС. («Дата» [Дата])),
РАСЧЕТ (МАКС. («Предыдущая дата» [Дата])),
ДЕНЬ
)
ВЕРНУТЬ
РАССЧИТАЙТЕ (SUM (Sales [Сессии]),
USERELATIONSHIP («Предыдущая дата» [Дата], «Дата» [Дата]),
DATEADD ( 'Date' [дата], datediffs, ДЕНЬ)
)
У меня есть три стола.
- Продажа
- Дата
- Предыдущая дата (точная копия таблицы дат)
Моя предыдущая таблица дат - 1: 1, неактивная связь с таблицей дат. Таблица дат - от 1 до многих активных отношений
с моей таблицей продаж.
У меня есть два среза в любое время, сравнивающие одинаковое количество дней в разные периоды времени (например, с 1 января по 7 января 2019 года против 25 декабря по 31 декабря 2019 года)
Если я поставлю текущие сеансы, предыдущие сеансы и столбец даты из любой из трех таблиц
+----------+------------------+-------------------+------------+
| date | current sessions | previous sessions | difference |
+----------+------------------+-------------------+------------+
| Jan 8th | 10000 | 70000 | 3000 |
| Jan 9th | 20000 | 10000 | 10000 |
| Jan 10th | 15000 | 16000 | -1000 |
| Jan 11th | 14000 | 12000 | 2000 |
| Jan 12th | 12000 | 14000 | -2000 |
| Jan 13th | 11000 | 16000 | -5000 |
| Jan 14th | 15000 | 18000 | -3000 |
+----------+------------------+-------------------+------------+
Когда я помещаю дату Сеансов в таблицу вместе с сессиями и предыдущими сессиями, я получаю правильные суммы сессий за каждый день, но суммы предыдущих сессий вычисляются неправильно, я предполагаю, потому что она фильтруется по строкам даты.
Как я могу переопределить этот табличный фильтр и заставить его получать точные суммы предыдущих сессий? В основном оба результата добавлены друг к другу. Следующая проблема показывает мою проблему. предыдущий сеанс одинаков для каждого дня и в основном представляет собой сумму 31 декабря 2018 года, потому что максимальная дата различна для каждой строки, но я хочу, чтобы она основывалась на срезе.