Я пытаюсь создать рассчитанную меру SSAS для куба инвентаря. Базовые данные содержат дату_ инвентаризации, код продукта и некоторые значения запасов для продукта на эту дату. Я пытаюсь создать показатель, который будет возвращать первое значение запасов за месяц, для продукта (и в целом). Я видел, как люди пытаются использовать функцию головы безрезультатно. Я также только что видел ссылку на функцию открытие периода, которая, кажется, именно то, что я хочу, но она также не возвращает правильное значение. Оба они, FWIW, возвращают последнее значение в месяце, а не первое.
Вот запрос, который я задаю:
select
[Measures].[Qty On Hand EOD] on 0,
{openingperiod([Inventory Date].[Calendar].[Month]):
[Inventory Date].[Calendar].[Month].&[2018-06-25T00:00:00]
} on 1
from [Daily Inventory]
Этот запрос возвращает для мая 2018 года значение [Qty On Hand EOD] для 31 мая, а не 1 мая, что я и хочу. Что я делаю не так?
FWIW, в определении куба свойство AggregateFunction для [Qty On Hand EOD] установлено в LastNonEmpty (в отличие от Sum или Avg). Может ли это играть роль?