【问题标题】:How use MEDIAN function to other hierarchy in MDX query?如何在 MDX 查询中将 MEDIAN 函数用于其他层次结构?
【发布时间】:2016-08-16 04:56:51
【问题描述】:

仓库结构:

FactSales:...、DateKey、RefernceId、SalesAmount、.....

  • DateKey - 日期维度键, ReferenceId - 销售 ID, SalesAmount - 每次销售的销售额(不是一天)。

    例如,两天内有 6 笔销售。所以在仓库中的事实表将是 6 行。

DateKey ReferenceID SalesAmount

2015-04-09 - 001 - 9

2015-04-09 - 002 - 10

2015-04-09 - 003 - 11

2015-04-10 - 004 - 12

2015-04-10 - 005 - 13

2015-04-10 - 006 - 14

DimDate: 日期键, 年, 25美分硬币, 月, 日期, ......

我有 SSAS 多维立方体,我想查询图表数据。图表 X 轴为 Date,Y 轴为 SalesAmount。

好的,我必须显示 2 天的中位数。如果我们按天造粒是没有问题的:

MEMBER [Measures].[2d median] AS
(
MEDIAN(
[Date].[Date].CurrentMember.Lag(2) :
[Date].[Date].CurrentMember.Lag(1), 
[Measures].[SalesAmount])
)

在这种情况下,MDX 采用两个聚合值并计算中位数。 但是如何按 RefenceId(按每次销售)对数据进行细化?

在这种情况下,MDX 必须获取每个销售值(对于 2015-04-09 - 2015-04-10 将是 6 个值)。

我不知道如何将 Date 维度连接到 ReferenceId 维度。 我应该创建具有附加属性的新层次结构吗?

像这样:ReferenceId -> 日期 -> 月 -> 季度 -> 年。

【问题讨论】:

  • 您有 ReferenceID 的维度吗?另外,为了确认我的理解,您需要独立地为每个 ReferenceID 找到两天的中位数?
  • 是的,我有 ReferenceID 维度。而且,是的,我需要为每个 ReferenceID 找到两天的中位数。

标签: ssas aggregate mdx hierarchy median


【解决方案1】:

您能否将日期交叉连接到每个 ReferenceID?

MEMBER [Measures].[2d median] AS
(
MEDIAN(
  [ReferenceID].currentmember *
  {[Date].[Date].CurrentMember.Lag(2) : [Date].[Date].CurrentMember.Lag(1)} 
 ,[Measures].[SalesAmount])
)

【讨论】:

  • @Oblomingo 我的小脚本是否帮助您回答了您的问题,还是我应该删除我的帖子?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-27
  • 2011-04-27
  • 1970-01-01
  • 2014-03-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
相关资源
最近更新 更多