2015-11-23 2 views
1

Я хотел бы рассчитать рабочие дни с временным интервалом, а затем найти Средние ежедневные рассылки. В настоящее время временной диапазон - в инструкции WHERE. Я считаю, что у меня есть диапазон дат в 1-м члене, но я не могу понять, как подсчитать даты в диапазоне месяцев. Любые предложения?Count Рабочие дни MDX

WITH MEMBER [Measures].[Working Days] AS 
COUNT(Date.[Working Date].&[1])--Doesn't work 
MEMBER [Measures].[Average Daily Dispatches] AS 
[Measures].[Total Dispatches]/[Measures].[Working Days] 
SELECT [Measures].[Average Daily Dispatches] ON 0 
FROM [cube] 
WHERE (
[Date].[Month].&[2015-01-01T00:00:00]:[Date].[Month].&[2015-08-01T00:00:00] 
); 
+0

Помогли ли какие-либо из наших ответов решить проблему? – whytheq

ответ

0

Используйте функцию NonEmpty, чтобы получить эти рабочие даты, на которых Был депеша. Затем используйте COUNT.

WITH MEMBER [Measures].[Working Days] AS 
COUNT 
    (
    NonEmpty 
      (
      [Date].[Working Date].MEMBERS, 
      [Measures].[Total Dispatches] 
      ) 
    ) 
0

Какая-то альтернатива, кажется, существует с использованием Exists/Existing (я думаю, что 1 является понедельник в кубе AdvWrks!)

WITH 
    MEMBER [Measures].[MondayCnt] AS 
    Count 
    (
     Exists 
     (
     (EXISTING 
      [Date].[Calendar].MEMBERS) 
     ,[Date].[Day of Week].[1] 
    ) 
    ) 
    MEMBER [Measures].[Averge] AS 
    [Measures].[Internet Sales Amount]/[Measures].[MondayCnt] 
SELECT 
    { 
    [Measures].[Internet Sales Amount] 
    ,[Measures].[MondayCnt] 
    ,[Measures].[Averge] 
    } ON 0 
, 
    [Date].[Calendar].[Month].&[2006]&[6] 
    : 
    [Date].[Calendar].[Month].&[2007]&[6] ON 1 
FROM [Adventure Works]; 

Вышеуказанные результаты в следующем:

enter image description here

+0

Спасибо за мысли! Форум MSDN дал мне вышеуказанный ответ, и все правильно! – Proffesore

+0

@Proffesore Я написал выше вчера. Это также на 'msdn'? – whytheq

+1

@Proffesore Это простой этикет здесь, на этом сайте, если кто-то помогает вам, вы даете им голосование или если оно отвечает на него, вы отмечаете его как ответ. С другой стороны, если это вам не поможет, сообщите об этом человеку вместе с вопросом, с которым вы столкнулись. Таким образом, человек, отвечающий на это, может выиграть и улучшить ответ. Приветствия. – SouravA

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