2016-03-28 4 views
1

ハイライトされたレコードのみが必要です。MDX:ハイライトされたレコードのみが必要です

SELECT 
[Measures].[Assessment Patients Detail] ON COLUMNS, 
NON EMPTY([DimAssessment].[Assessment Text].&[Employee Wellness HRA], 
      [DimAssessment].[Question Text].&[Do you use tobacco products?], 
      [DimPatient].[Patient Key].[Patient Key], 
      Generate(
       [DimAssessment].[Answer Text].[Answer Text].MEMBERS 
      ,[DimAssessment].[Answer Text].CURRENTMEMBER 
      *TAIL(
       NonEmpty(
        [DimDate].[Full Date Alternate Key].[Full Date Alternate Key].MEMBERS 
        ,[DimAssessment].[Answer Text].CURRENTMEMBER 
       ) 
       ,[DimAssessment].[Question Text].&[Do you use tobacco products?] 
      ) 
     ) 
)ON ROWS 
FROM 
[Care]; 

]

+0

私はこのコードが実行されるのに驚いていますか? – whytheq

+0

@ whytheq-あなたが驚いたのはあなたの質問です(あなたは先週コメントしましたが、除外された結果セットは表示されません) – Yugandhar

+0

これはTailの第2引数としてあります: '、[DimAssessment]。[質問文]。&[Doあなたはタバコ製品を使用していますか?] '...第2引数は整数でなければなりません。だから私は驚いています。 – whytheq

答えて

0

これはおそらく、私が前にこれを支援しようとしましたが、次は少し神秘的であるような答えではありません。

機能Tailの第2引数は通常、例えば整数2または3は、最初のargで指定されたセットの最後の2つ、または最後の3つのメンバーをTailとしたいことを意味します。

私は行のメンバーのクロス参加するのではなくタプルを使用することを好むが、私は、これはあなたが必要と行を与えるとは思わない

SELECT 
[Measures].[Assessment Patients Detail] ON COLUMNS, 
NON EMPTY 
    {[DimAssessment].[Assessment Text].&[Employee Wellness HRA]} 
    *{[DimAssessment].[Question Text].&[Do you use tobacco products?]} 
    *[DimPatient].[Patient Key].[Patient Key].members 
    *Generate(
     [DimAssessment].[Answer Text].[Answer Text].MEMBERS 
     ,[DimAssessment].[Answer Text].CURRENTMEMBER 
     *TAIL(
      NonEmpty(
       [DimDate].[Full Date Alternate Key].[Full Date Alternate Key].MEMBERS 
      ,[DimAssessment].[Answer Text].CURRENTMEMBER 
      ) 
     ,1 //[DimAssessment].[Question Text].&[Do you use tobacco products?] 
    ) 
    ) 
ON ROWS 
FROM 
[Care]; 

私たちは、ロジックの多くを移動する必要があります生成の内部。

まず、次の2つの正しい列を返すかどうかを確認してください。

SELECT 
[Measures].[Assessment Patients Detail] ON COLUMNS, 
NON EMPTY 
    Generate(
     [DimPatient].[Patient Key].[Patient Key].MEMBERS 
     ,[DimPatient].[Patient Key].CURRENTMEMBER 
     *TAIL(
      NonEmpty(
       [DimDate].[Full Date Alternate Key].[Full Date Alternate Key].MEMBERS 
      ,[DimPatient].[Patient Key].CURRENTMEMBER 
      ) 
     ,1 
    ) 
ON ROWS 
FROM 
[Care]; 
+0

@ whytheq-エラーメッセージを表示 'Query(4,6)Multiply関数は、1つの引数に対してタプルセット式が必要です。文字列または数値式が使用されました。 – Yugandhar

+0

@ whytheq-これで再生してもらえますか?各患者の最新の日付と最新の回答が必要です。 – Yugandhar

関連する問題