【问题标题】:SSAS MDX Calculated Measure - COUNT of [ITEMS].[Item] grouped [Items].[Item Group]SSAS MDX 计算度量 - [ITEMS] 的 COUNT 个。[Item] 分组 [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

【问题讨论】:

    标签: excel ssas mdx olap olap-cube


    【解决方案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])'。我认为做到了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 2019-11-11
    • 2021-12-28
    • 2021-02-25
    • 2019-06-30
    • 1970-01-01
    相关资源
    最近更新 更多