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]的主要内容,如果未能解决你的问题,请参考以下文章

PY YTD 计算的可以处理闰年 MDX 的度量

OLAP SSAS MDX 如何获取先前选定/可见日期的度量值

SSAS Cube 中的计算度量要么非常慢,要么不具备所有功能

MDX SSAS OLAP -- 根据维度选择切换属性

范围内总和计数的 MDX 计算

SSAS 计算成员中的 MDX 查询