Страницы: 1
RSS
Поиск предыдущего обращения клиента мерой на DAX, Поиск предыдущего обращения клиента мерой на DAX
 
Добрый вечер, уважаемые!
Прошу помощи в решении задачи.
Нужна формула DAX, которая будет находить предыдущее обращение клиента.
Например, Иванов Иван обращался 01.02.2022, в столбце рядом нужно показывать дату его последнего обращения например 15.01.2022.
Пример таблицы во вложении.
 
посмотрите привольно ли я Вас понял, конечно Вам нужно отключить общий итог
Код
=
SUMX (
    VALUES ( tabc[Клиент] );
    VAR tab =
        CALCULATETABLE ( TOPN ( 2; 'tabc'; 'tabc'[Дата обращения]; DESC ) )
    RETURN
        CALCULATE ( MIN ( 'tabc'[Дата обращения] ); tab )
)
Изменено: azma - 05.03.2022 05:30:19
 
Василий, не совсем понятно, что Вы хотите в результате.
1. Если клиент обращался более двух раз, то вывести нужно только последнюю дату с предпоследней предыдущей (в этом случае Вам azma ответил)? Или все даты, кроме самой ранней, а рядом предыдущую?
2. Если клиент обратился 2 или более раз в одну дату, то в предыдущей эта же дата или предыдущая меньшая дата? К примеру, клиент обратился 1 янв, 2 янв и еще раз 2 янв. К обращению 2 янв предыдущая 2 янв или 1 янв?
Изменено: surkenny - 05.03.2022 07:52:39
 
Еще вариант:
Код
=CALCULATE(
   MAX('Таблица1'[Дата обращения]);
   FILTER(
      ALL('Таблица1'[Дата обращения]);
      'Таблица1'[Дата обращения]<MAX('Таблица1'[Дата обращения])
   )
)
 
Vladimir Chebykin, я вот тоже по такой логике писал меру:
Код
Дата предыдущего обращения :=
VAR curMaxrDate =
    MAX ( 'data'[Дата обращения] )
VAR prevMaxDate =
    CALCULATE (
        MAX ( 'data'[Дата обращения] );
        ALLEXCEPT ( data; data[Клиент] );
        'data'[Дата обращения] < curMaxrDate
    )
VAR result =
    IF ( HASONEVALUE ( data[Клиент] ); prevMaxDate )
RETURN
    result

Василий, обратите внимание на разницу в результатах предложенных Вам мер (верхняя моя и Vladimir Chebykin, нижняя azma). Все видно на Петровых:
 
Уважаемые azma, surkenny, Vladimir Chebykin, спасибо за ваши ответы, это то что нужно.  :)  
Страницы: 1
Наверх