Я пытаюсь вычислить медиану для данных мониторинга временных рядов.
Куб OLAP имеет измерение даты (самый низкий уровень - дата) и отдельное измерение времени. (самый низкий уровень - минута)
Я обнаружил, что он правильно рассчитывает для данного дня, но он сворачивает значения за месяц. (должно быть ~ 1,55 для месяца)
WITH MEMBER [Measures].[Medianx] AS MEDIAN([Time].[Time Key].MEMBERS , [Measures].[Total of Values])
SELECT NON EMPTY {
[Measures].[Count of Values],
[Measures].[Minimum Value],
[Measures].[Maximum Value],
[Measures].[Total of Values],
[Measures].[Medianx]
} ON COLUMNS,
NON EMPTY ( [Date].[Date].[Date].MEMBERS ) ON ROWS
FROM [Environmental Data]
Дает это:
Медиана за месяц может ' не может быть выше медианы 5 отдельных дней.
Как мне заставить OLAP правильно рассчитать медиану во временном диапазоне, выбранном при свертывании? (например, по дням и месяц и год)
Может ли это быть вызвано наличием отдельных измерений даты и времени?
Редактировать: Я обнаружил, что если я просто уменьшу размерность, то c будет иметь отношение 1: 1 к факту. Он правильно рассчитывается за месяц, но очень медленно. (2min30se c для 1429 строк данных)
WITH MEMBER [Measures].[Medianx] AS MEDIAN([Data Attributes].[DETL Key].MEMBERS, [Measures].[Total of Values])
Однако, если я пытаюсь запросить группировку по дням, она никогда не завершит запрос.