2014-09-10 2 views
0

Как я могу подсчитать дни внутри/без продаж за определенный период.Как я могу подсчитать дни внутри/без продаж за период

Я определил запрос MDX ниже:

SELECT { [Measures].[Sales], [Measures].[Amount] } ON COLUMNS 
NONEMPTY({ [Dim Customer].[Customer ID].[Customer ID].ALLMEMBERS * 
      [Time].[Month].CHILDREN 
}) DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 
FROM [MyCube] 

Результат показывает мне для каждого клиента и месяц, сколько продаж и сумма, которую клиент должен был в соответствующем месяце.

CustomID/Month/Sales/Amount: 
1/2013 01/123/2234: 
1/2013 02/2/95: 
1/2013 03/212/11111: 
2/2013 01/122/2121: 
2/2013 02/231/3333: 

Теперь мне нужен счетчик/столбец, который показывает мне стоимость дней в месяце без продаж.

CustomID/Month/Sales/Amount/DaysNoSale: 
1/2013 01/123/2234/3: 
1/2013 02/2/95/26: 
1/2013 03/212/11111/0: 
2/2013 01/122/2121/0: 
2/2013 02/231/3333/0: 

В кубе у нас есть детали на каждый день, поэтому можно показать количество продаж в день. В минувшие выходные это число равно 0.

Есть ли у кого-нибудь идея, как я могу решить эту проблему.
Благодаря вперед

ответ

0

Если предположить, что ваш атрибут Дня назван [Time].[Day], вы должны использовать:

WITH Member Measures.[Days No Sale] AS 
    Filter([Time].[Day].[Day].Members * { [Time].[Month].CurrentMember }, 
      ([Measures].[Sales], [Dim Customer].[Customer ID].CurrentMember) = 0 
      ).Count 
SELECT { [Measures].[Sales], [Measures].[Amount], Measures.[Days No Sale] } 
     ON COLUMNS, 
     NONEMPTY({ [Dim Customer].[Customer ID].[Customer ID].ALLMEMBERS * 
       [Time].[Month].CHILDREN 
       }) 
     DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME 
     ON ROWS 
    FROM [MyCube] 

[Time].[Day].[Day].Members * { [Time].[Month].CurrentMember } является перекрестным произведением всех дней в кубе с текущим месяцем подряда. А из-за функции Autodesk Analysis Services это возвращает только пустые кортежи, т.е. е. один кортеж для каждого дня месяца, как e. г. в таблице измерения времени нет записи, содержащей 10 сентября 2014 года в столбце дня и в июле 2013 года в столбце месяца. I. e. кросс-продукт в пределах измерения не является реальным перекрестным продуктом в Analysis Services.

Тогда метод Filter ограничивает их теми, у которых нет продаж для текущего идентификатора клиента, и, наконец, Count просто их считает.

+0

Большое спасибо! Оно работает. – Katharina321

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