我在条形图中显示了sum(x),并将其设置为仅显示前10个类别-x之和最高的10个类别。
到目前一切尚好。然而,有时两个或三个类别占总数的99%。在这些情况下,我想隐藏其他7个类别,每个类别都有.0x%,因为这在图表中没有价值。
不知何故,我需要将Top-10更改为Top-SomethingElse,这是基于一个类别代表的总百分比。
我正在寻找的基本上是:显示我的顶级类别,代表,比如说1%或更多,总数-但不超过10个。
我如何才能做到这一点?
提前感谢您的回答!
发布于 2014-10-23 09:30:54
我假设您正在询问如何在不修改sql的情况下做到这一点。如果是这种情况,则只需选择汇总总和(X)的组。然后左键单击并选择"Group Properties...“弹出菜单项。从对话框左侧的列表视图中选择"Filter“列表视图项。在filters屏幕中,输入指定X必须为>= 1的筛选器。
如果您希望在sql中执行此操作,那么我将设想一个类似于以下内容的查询:
SELECT TOP(10)
SumOfX
FROM
(
SELECT
SumOfX=SUM(SomeTallyField)
FROM
SomeTable
GROUP BY
SomeGroupField
HAVING
SUM(SomeTallyField) >= 1
)AS X
ORDER BY
SomeTallyField DESC发布于 2014-10-24 00:02:53
我找到了答案。过滤sum(x)>=1不起作用。一个简单的例子说明了原因:有三个条的sum(x)在百万级,7个条的sum(x)在1到10之间,这是我想要隐藏这7条条的情况之一。它们都满足sum(x)>1,并且不会被这样一个简单的过滤器所隐藏。需要使用总数的百分比。
事实证明,这毕竟是相当容易的。我需要两个过滤器。我已经准备好的第一个:
Top 10 of sum(x) 这将总条数限制为10个,即使超过10个条块也能满足我的其他标准。第二个筛选器将总和与数据集合计进行比较。这是我之前没有开始工作的地方,因为我认为它太复杂了。但它很简单:
=sum(x)/sum(x,"DataSet1") >= 0.01这要求条形图中显示的条形图至少占总条形图的1%。在我上面的例子中,这7个条形图不会出现在图表上,因为如果前3个条形图中已经有数百万条,那么它们代表的比例还不到1%。
https://stackoverflow.com/questions/26516926
复制相似问题