在SSAS多维数据集上进行透视:在测量时隐藏没有结果的行

我无法隐藏没有选定度量的特定维度成员数据的行,但在度量值组中有成员的行。

考虑以下测量组的数据源:

+---------+----------+----------+----------+--------+ | invoice | customer | subtotal | shipping | total | +---------+----------+----------+----------+--------+ | 1 | a | 12.95 | 2.50 | 15.45 | | 2 | a | 7.50 | | 7.50 | | 3 | b | 125.00 | | 125.00 | +---------+----------+----------+----------+--------+ 

当试图根据SSAS多维数据集中的度量值组创build枢轴表时,可能会导致以下结果:

在这里输入图像说明

但是,我想隐藏Customer b的行,因为在给定的数据透视表中没有结果。 我已经尝试使用数据透视表选项 – >显示 – >显示行上没有数据的项目,但只适用于显示/隐藏给定度量组中没有被引用的Customer c ,例如Customer c

有没有什么办法可以隐藏没有给定度量结果的行,而不会创build一个独立的度量值组WHERE shipping IS NOT NULL

我正在使用SQL-server 2008和Excel 2013

编辑:

为了澄清,我使用Excel连接到SSAS多维数据集。 生成的pivottable(在Excel中)看起来像给定的图像。

在DSV中find包含发货栏的表格,并添加一个带有expression式的计算列:

 Case when shipping <> 0 then shipping end 

请转到BIDS中多维数据集devise器中的“运输”度量的属性窗口,并将NullHandling属性更改为“保留”。 将源列更改为新的计算列。 然后重新部署,我希望你的支点行将消失。

并确保数据透视选项 – >显示 – >显示没有行数据的项目是未选中的。

如果仍然没有,请将Management Studio的Object Explorer窗口连接到SSAS,并告诉我们在服务器节点中显示的版本号。 可能是你没有在最新的服务包,这是一个错误。

也许这样的事情(但我没有看到枢轴…)

 DECLARE @tbl TABLE(invoice INT,customer VARCHAR(10),subtotal DECIMAL(8,2),shipping DECIMAL(8,2),total DECIMAL(8,2)); INSERT INTO @tbl VALUES (1,'a',12.95,2.50,15.45) ,(2,'a',7.50,NULL,7.50) ,(3,'b',125.00,NULL,125.00); SELECT customer, SUM(shipping) AS SumShipping FROM @tbl GROUP BY customer HAVING SUM(shipping) IS NOT NULL