我无法隐藏所选度量的某些维度成员没有数据的行,但是度量组中有该成员的行。
考虑measuregroup的以下数据源:
+---------+----------+----------+----------+--------+
| 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多维数据集中基于度量值组创建数据透视表时,可能会导致以下结果:
但是,我想隐藏Customer b
的行,因为给定的pivottable中没有结果。我尝试过使用数据透视选项 - >显示 - >显示没有行数据的项目,但这仅适用于显示/隐藏在给定度量值组中未引用的客户,例如Customer c
。
在没有创建单独的度量值组WHERE shipping IS NOT NULL
的情况下,有没有办法隐藏没有针对给定度量的结果的行?
我正在使用SQL-server 2008和Excel 2013
编辑:
为了澄清,我使用Excel连接到SSAS多维数据集。生成的pivottable(在Excel中)看起来像给定的图像。
答案 0 :(得分:1)
在DSV中找到包含装运列的表格,并添加带有表达式的计算列:
Case when shipping <> 0 then shipping end
请转到BIDS中多维数据集设计器中的Shipping度量的属性窗口,并将NullHandling属性更改为Preserve。将源列更改为新计算列。然后重新部署,我希望你的支点中的行将消失。
确保数据透视选项 - &gt;显示 - &gt;未选中显示行上没有数据的项目。
如果仍然没有这样做,请将Management Studio的对象资源管理器窗口连接到SSAS,并告诉我们它在服务器节点中显示的版本号。可能是你没有使用最新的服务包,这是一个错误。
答案 1 :(得分:0)
也许这样的事情(但我没有看到转轴......)
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
答案 2 :(得分:0)
在Excel中的数据透视表中,单击“客户”列上的下拉列表。在下拉菜单中,您会找到一个名为值过滤器的选项。您可以在其中设置发货量大于0.1 。
这会根据度量值过滤“客户维度”列。