gpt4 book ai didi

reporting-services - SSRS 折线图动态 Y 轴

转载 作者:行者123 更新时间:2023-12-04 02:49:18 25 4
gpt4 key购买 nike

我有一个折线图,其中 Y 值设置为

=CountRows()

我有一个分类组

=CDate(Fields!END_MONTH_NB.Value)

我正在尝试动态设置 Y 轴的间隔,以便在范围太小时(见下文)时不会出现分数。

Fractions on Y axis

我尝试将区间表达式设置为

=iif(CountRows() <= 5, 1, "Auto")

如果 total 行数小于或等于 5,它就可以正常工作,但我真正需要的是 CountRows() 将在我的类别组上下文中返回的最大值。

知道如何实现吗?

最佳答案

由于您使用的是 SSRS 2012,因此您可以使用聚合功能的聚合来实现此目的。

假设我有一个这样的图表,与您的相似:

enter image description here

使用适当的数据,即使在 Y 轴区间中有一个表达式,它也有与您的屏幕截图相同的问题:

enter image description here

即这里有 8 行,因此表达式将设置为 Auto,但由于组不超过三行,我们在 Y 轴上得到分数。

我们可以通过找到每个组计数的最大值来解决这个问题。

类别组将有一个名称:

enter image description here

我在这里将其称为 MonthGroup。有了这个,我们可以改变 Y 轴区间表达式:

=IIf(Max(CountRows("MonthGroup")) <= 5, 1, Nothing)

即如果<=5,间隔为1,否则只传一个NULL值,即让SSRS确定间隔。

所以现在我们正在检查类别组级别的 Max CountRows;在我的示例中这是 3,所以现在我们得到了所需的轴间隔:

enter image description here

编辑备注:

之前我的 Y 轴表达式为:

=IIf(Max(CountRows("MonthGroup")) <= 5, 1, "Auto")

但在发布后我注意到这在某些情况下会引起警告;大概是因为 Auto 不是一个有效的间隔;它只是 SSRS 使用的占位符。更新后的表达式:

=IIf(Max(CountRows("MonthGroup")) <= 5, 1, Nothing)

按预期工作,没有警告。

关于reporting-services - SSRS 折线图动态 Y 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18128069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com