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??我的意思是我们在哪一列此处的targetingFields!Test.Value
是第二个表(Test table)中的测试值,在您放置的示例中,它是表B中的test01
。最后一个语句,true,Lookup(“上限警告”,Fields!Limits.Value,Fields!Color.Value,“Target”)
指定单元格颜色。该语句实际上在做什么???为了执行最后一次查找,上述所有语句都必须是TRUE
?它的意思是:如果前面的任何表达式的计算结果不为TRUE,则使用该颜色(查找返回的颜色)。