如何根据事实表键从DIM表属性中获取数据作为列

时间:2013-07-19 14:59:23

标签: ssas mdx

enter image description here

我们使用不使用MDX脚本的自定义报告的网络应用程序。我是编写MDX查询的新手。任何人都可以帮助从以下问题中获取数据。

  1. 对于每个CPKey,我们都有患者名单
  2. 对于患者昏暗表中可用的每个患者信息。
  3. 当MDX从dot net应用程序获得CPKey时,如何从Patient DIM表中检索患者信息?

    预期结果集如下

    PatientID   PatientName MemberNum   Phone   Age Gender  Conditions
    1   abc 12345   111111  25  F   NULL
    
    ![Sql >>>>>
    Select  p.* from 
     ConditionprevalencePatient  cpp
    Inner join patient p
    On p.Patientid = cpp.Patient
    
    MDX ???????][2]
    

1 个答案:

答案 0 :(得分:1)

我不确定条件,你在问题中的屏幕截图有一些关系线覆盖表,但MDX查询看起来像:

SELECT {} ON COLUMNS,
       [Patient].[Patient ID].[Patient ID].Members
       *
       [Patient].[PatientName].[PatientName].Members
       *           
       [Patient].[MemberNum].[MemberNum].Members
       ...
       ON ROWS
  FROM [YourCubeName]
 WHERE {
       [ConditionPrevalencePatients].[ConditionPrevalenceKey].[12345],
       [ConditionPrevalencePatients].[ConditionPrevalenceKey].[67890]
       }

MDX与SQL非常不同,即使在第一个视图中,您也可以识别一些关键字。