如何解决SSRS - 报表生成器:使用工具提示在柱形图中显示组中的项目
我认为这可能很容易,但我不知道如何使它起作用。
我有一个柱状图,里面有按时间分组的票(四舍五入到 15 分钟)
- X 轴 - 时间组(四舍五入为 15 分钟)
- Y 轴 - 计数(票数)
我已经尝试过 lookup / lookupset / miltiplelookup - 它没有用。我也尝试加入归档 -> =Join(Fields!IB.Value,",")
。那也没有用。我只是通过将鼠标悬停在我的专栏上来获得 #error
。如果我只是显示该字段,我只会得到一个值 =Fields!IB.Value
。
有什么想法吗?
附言im 使用 Report-Builder 和 Ssrs2016
它的样子:
正如我之前提到的,我使用了一些舍入函数来按时间列对票证进行分组。这是代码:
=Mid(Fields!time.Value,1,3) & Replace( Mid(Fields!time.Value,4,5),Mid(Fields!time.Value,Switch(
Cint(Mid(Fields!time.Value,5)) >= 00 And Cint(Mid(Fields!time.Value,5)) <= 14,"00",Cint(Mid(Fields!time.Value,5)) >= 15 And Cint(Mid(Fields!time.Value,5)) <= 29,"15",5)) >= 30 And Cint(Mid(Fields!time.Value,5)) <= 44,"30",5)) >= 45 And Cint(Mid(Fields!time.Value,5)) <= 59,"45" ))
解决方法
正如您可能猜到的,您的 lookupset() 将不起作用,因为它会将 1
与 1
进行比较,因此返回所有值。
假设您的时间组列名为 TimeGroup
,并且您的票号和标题列名为“TicketID”和“TicketTitle”,则..
您需要将lookupset更改为类似
=JOIN(
LOOKUPSET(
Fields!TimeGroup.Value,Fields!TimeGroup.Value,CSTR(Fields!TicketID.Value) & ": " & Fields!TicketTitle.Value,"DataSet1"),"," + vbcrlf
)
时间组将始终在工具提示的上下文中进行评估,因此如果您将鼠标悬停在时间组 A
上,时间组将被评估为 A
,因此查找集将仅返回与 { 匹配的值{1}}。
表达式的返回部分将票号转换为字符串,添加一个冒号,然后附加标题。
我们将整个内容包装在 JOIN() 中,以在每个实例之间使用 A
和 ,
将 LOOKUPSET 数组的结果组合成单个字符串,以便结果每行显示 1。
我已经使用 TimeGroup 的 @Alan Schofield 函数解决了这个问题,但为此我不得不重新定义我的组设置:
- 使用我在问题中提到的组函数将自定义字段添加到我的数据集
- 按此字段将我的 ColumnChart 分组
- 使用
count(Fields!TimeGroup.Value)
作为 Y 轴(而不是count(Fields!TicketID.Value)
) - 从图表中加入组和数据集中的组,并在工具提示 中列出所有结果
P.S.我讨厌这个解决方案,但效果很好
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。