首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不要使用SSRS表达式获得预期输出

不要使用SSRS表达式获得预期输出
EN

Stack Overflow用户
提问于 2015-10-05 17:13:01
回答 2查看 55关注 0票数 0

从数据库中检索的数据行数如下:

代码语言:javascript
复制
Row | Limit | Color
1   | 0     | Yellow
2   | 50    | Orange
3   | 90    | Green
4   | 100   | Red

将创建一个包含两列的表。每列的表达式如下:

第1列:

代码语言:javascript
复制
=Fields!Color.Value

第2列:

代码语言:javascript
复制
=Switch(Fields!Row.Value=1, Fields!Limit.Value & " - " & Lookup(2, Fields!Row.Value, Fields!Limit.Value, "LimitDs"), Fields!Row.Value=2, Fields!Limit.Value & " - " & Lookup(3, Fields!Row.Value, Fields!Limit.Value, "LimitDs"), Fields!Row.Value=3, Fields!Limit.Value & " - " & Lookup(4, Fields!Row.Value, Fields!Limit.Value, "LimitDs"), Fields!Row.Value <> 1 and Fields!Row.Value <> 2 and Fields!Row.Value <> 3, ">" & Fields!Limit.Value)

输出get如下:

代码语言:javascript
复制
Column 1 | Column 2
Yellow   | 0-50
Orange   | 50-90
Green    | 90-100
Green    | 90-100

实际上,我的预期输出如下:

代码语言:javascript
复制
Column 1 | Column 2
Yellow   | 0-50
Orange   | 50-90
Green    | 90-100
Red      | >100

有人能帮上忙吗?

EN

回答 2

Stack Overflow用户

发布于 2015-10-06 00:14:42

如果首先检查最后一种可能性,则其他条件可以表示为1(字段!Row.Value+ 1):

代码语言:javascript
复制
=IIF(ISNOTHING(Lookup(Fields!Row.Value, Fields!Row.Value, Fields!Limit.Value, "LimitDs")), 
    ">" & Fields!Limit.Value, 
    Fields!Limit.Value & " - " & Lookup(Fields!Row.Value + 1, Fields!Row.Value, Fields!Limit.Value, "LimitDs"))
票数 0
EN

Stack Overflow用户

发布于 2017-04-28 08:20:49

列1使用的DataSet需要与列2中的表达式分开: ie DataSet1表示列1,DataSet 2表示列2中的表达式。列2的表达式需要修改为:=Switch(字段!row.Value=1,字段!limit.Value&“-”& Lookup(2,字段!row.Value,字段!limit.Value,"DataSet5"),字段!row.Value=2,字段!limit.Value&“-”& Lookup(3,字段!row.Value,字段!limit.Value,"DataSet5"),字段!row.Value=3,字段!limit.Value&“-”& Lookup(4,字段!row.Value,字段!limit.Value,"DataSet5"),字段!row.Value=4,“>”&字段!limit.Value)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32944910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档