Ssas 如果一个元素为空,多维数据集查询的结果应为空

Ssas 如果一个元素为空,多维数据集查询的结果应为空,ssas,mdx,olap,cube,Ssas,Mdx,Olap,Cube,我有一个只有一个度量值的立方体,它使用COUNT作为聚合函数。 MDX查询的结果如下所示: | Germany | USA | Russia | France | Italy | ------------------------------------------------------ 2010 | 15 | 20 | null | null | null | 2011 | 20 | 25 | 10

我有一个只有一个度量值的立方体,它使用COUNT作为聚合函数。 MDX查询的结果如下所示:

            | Germany | USA | Russia | France | Italy |
 ------------------------------------------------------
    2010    |   15    | 20  |  null  |  null  |  null |
    2011    |   20    | 25  |   10   |  null  |  null | 
    2012    |   25    | 30  |   15   |   5    |  null |
 2010 - 2012|   60    | 75  |   25   |   5    |  null |
            | Germany | USA | Russia | France | Italy |
 ------------------------------------------------------
    2010    |   15    | 20  |  null  |  null  |  null |
    2011    |   20    | 25  |   10   |  null  |  null | 
    2012    |   25    | 30  |   15   |   5    |  null |
 2010 - 2012|   60    | 75  |  null  |  null  |  null |
对我来说,它工作得很好,但是如果维度元素之一为null,我们的客户希望整个聚合结果为null。 因此,结果必须如下所示:

            | Germany | USA | Russia | France | Italy |
 ------------------------------------------------------
    2010    |   15    | 20  |  null  |  null  |  null |
    2011    |   20    | 25  |   10   |  null  |  null | 
    2012    |   25    | 30  |   15   |   5    |  null |
 2010 - 2012|   60    | 75  |   25   |   5    |  null |
            | Germany | USA | Russia | France | Italy |
 ------------------------------------------------------
    2010    |   15    | 20  |  null  |  null  |  null |
    2011    |   20    | 25  |   10   |  null  |  null | 
    2012    |   25    | 30  |   15   |   5    |  null |
 2010 - 2012|   60    | 75  |  null  |  null  |  null |
为了使事情更复杂,当时间维度放在切片轴上时,这种行为应该是相同的。 因此,以下MDX查询的结果

SELECT [Area].[Germany]:[Area].[Italy] on 0
FROM ExampleCube
WHERE ([Year].[2010]:[Year].[2012])
应该是这样的

            | Germany | USA | Russia | France | Italy |
 ------------------------------------------------------
            |   60    | 75  |  null  |  null  |  null |

SSAS和/或MDX中是否存在实现此行为的方法?

这通常是一种不应该发生的技术挑战。我的意思是,在实施之前,您应该真正理解为什么您的客户期望这种非标准(可能是无用的)行为。他们可能认为有这样的要求是明智的,但事实并非如此。给他们看一些样品,争论一下,他们会删除这个请求。首先感谢你的回复。我问他们为什么需要,只是出于方便的原因。他们的数据非常零碎,而且他们懒得仔细检查结果。所以,如果出现奇怪的结果,他们不想检查,如果是因为缺少数据。但在某些情况下,很难发现是否应该对结果进行更彻底的调查。尽管如此,我还是想出了一个丑陋的解决方案。首先,您需要添加一个新的事实表,该表包含两列“年份”,一列包含1(您获得数据的年份)和0(您未获得数据的年份)。创建一个计算的度量值,该度量值在查询结果中得到0后立即得到0。将此度量值设置为不可见,并将第一个度量值设置为不可见。创建第三个(可见)度量值,只要第二个度量值的结果为1,就显示计数聚合,否则返回NULL。这个解决方案对我们很有效,尽管它确实很难看,而且很难维护。你能发布你使用的原始MDX吗?