在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