报告操作条件似乎间歇性评估错误
Report Action Condition Appears to intermittently Evaluate False
我有一个 SSAS 2012 多维数据集,它有一个报告操作。此操作应有条件地可用,具体取决于用户被要求 select 特定 Scenario
.
动作本身工作正常,我遇到的问题是我为动作定义的条件仅在大部分时间。
在 Excel 中浏览多维数据集时,如果我将 Activity(一个度量)添加到值,并且我将场景跨列放置,只要我右键单击一个 activity单元格(不包括总计),则操作按预期可用。显示的几列示例数据:
2010 Actuals 2011 Actuals
Activity -13,812,430 11,938,733
在浏览多维数据集时,如果除了上述配置之外,我在行上放置一个帐户层次结构,并展开最低级别,则该操作将对某些单元格不可用,但对大多数其他单元格可用。显示的几列示例数据:
Row Labels 2010 Actuals 2011 Actuals
123 - ABC -1,889 41,251
456 - DEF -562,243 -2,053,282
789 - GHI -25,000 -12,454
由于操作条件只需要 select 编辑特定场景(2010 年实际数据、2011 年实际数据等),我希望右键单击示例数据中的任何度量值都会有可用的动作。该操作适用于 6 个单元格中的 5 个,但不适用于 456 - DEF
2011 Actuals
。 这可能是什么原因造成的?
动作中的条件MDX为:
[Scenario].[SA - Scenario].CurrentMember <> [Scenario].[SA - Scenario].[All]
虽然 运行 SQL 探查器,如果我右键单击一个行为正确的单元格,然后单击 'show details',发送的 MDX 是:
DRILLTHROUGH MAXROWS
1000 SELECT FROM [SomeName] WHERE
([Measures].[Activity]
,[Account].[A1 - Level 1].[Level 1].&[Balance Sheet].&[Assets].&[Current Assets].&[Cash].&[Cash in Bank].&[456 - DEF]
,[Scenario].[SA - Scenario].[Scenario].&[79])
如果我单击 没有 可用操作的单元格,则发送的 MDX 是:
DRILLTHROUGH MAXROWS
1000 SELECT FROM [SomeName] WHERE
([Measures].[Activity]
,[Account].[A1 - Level 1].[Level 1].&[Balance Sheet].&[Assets].&[Current Assets].&[Cash].&[Cash in Bank].&[456 - DEF]
,[Scenario].[SA - Scenario].[Scenario].&[80])
为单元格发送的 MDX 之间的唯一区别似乎是 Scenario
值,我认为这是正确的,因为我们 select 来自帐户的同一成员,只是一个不同的场景。在一种情况下,条件似乎评估为真,而在第二种情况下,它似乎评估为假,因为操作不可用。
不可否认,我对 MDX 不是很好。但是,由于大部分时间 操作可用,我相信表达式是有效的并且有效,否则操作永远不可用。 (这是我伪造条件时的情况)。
作为完整性检查,如果我将 MDX 条件设置为 TRUE
,该操作始终可用,正如人们所期望的那样。如果我将 Account
切换到另一个维度,并钻到最低级别,我将无法重现这一点。在某些情况下,它似乎与最低帐户级别下的成员有某种关系。
与其他维度相比,我查看了帐户维度的设置方式,但我没有发现任何结构不同的地方。
还有什么可能导致我尚未调查的这种行为?
您的表达式将评估当前情景和总计的度量并比较两个数字:
[Scenario].[SA - Scenario].CurrentMember <> [Scenario].[SA - Scenario].[All]
尝试以下操作:
Not ([Scenario].[SA - Scenario].CurrentMember Is [Scenario].[SA - Scenario].[All])
我有一个 SSAS 2012 多维数据集,它有一个报告操作。此操作应有条件地可用,具体取决于用户被要求 select 特定 Scenario
.
动作本身工作正常,我遇到的问题是我为动作定义的条件仅在大部分时间。
在 Excel 中浏览多维数据集时,如果我将 Activity(一个度量)添加到值,并且我将场景跨列放置,只要我右键单击一个 activity单元格(不包括总计),则操作按预期可用。显示的几列示例数据:
2010 Actuals 2011 Actuals
Activity -13,812,430 11,938,733
在浏览多维数据集时,如果除了上述配置之外,我在行上放置一个帐户层次结构,并展开最低级别,则该操作将对某些单元格不可用,但对大多数其他单元格可用。显示的几列示例数据:
Row Labels 2010 Actuals 2011 Actuals
123 - ABC -1,889 41,251
456 - DEF -562,243 -2,053,282
789 - GHI -25,000 -12,454
由于操作条件只需要 select 编辑特定场景(2010 年实际数据、2011 年实际数据等),我希望右键单击示例数据中的任何度量值都会有可用的动作。该操作适用于 6 个单元格中的 5 个,但不适用于 456 - DEF
2011 Actuals
。 这可能是什么原因造成的?
动作中的条件MDX为:
[Scenario].[SA - Scenario].CurrentMember <> [Scenario].[SA - Scenario].[All]
虽然 运行 SQL 探查器,如果我右键单击一个行为正确的单元格,然后单击 'show details',发送的 MDX 是:
DRILLTHROUGH MAXROWS
1000 SELECT FROM [SomeName] WHERE
([Measures].[Activity]
,[Account].[A1 - Level 1].[Level 1].&[Balance Sheet].&[Assets].&[Current Assets].&[Cash].&[Cash in Bank].&[456 - DEF]
,[Scenario].[SA - Scenario].[Scenario].&[79])
如果我单击 没有 可用操作的单元格,则发送的 MDX 是:
DRILLTHROUGH MAXROWS
1000 SELECT FROM [SomeName] WHERE
([Measures].[Activity]
,[Account].[A1 - Level 1].[Level 1].&[Balance Sheet].&[Assets].&[Current Assets].&[Cash].&[Cash in Bank].&[456 - DEF]
,[Scenario].[SA - Scenario].[Scenario].&[80])
为单元格发送的 MDX 之间的唯一区别似乎是 Scenario
值,我认为这是正确的,因为我们 select 来自帐户的同一成员,只是一个不同的场景。在一种情况下,条件似乎评估为真,而在第二种情况下,它似乎评估为假,因为操作不可用。
不可否认,我对 MDX 不是很好。但是,由于大部分时间 操作可用,我相信表达式是有效的并且有效,否则操作永远不可用。 (这是我伪造条件时的情况)。
作为完整性检查,如果我将 MDX 条件设置为 TRUE
,该操作始终可用,正如人们所期望的那样。如果我将 Account
切换到另一个维度,并钻到最低级别,我将无法重现这一点。在某些情况下,它似乎与最低帐户级别下的成员有某种关系。
与其他维度相比,我查看了帐户维度的设置方式,但我没有发现任何结构不同的地方。
还有什么可能导致我尚未调查的这种行为?
您的表达式将评估当前情景和总计的度量并比较两个数字:
[Scenario].[SA - Scenario].CurrentMember <> [Scenario].[SA - Scenario].[All]
尝试以下操作:
Not ([Scenario].[SA - Scenario].CurrentMember Is [Scenario].[SA - Scenario].[All])