2014-10-13 3 views
0

Как заменить следующий заполнитель мерой, которая возвращает сумму [Measures]. [Internet Sales Amount] в течение первых 4 дней каждого месяца, которые являются по строкам?[Measures]. [First4Days] за каждый месяц ON ROWS

WITH 
MEMBER [Measures].[First4Days] AS 
    SUM(1) //<<<<<<placeholder 
SELECT 
    { 
     [Date].[Calendar].[Month].&[2005]&[6] 
    : 
     [Date].[Calendar].[Month].&[2008]&[7] 
    } ON ROWS 
,{ 
    [Measures].[Internet Sales Amount] 
    ,[Measures].[First4Days] 
    } ON COLUMNS 
FROM [Adventure Works]; 

ответ

1

Ваш заполнитель должен быть

Sum(Head([Date].[Calendar].CurrentMember.Children, 4), [Measures].[Internet Sales Amount]) 

Вы просто взять детей на текущий месяц - как прибывающий из контекста клетки, и из этого, первые четыре, а затем подвести его через Internet Sales Amount.

Обратите внимание, что указание строк перед столбцами не является стандартным MDX, даже если Analysis Services принимает его. Согласно стандарту, оси должны быть указаны в порядке возрастания, а строки - Axis(1), а столбцы - Axis(0).

+0

@FrankPI благодарит за помощь. Вчера я добавил еще два вопроса, о чем следует из сказанного выше. Один из них действительно ищет, чтобы сделать 4, в приведенном выше, динамическим - я бы хотел, чтобы он равнялся количеству дней, прошедших в последний месяц. Я поправлю свой «MDX» на стандартную нотацию (просто заставило меня подумать, что кнопка «Формат» в «MDX Studio», вероятно, меняет их для меня ... но просто проверена, и это не так) – whytheq

Смежные вопросы