2017-01-17 11 views
0

従業員が1日全体で働いた日数をMDXクエリで計算します。MDX現在のコンテキスト日付の有効範囲の数値

数値は従業員および予定日ですが、尺度は時間および受講時間です。私はどのように私はこのクエリを修正することができるかわからない:

WITH MEMBER [Measures].[IsPresent] as IIF([Measures].[Hours] >= [Measures].[Attended Hours],1,0) 
    MEMBER [Measures].[CountOfDays] as DISTINCTCOUNT(EXISTING FILTER([Calender Date].[Calender].[Date], [Measures].[Hours] >= [Measures].[Attended Hours])) 

    select {[Employee].[Number].[Number].ALLMEMBERS} on 0, {[Measures].[CountOfDays]} on 1 from (
     SELECT ({[Employee].[Number].[Number].ALLMEMBERS},{[Measures].[Hours],[Measures].[Attended Hours]}) ON 0 
     , { [Calender Date].[Calender].[Date]}on 1 
     From (select {[Calender Date].[Calender].[Date].&[2016-01-01T00:00:00] : [Calender Date].[Calender].[Date].&[2016-01-31T00:00:00]} ON COLUMNS 
    FROM [BJ Cube] WHERE ([Calender Date].[Is Work Day].&[Y])) 
    ) 

サンプルデータセットは次のとおりです。

enter image description here

答えて

1

はあなたのために、次のMDXの仕事をしていますか?

計算メンバーが自動に受けない
MEMBER [Measures].[CountOfDays] as 
SUM( 
    existing [Calender Date].[Calender].[Date].Members, 
    IIF(
     [Measures].[Hours] >= [Measures].[Attended Hours], 
     1, 
     NULL 
    ) 
) 
+0

が基準のこのメンバー習慣フィルタデータは、[カレンダーの日付]したがってMDXに存在する[カレンダー] [日] - [2016-01-01T00:00:00]。。。 :[Calender Date]。[Calender]。[Date]。&[2016-01-31T00:00:00] –

+0

どういう意味ですか?あなたの問題を明記してください。 –