gpt4 book ai didi

ssas - 如果在 Excel 中使用特定维度,则将度量值设置为 NULL

转载 作者:行者123 更新时间:2023-12-04 08:47:58 25 4
gpt4 key购买 nike

我有一个 SSAS-2014 立方体。如果在 excel 中的轴或数据透视表的筛选器 Pane 中使用特定维度,我想将特定度量设置为 NULL。现在,最直观的解决方案是将此度量范围限定为不适用于该维度的成员。说,我不希望度量与会计期间成员一起使用,然后我在多维数据集中使用以下 MDX:

CREATE MEMBER CURRENTCUBE.[Measures].[Test Measure] AS 1;

SCOPE([Measures].[Test Measure]);
SCOPE(DESCENDANTS([DIM Accounting Period].[Accounting Period Hierarchy].[All],,AFTER));
THIS = NULL;
END SCOPE;
END SCOPE;

如果我在数据透视表的过滤器中选择一年,这似乎有效。
enter image description here

这看起来不错,因为 excel 将以下 MDX 发送回 SSAS 引擎
SELECT NON EMPTY Hierarchize (
{
DrilldownLevel (
{ [DIM Production Period].[Production Month].[All Dates] }
,
,
, INCLUDE_CALC_MEMBERS
)
}
) ON COLUMNS
FROM [CUBE - Opex Analysis]
WHERE ( [DIM Accounting Period].[Accounting Period Hierarchy].[Accounting Year].[2015],
[Measures].[Test Measure] ) CELL PROPERTIES VALUE
, FORMAT_STRING
, LANGUAGE
, BACK_COLOR
, FORE_COLOR
, FONT_FLAGS

如果我在筛选器 Pane 中选择两个成员,则会出现问题,如图所示
enter image description here

其原因似乎与excel发送回引擎的MDX有关。它将项目封装在一个子立方体中,使引擎认为没有选择会计年度。这是excel使用的MDX:
SELECT NON EMPTY Hierarchize (
{
DrilldownLevel (
{ [DIM Production Period].[Production Month].[All Dates] }
,
,
, INCLUDE_CALC_MEMBERS
)
}
) ON COLUMNS
FROM (
SELECT (
{ [DIM Accounting Period].[Accounting Period Hierarchy].[Accounting Year].[2015],
[DIM Accounting Period].[Accounting Period Hierarchy].[Accounting Year].[2016] } ) ON COLUMNS
FROM [CUBE - Opex Analysis]
)
WHERE ( [Measures].[Test Measure] ) CELL PROPERTIES VALUE
, FORMAT_STRING
, LANGUAGE
, BACK_COLOR
, FORE_COLOR
, FONT_FLAGS

请注意,我也尝试使用 EXISTING 来捕获正在使用的会计年度,但我遇到了同样的问题。有没有人知道解决这个问题的方法?我之前也遇到过类似的问题,但实现我在这里使用的解决方案对性能来说太过分了 Similar Question
我正在使用 SSAS 2014 和 Excel 2013

最佳答案

嗯,我可以为子立方体场景设想的唯一解决方案是在所涉及的问题的文章中描述的探测维度上创建动态集。然后为您的范围添加另一个子范围([DIM Accounting Period].[Accounting Period Hierarchy].[All])并计数 DESCENDANTS([DIM Accounting Period].[Accounting Period Hierarchy].[All],,AFTER)在这个范围内。将其与动态集的计数进行比较。如果两个匹配 - 您不在来自子选择的子多维数据集中,否则您在。

关于ssas - 如果在 Excel 中使用特定维度,则将度量值设置为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38129811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com