2016-03-22 24 views
0

enter image description hereMDX yalnızca söz konusu kayıt için son tarihe göre veri almak için nasıl son tarih

dayalı verileri almak için nasıl. Sonra ne

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 
      ) 
      ,[DimPatient].[Patient Key] 
     ) 
    ) 
    ) ON ROWS 
FROM [CareManagement]; 
+0

Ben SELECT [Measures], sorgu deneyin & [Çalışan Sağlık HRA:.. Emin neden bu şekilde davranıyor. ], \t \t [DimAssessment]. [Soru Metin]. & [sen tütün ürünleri kullanıyor musunuz?], \t \t [DimPatient]. [Hasta Anahtar]. [Hasta Anahtar], \t \t üret ( [DimAssessment] [Cevap Metni]. [Yanıt Metni] .MEMBERS , [DimAssessment]. [Yanıt Metni]. CURRENTMEMBER * KUYRUK (NonEmpty ( [DimDate]. [Tam tarihi Alternatif Tuş]. [Tam tarihi Alternatif Tuş] .Members, [DimAssessment]. [Cevap Metin] .CURRENTMEMBER \t \t), [DimPatient]. [Hasta Anahtarı ] \t))) ROWS FR 'dan [CareManagement] – Yugandhar

+0

neden radikal düzenleme yapılıyor? – whytheq

cevap

0

LastNonEmpty işlevi Yarı ek fonksiyonudur muhtemelen LastNonEmpty toplama

ve uygulanabilir olması için tip Zaman bir boyut gerektirir (bu ayarlanabilir Ölçü Özelliklerinde), bir ölçünün Zaman boyutu boyunca bir araya gelmesi durumunda farklı davranması, aynı ölçüyü diğer (Zaman-dışı olmayan) bir boyutta topladığında olduğu gibi olmasıdır. Aşağıdaki bağlantıdan Alınan

: http://thinknook.com/ssas-lastnonempty-aggregation-function-2012-08-18/

  • Zaman Boyutunda boyunca LastNonEmpty Davranış: Zaman segmenti boyunca geçen (en erken) mevcut değer döndürülür, aylık toplayarak eğer öyleyse, o zaman değeri Ayın son gününde bir değer döndürülür.
  • Zaman Olmayan Boyutlar Boyunca LastNonEmpty Davranışı: SUM toplama işlevi uygulanır ve döndürülen değer, tüm toplu (Zamanlanmamış yazılan) boyutlar boyunca ölçünün SUM'udur.
+0

Belirli bir kayıt örneğine ihtiyacım var, hastayı al 20066, son tarih 2016-03-22. – Yugandhar

+0

Referanslarınız için: SELECT [Ölçüleri]. [Değerlendirme Hastaları Ayrıntı] ON COLUMNS, NON EMPTY ([DimAssessment]. [Değerlendirme Metin]. & [Çalışan Sağlık İHD], [DimAssessment]. [Soru Metni]. & [Tütün ürünlerini kullanıyor musunuz?], [DimPatient]. [Hasta Tuşu]. [Hasta Tuşu], [DimAssessment]. [Yanıt Metni]. [Yanıt Metni], [DimDate]. [Tam Tarih Alternatif Tuşu] [Tam Tarih Alternatif Anahtar] ) ON ROWS FROM [CareManagement] – Yugandhar

0

Generate içinde yanlış hiyerarşi kullanıyorsunuz? İşte

SELECT 
    [Measures].[Assessment Patients Detail] ON 0 
,NON EMPTY 
     {[DimAssessment].[Assessment Text].&[Employee Wellness HRA]}* 
     {[DimAssessment].[Question Text].&[Do you use tobacco products?]}* 
     {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 
      ) 
     ) 
    )}* 
     {[DimAssessment].[Answer Text].[Answer Text].MEMBERS} ON 1 
FROM [CareManagement]; 

AdvWrks benzer bir senaryodur - SO üzerinde birkaç kullanıcı hepimiz oyun böylece bu küp kullanın:

enter image description here

elimden:

SELECT 
    [Measures].[Internet Sales Amount] ON 0 
,NON EMPTY 
     { 
     [Customer].[Customer].[Alexis Thomas] 
     ,[Customer].[Customer].[Carlos Morgan] 
     ,[Customer].[Customer].[Carlos Scott] 
     }* 
     [Customer].[Customer Geography].[Country]* 
     [Date].[Calendar].[Month] ON 1 
FROM [Adventure Works]; 

Bu veriyor Generate girişimi eklemeye başladım ve aşağıdaki kadarıyla alabiliyorum ama Tail eklediğimde sonuçlar kayboluyor - ON COLUMNS [Değerlendirme Hastalar Detay], OLMAYAN BOŞ ([DimAssessment] [değerlendirilmesi Metin]

SELECT 
    [Measures].[Internet Sales Amount] ON 0 
,NON EMPTY 
    Generate 
    (
     { 
     [Customer].[Customer].[Alexis Thomas] 
     ,[Customer].[Customer].[Carlos Morgan] 
     ,[Customer].[Customer].[Carlos Scott] 
     } AS S 
    , 
     s.CurrentMember 
     * 
     NonEmpty 
     (
      [Date].[Calendar].[Month].MEMBERS 
      * 
      [Customer].[Customer Geography].[Country] 
     ,s.CurrentMember 
     ) 
    ) ON 1 
FROM [Adventure Works]; 
+0

Merhaba, yukarıdaki sorguyu çalıştırdığımda aşağıdaki hatayı alıyorum, Query (4, 7) Çarpma işlevi 1 argüman için bir tuple set ifadesi bekler. Bir dize veya sayısal ifade kullanıldı. – Yugandhar

+0

@yugandhar - tamam daha açık olabilir ve çarpmanın her bir bitinin etrafına '{..}' ekleyebiliriz - ben düzenleyeceğim. – whytheq

+0

@ whytheq- sadece bir kayıt alma, kalan kayıtlara da ihtiyacım var, patientid-5250,17709,20066 (2016-03-22), 25839 – Yugandhar

İlgili konular