Рассчитать меру по разному измерению времени танге - PullRequest
0 голосов
/ 07 мая 2018

У меня есть вычисленная мера [Measures].[Person Count], определенная как DISTINCTCOUNT(Visits[Person ID]).Наш финансовый год длится с июля по июнь.Я хотел бы получить отчет, показывающий, по финансовым месяцам, как количество отдельных лиц в этом месяце, а также промежуточные итоги.Однако промежуточный итог также должен учитывать различные значения.Вот что у меня есть почти работает:

WITH MEMBER [Measures].[Cumulative Person Count] AS 
     Sum(PeriodsToDate([Date].[Fiscal Calendar].[Fiscal Year], 
                       [Date].[Fiscal Calendar].CurrentMember),
         [Measures].[Person Count])
SELECT [Date].[Fiscal Calendar].[Month].MEMBERS ON COLUMNS,
       { [Measures].[Person Count], 
         [Measures].[Cumulative Person Count] } ON ROWS
  FROM [Model]
 WHERE [Date].[FiscalYear].&[2018]

Это дает что-то вроде следующего:

+-------------------------+-------+--------+-----------+...
|                         |  July | August | September |...
+-------------------------+-------+--------+-----------+...
| Person Count            | 34268 |  37270 |     35971 |...
| Cumulative Person Count | 34268 |  71538 |    107509 |...
+-------------------------+-------+--------+-----------+...

Числа "Количество людей" верны.«Кумулятивный счетчик», однако, просто суммирует итоги за каждый месяц, не зная дубликатов.Предположим, что только 10% личных записей являются новыми каждый месяц.Результат, который я хотел бы видеть, будет выглядеть примерно так:

+-------------------------+-------+--------+-----------+...
|                         |  July | August | September |...
+-------------------------+-------+--------+-----------+...
| Person Count            | 34268 |  37270 |     35971 |...
| Cumulative Person Count | 34268 |  37995 |     41592 |...
+-------------------------+-------+--------+-----------+...

Каков наилучший способ повторно использовать меру [Measures].[Person Count], но применять ее к другому диапазону, который осведомлен о контексте?

1 Ответ

0 голосов
/ 17 мая 2018

Возможно, вы просто используете неправильный тип агрегации - попробуйте AGGREGATE вместо:

WITH MEMBER [Measures].[Cumulative Person Count] AS 
     AGGREGATE(
        PeriodsToDate(
            [Date].[Fiscal Calendar].[Fiscal Year], 
            [Date].[Fiscal Calendar].CurrentMember),
         [Measures].[Person Count]
     )

Альтернативой PeriodsToDate может быть использование NULL:..:

AGGREGATE(
    { NULL : [Date].[Fiscal Calendar].CurrentMember } 
    ,[Measures].[Person Count]
) 
...