Sql 根据来自另一个表SSRS的数据匹配表中的数据,使用颜色

Sql 根据来自另一个表SSRS的数据匹配表中的数据,使用颜色,sql,background-color,ssrs-2012,Sql,Background Color,Ssrs 2012,我有两个包含两个不同数据集的表,我们称之为A和B。 表A包含某些产品的目标值,例如: 产品限值BLK BW MDS MDTN CDS。。。。。。 餐巾纸上铺50 餐巾纸鞋面警告78 20.3 9 1387 857 餐巾纸目标73 19.6 7 1190 720 餐巾下部警告68 18.9 4 993 583 餐巾下_拒绝18.6 3.5 680 430 每日测试数据: 产品BLK BW MDS MDTN CDS。。。。。。。。。。 餐巾71 餐巾7420.14.941257704 餐巾74 餐巾

我有两个包含两个不同数据集的表,我们称之为
A
B
表A
包含某些产品的目标值,例如:

产品限值BLK BW MDS MDTN CDS。。。。。。 餐巾纸上铺50 餐巾纸鞋面警告78 20.3 9 1387 857
餐巾纸目标73 19.6 7 1190 720
餐巾下部警告68 18.9 4 993 583
餐巾下_拒绝18.6 3.5 680 430

每日测试数据:

产品BLK BW MDS MDTN CDS。。。。。。。。。。 餐巾71
餐巾7420.14.941257704
餐巾74
餐巾74 19.92 5.28 1188 737

表B
包含产品
XYZ
的常规测试值,当产品
XYZ
test01
小于等于25时,它显示
上部拒绝的颜色(无论是什么)


简而言之,
表a
是范围表,
表B
是数据表,其颜色基于其范围限制。有人能解释一下,我如何在SQL SERVER DATA TOOLS 2010中实现这一点吗
SSRS

假设目标表中有一个颜色列,则可以使用函数获取与
测试
值范围相对应的颜色

我创建了两个示例数据集,一个用于Taget,另一个用于测试

为了根据测试值有条件地设置背景色,我使用了目标表范围。我对行的
背景色
属性使用了下面的表达式

=Switch(
Fields!test.Value>Lookup("Upper_warning",Fields!Limits.Value,Fields!Test.Value,"Target"),
  Lookup("Upper_rejected",Fields!Limits.Value,Fields!Color.Value,"Target"),
Fields!test.Value>Lookup("Target",Fields!Limits.Value,Fields!Test.Value,"Target"),
  Lookup("Upper_warning",Fields!Limits.Value,Fields!Color.Value,"Target"),
Fields!test.Value=Lookup("Target",Fields!Limits.Value,Fields!Test.Value,"Target"),
  Lookup("Target",Fields!Limits.Value,Fields!Color.Value,"Target"),
Fields!test.Value<Lookup("Lower_warning",Fields!Limits.Value,Fields!Test.Value,"Target"),
  Lookup("Upper_rejected",Fields!Limits.Value,Fields!Color.Value,"Target"),
true,Lookup("Upper_warning",Fields!Limits.Value,Fields!Color.Value,"Target")
)
=开关(
Fields!test.Value>Lookup(“上限警告”,Fields!Limits.Value,Fields!test.Value,“目标”),
查找(“上限被拒绝”,字段!限制。值,字段!颜色。值,“目标”),
字段!test.Value>Lookup(“Target”,字段!Limits.Value,字段!test.Value,“Target”),
查找(“上限警告”,字段!限制。值,字段!颜色。值,“目标”),
Fields!test.Value=Lookup(“Target”,Fields!Limits.Value,Fields!test.Value,“Target”),
查找(“目标”,字段!限制。值,字段!颜色。值,“目标”),

Fields!test.value添加表B的样本数据集。您希望有条件地更改背景颜色的表是什么?产品Test01 Test02…….XYZ 24 14这样,当与表a比较时,Test01在25以下,因此在范围内。我将在问题中上载快照。Fields!test.value??我的意思是我们在哪一列此处的targeting
Fields!Test.Value
是第二个表(Test table)中的测试值,在您放置的示例中,它是表B中的
test01
。最后一个语句
,true,Lookup(“上限警告”,Fields!Limits.Value,Fields!Color.Value,“Target”)
指定单元格颜色。该语句实际上在做什么???为了执行最后一次
查找
,上述所有语句都必须是
TRUE
?它的意思是:如果前面的任何表达式的计算结果不为TRUE,则使用该颜色(查找返回的颜色)。