2012-04-30 9 views
0

私は、日付ディメンションに対してFKのロールプレイディメンションをいくつか持っています。どのように私は日付ディメンションからの日付がロールプレイディメンションの日付と一致する交差点を最良にカウントするのですか?それはようなものになるだろうSQLで2つの日付が一致する交差点をカウントする

With 
    Member [Measures].[First Date In]  as 
     (
     [Measures].[Account Count], 
     [Sprocket Date].[Date].CurrentMember 
     ) 
    Member [Measures].[First Date Out]  as 
     (
     [Measures].[Account Count], 
     [Widget Date].[Date].CurrentMember 
     ) 


    Select 
      { 
      [Measures].[First Date In], 
      [Measures].[First Date Out] 
      } on 0, 

      Non Empty 
      [Dim Calendar].[Date].[Date] on 1 

    From [Cube-Bert] 
しかし、それだけでどこSproket.Date = Calendar.Date交点をカウントしていない:

Select DimDate, 
      COUNT(1) 
    From DimDateTable  D 
    join RolePlayingTable R on D.Date = R.Date 
    Group by DimDate 

私はこれが働くだろうと思いました

また、私はこれを試してみましたが、それはどちらかの権利はありません。

with 
    Member [Measures].[Count] as 
     Sum(
      Exists(
       {[Sproket Date].[Date].[Date]}, 
       {[Dim Calendar].[Date].[Date]} 
       ) 
      ,[Measures].[Account Count] 
      ) 

    select [Measures].[Count] on 0, 
      Non Empty 
      [Dim Calendar].[Date].members on 1 
    from [Cube-Bert] 
+1

私が使い終わった答えは、日付マッチングに基づいて0と1のフラグ列である計算されたフィールドをDSVに追加することでした。 LinkMember関数を使用しようとしましたが、失敗しました。私は騙されているように感じますが、時間的制約のために私は選択の余地がありません。 –

答えて

0

私は日付マッチング論理をDSVに入れ、ファクトテーブルにフラグ= 1、真= 0、偽を生成しました。