【问题标题】:How to get max value using MDX Query如何使用 MDX 查询获取最大值
【发布时间】:2014-12-04 10:02:39
【问题描述】:

我正在尝试获取维度表的最大值,其中数据与事实表相关

WITH 
  MEMBER [Measures].[Max key] AS 
    Max
    (
      [DimAnchorDate].[Date Key].MEMBERS
     ,[DimAnchorDate].[Date Key].CurrentMember.Member_Key
    ) 
SELECT 
  {
    [Measures].[Max key]
  } ON COLUMNS
FROM X;

这个查询给了我输出:20141231 在 FactTable 中,我们有高达 20141031 的数据。从上面的查询中我想得到 20141031

所以现在我正在尝试从 DimAnchordate 表中获取最大值,就像它在 FactPatientDr 表中一样(即 20141031)。所以请建议我实现这一目标的最佳方法......

【问题讨论】:

    标签: sql sql-server-2008 ssas mdx cube


    【解决方案1】:

    我认为目前您正在查看多维数据集空间的某些部分中为空的日期 - 尝试使用 FactPatientDr 中的度量值强制为 nonempty

    WITH 
      MEMBER [Measures].[Max key] AS 
        Max
        (
          nonempty(
            [DimAnchorDate].[Date Key].MEMBERS
            ,[Measures].[SomeMeasureInFactPatientDr]
          )
         ,[DimAnchorDate].[Date Key].CurrentMember.Member_Key
        ) 
    SELECT 
      {
        [Measures].[Max key]
      } ON COLUMNS
    FROM X;
    

    【讨论】:

      【解决方案2】:

      我认为我们也可以使用 Tail 函数来获得带有度量值的期望结果:

      select non empty([Measures].[Entered Case],
          tail  
         (Order   
            ([Calendar].[Date].[Date].members  
               ,[Measures].[Entered Case]
               ,basc
            )  
         ,1
         ))   on 0 from [SolutionPartner]
      

      【讨论】:

        猜你喜欢
        • 2020-03-29
        • 2016-05-23
        • 2019-03-13
        • 2019-10-10
        • 2019-09-01
        • 1970-01-01
        • 2018-12-27
        • 1970-01-01
        • 2013-10-02
        相关资源
        最近更新 更多