MDX. Получить количество уникальных людей, отобранных по последнему визиту в диапазоне дат

Всем добрый день.

Есть небольшой куб с двумя измерениями: Time Dimension и Customer Dimension, в каждом по одному атрибуту Day и ID соответственно. Есть факты с мерами: PurchaseCount, PurchaseSum, Customer Distinct Count.

Стоит задача найти количество людей, которые последний раз делали покупки в диапазоне дат. Пробовал сам написать - куб выдает ошибку парсинга, привожу код

WITH
    SET [LastVisits] AS
        SELECT
            [Measures].[Purchase Sum] ON 0
            FILTER
            (
                NONEMPTY
                (
                    [Customer Dimension].[ID].Members * [Time Dimension].[Day].Members,
                    [Measures].[Purchase Sum]
                ) AS Visits
                , NOT (Visits.CURRENT.ITEM(0) IS Visits.ITEM(RANK(Visits.CURRENT, Visits)).ITEM(0))
            ) ON 1
        FROM
            [Cube]
    SET [LastVisitsInPeriod] AS
        FILTER
        (
            [LastVisits]
            , [LastVisits].CURRENT.ITEM(1) IN
                (
                    [Time Dimension].[Day].&[2020-01-01T00:00:00]:
                    [Time Dimension].[Day].&[2020-01-31T00:00:00]
                )
        )
SELECT
    [Measures].[Customer Distinct Count] ON 0
FROM
    [LastVisitsInPeriod]

Ошибка - Query (3, 3) Parser: The syntax for 'SELECT' is incorrect.

Подскажите пожалуйста в чем может быть проблема в моем коде?


Ответы (0 шт):