SSAS MDX 计算度量 - [ITEMS] 的 COUNT 个。[Item] 分组 [Items].[Item Group]
Posted
技术标签:
【中文标题】SSAS MDX 计算度量 - [ITEMS] 的 COUNT 个。[Item] 分组 [Items].[Item Group]【英文标题】:SSAS MDX Calculated Measure - COUNT of [ITEMS].[Item] grouped [Items].[Item Group] 【发布时间】:2019-01-18 22:30:18 【问题描述】:在连接到 SSAS 的 Excel 中,我正在尝试构建数据透视表并使用“OLAP 工具”和/或“OLAP 数据透视表扩展”添加自定义度量计算。我正在尝试添加一个我认为非常简单的计算,但我无法让它工作。我需要的计算是:
GOAL:[Items] 维度记录的记录计数,按任何 [Items] 维度字段。
特别是我试图按[Items].[Items Groups]
和[Items].[Item]
分组。项目是最低的粮食,所以计数应该返回值“1”。我已经创建了一些在球场上的计算(见下文)。但计算似乎没有按预期工作。
我尝试过的:
尝试 #1 --
[Measures].[Items Count (With net amount values)]
DISTINCTCOUNT( [Items].[Item].MEMBERS )
计算“项目计数(含净额值)”似乎是 返回一个不错的计数值,但它似乎只计算项目 如果发现跨国记录(不知道为什么)。还有,当 在最低粒度级别,计算为父级返回该值 组,而不是在行上选择的维度级别。
尝试 #2 --
[Measures].[Items Count (All)]
[Items].[Item].[Item].Count
此计算返回整个维度的 TOTAL 项目计数 无论放置在行上的维度级别如何。
尝试 #3 --
[Measures].[Items Count]
COUNT ( [Items].[Item].MEMBERS, EXCLUDEEMPTY)
此计算会冻结 Excel,我必须退出 Excel。不知道为什么。我在几个不同的网站上看到过这个 sytnax 推荐。
截图:
请帮忙?这看起来很简单,但我对 MDX 不是很熟练。在 DAX 和 SSAS TABULAR 中,这将是非常简单的表达式。但我正在努力计算 SSAS MD 中 MDX 的行数。
“外购牛肉”组有 18 项有交易的商品,但总共有 41 项。我不知道如何计算“41”值。
SSAS Excel-CalcMeasure-CountRows.png
【问题讨论】:
【参考方案1】:在 AdventureWorks 上查看以下示例。
with member [Measures].[CountTest]
as
count(existing [Product].[Subcategory].members - [Product].[Subcategory].[All])
select
[Measures].[Internet Sales Amount],[Measures].[CountTest]
on columns,
([Product].[Category].[Category]
,[Product].[Subcategory].[Subcategory] -- comment this line for the second result
)
on rows
from [Adventure Works]
现在注释父视图的指示行。
【讨论】:
第二张截图同理 谢谢!我尝试了COUNT(existing [Items].[Item].MEMBERS )
... 这真的很接近,但不知何故在每个级别都返回了 1 个额外的计数——例如“2 而不是 1”和“42 而不是 41”。然后我尝试更接近您所展示的内容:'COUNT(existing [Items].[Item].MEMBERS - [Items].[Item].[All])'。我认为做到了!以上是关于SSAS MDX 计算度量 - [ITEMS] 的 COUNT 个。[Item] 分组 [Items].[Item Group]的主要内容,如果未能解决你的问题,请参考以下文章
OLAP SSAS MDX 如何获取先前选定/可见日期的度量值