如何解决MDX:平均使用
| 我已达到有关问题的基本MDX知识的极限,如果有人有想法,我们将竭诚欢迎您的帮助 情况 这是我要处理的层次结构。在我的fact_table中,我有一个[Measures]。[Sales]度量。[All Management].[TemplateMgt].[CityMgt].[DistricMgt].[StoreMgt]
[All Management].[TMP-00.002].[London].[DistricMgt].[Shoe001]
[All Management].[TMP-00.002].[London].[DistricMgt].[Hat001]
[All Management].[TMP-00.002].[London].[DistricMgt].[Electronic001]
[All Management].[TMP-00.002].[Paris].[DistricMgt].[Shoe001]
[All Management].[TMP-00.002].[Paris].[DistricMgt].[Hat001]
[All Management].[TMP-00.002].[Paris].[DistricMgt].[Electronic001]
[All Management].[TMP-00.002].[Madrid].[DistricMgt].[Shoe001]
[All Management].[TMP-00.002].[Madrid].[DistricMgt].[Hat001]
[All Management].[TMP-00.002].[Madrid].[DistricMgt].[Electronic001]
问题
对于给定的CityMgt,我想具有三个值
[度量]。[Cur]:给定CityMgt的StoreMgt的销售额(因此,在马德里,取值为[Shoe001],[Hat001],[Electronic001])
[Measures]。[Avg]:StoreMgt组中具有相同TemplateMgt AVG的StoreMgt组的平均销售额([伦敦]。[Shoe001] + [巴黎]。[Shoe001] + [马德里]。[Shoe001])
[Measures]。[Max]:具有相同TemplateMgt MAX([London .. [Shoe001],[Paris]。[Shoe001],[Madrid]。[Shoe001])的StroreMgt的最大销售价值。
换句话说,我想要一个具有这种结构的输出
Shoe001 | Hat001 | Electronic001
----------------------------------------------------
CUR|AVG|MAX | CUR|AVG|MAX | CUR|AVG|MAX
----------------------------------------------------
我到目前为止所得到的
WITH MEMBER [Measures].[Cur] AS (...)
MEMBER [Measures].[Avg] AS (...)
MEMBER [Measures].[Max] AS (...)
SELECT {[Measures].[Cur],[Measures].[Avg],[Measures].[Max]} ON COLUMNS,{FILTER({DESCENDANTS([All Management].CurrentMember,[StoreMgt])},[All Management].Parent.Parent = \"Madrid\" } ON ROWS
from [MyCube]
我的问题是我不知道在Member属性Cur / Avg / Max中放什么,因此可以按StoreMgt(一种groupby)来处理我的数据
如果有人可以参加,我将不胜感激。
亲切地
解决方法
要获得平均值,您可以定义新的层次结构(如果使用SSAS,则为属性)。一个用于国家,另一个用于产品类型。一旦获得它们,统计计算就是与当前成员和[全部]一起玩的问题。
您可以使用另一个版本-> SUM(FILTER(.. members,condition),value)...这可能很慢,真的很慢。
通常,对于这种计算,您可以使用我们所谓的统计或效用维度(请参阅)。
, 我不确定以下查询是否会奏效,希望它能传达想法,
WITH MEMBER [All Management].[Sales_AVG] AS AVG({[All Management].Members},[Measures].currentMember)
MEMBER [All Management].[Sales_MAX] AS MAX({[All Management].Members},[Measure].currentMember)
SELECT {[Measures].[Sales]} ON COLUMNS,{[All Management].Members,[All Management].[Sales_AVG],[All Management].[sales_Max]} ON ROWS FROM [MYCUBE] WHERE
{DESCENDANTS([All Management].CurrentMember,[StoreMgt])}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。