Страницы: 1
RSS
DAX динамическое вычисление разницы в днях между датами
 
Приветствую, друзья, прошу помощи в решении.
Накидал такой пример:

Есть спорт клуб, в котором клиенты покупают абонемент, а затем посещают занятия.
Цель установить сколько прошло дней с момента регистрации клиента до первого занятия, сколько дней прошло от первого до второго занятия, от второго до третьего и т.д.

То есть напротив каждого посещения клиента необходимо вывести сколько дней прошло с момента его последнего посещения клуба. Но только в качестве первого посещения мы используем дату регистрации.

Пример прикрепляю
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Формула столбца:
Код
= var CurD = 'Посещения'[Посещение] 
var CurC = 'Посещения'[Клиент]
var LastVisitDate = CALCULATE( MAX( 'Посещения'[Посещение]); FILTER( ALLEXCEPT('Посещения';'Посещения'[Клиент]); 'Посещения'[Посещение] < CurD ) )
return CurD - IF( ISBLANK( LastVisitDate ); MAXX( FILTER( 'Регистрация'; 'Регистрация'[Клиент] = CurC); [Регистрация в клубе]); LastVisitDate )
Вот горшок пустой, он предмет простой...
 
Ну вообще логично настроить связь между справочником клиентов и таблицей посещений.
Тогда столбец такой я бы сделал
Код
=
VAR _Previous =
    CALCULATE (
        LASTDATE ( 'Посещения'[Посещение] );
        ALLEXCEPT ( 'Посещения'; 'Посещения'[Клиент] );
        'Посещения'[Посещение] < EARLIER ( 'Посещения'[Посещение] )
    )
RETURN
    DATEDIFF (
        IF (
            ISBLANK ( _Previous );
            RELATED ( 'Регистрация'[Регистрация в клубе] );
            _Previous
        );
        'Посещения'[Посещение];
        DAY
    )
F1 творит чудеса
 
PooHkrd, Благодарю! То что надо!
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Максим Зеленский, спасибо и Вам, Максим, сделаю. просто в примере связь забыл сделать
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Страницы: 1
Наверх