我正在尝试让这个栏目聊天的标签出现在栏目底部,就像下面的第二张图片一样。然而,这种解决方案并不完全有效,因为它扭曲了其余的信息。
有没有人知道实现这一点的合适方法,这并不是直截了当的。

发布于 2013-10-16 03:44:51
我使用了以下数据:

使用标准图表:

第一个Chart series是我们的数据系列,它的Chart Type为标准列,第二个Chart Series的Chart Type为Line,根据目标值在Chart Area中获取所需的线。
正如您可能已经看到的,您确实可以控制标签的放置,但不能满足您的需求。我们能做的最好的事情是使用Bottom位置作为标签位置,它甚至不是很接近:


我们能做什么?首先,从现有的Series中删除标签。
接下来,在图表中添加一个新的系列:

基本上我们在这里使用一个常量,它应该是Y轴的下限。我在这种情况下使用的。
这个新的图表系列需要在所有图表系列中排在第一位。
将前两个图表系列的图表类型更改为Stacked

将系列标签添加到此新图表系列。在系列标签属性下设置标签数据表达式。我使用的表达式是:
=Sum(字段!val.Value,"CategoryGroup")
由于两个图表系列共享相同的作用域,因此我们可以利用这一点来获得如上所述的数据组的值。
其中,CategoryGroup是类别组的名称

更新后的图表如下所示:

结果是根据需要在每列的底部添加标签:

这似乎是所需的结果,即使需要一段时间才能实现。
因此,通过使用位于每个组Y轴底部的虚拟图表系列,我们可以根据需要在底部锚定标签,并且通过使用标签表达式显示不同的图表系列值,它将在实际的数据组上显示一个标签!
注释后编辑
你绝对可以使用表达式来设置最小轴值,也可以设置虚拟图表系列,这只是一个情况,你是否可以获得所需的精确轴值。
在我的示例中,假设我们将数据集中的轴值更改为最小值:

即=Min(Fields!val.Value)
由于虚拟图表系列将查看每个单独类别组的范围,因此我们需要一个略有不同的表达式才能获得相同的值:
=Min(Fields!val.Value, "DataSet1")这会像我们预期的那样改变图表:

您还可以向该值添加一个缓冲区,如下所示:
=Min(Fields!val.Value) - 1所以你不会得到没有高度的列。
对于更复杂的表达式,可能会有问题,例如,在2008年,您不能在聚合上获得聚合,这可能是有用的,即使到那时,也很难将其纳入虚拟图表系列。
有时,如果可能,最简单的做法是使用这些预先生成的值将列添加到数据集中,并使用这些字段,而不是尝试在报表中计算这些值。
https://stackoverflow.com/questions/19321351
复制相似问题