Reporting services 基于动态列数据的SSRS动态背景色

Reporting services 基于动态列数据的SSRS动态背景色,reporting-services,colors,expression,Reporting Services,Colors,Expression,我有一份有两栏的报告。这两列分别命名为“本月”或“上月”。我试图为“本月”中的数据单元格添加一个背景色,与“上个月”中的数据相关 我熟悉使用IIF语句的动态颜色编码,但似乎无法理解这一点 下面,我尝试将IIF与查找命令一起使用,但我不确定是否正确使用了此命令。任何帮助都将不胜感激 =IIF(LOOKUP(Fields!Type.Value = "This Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS") < L

我有一份有两栏的报告。这两列分别命名为“本月”或“上月”。我试图为“本月”中的数据单元格添加一个背景色,与“上个月”中的数据相关

我熟悉使用IIF语句的动态颜色编码,但似乎无法理解这一点

下面,我尝试将IIF与查找命令一起使用,但我不确定是否正确使用了此命令。任何帮助都将不胜感激

=IIF(LOOKUP(Fields!Type.Value = "This Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS") < LOOKUP(
Fields!Type.Value = "Last Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS"), "LightGreen", 

IIF(LOOKUP(Fields!Type.Value = "This Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS") = LOOKUP(
Fields!Type.Value = "Last Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS"), "Yellow", 

IIF(LOOKUP(Fields!Type.Value = "This Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS") > LOOKUP(
Fields!Type.Value = "Last Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS"), "Orange", "Transparent")))
=IIF(查找(Fields!Type.Value=“This Month”,Fields!Type.Value,Fields!Count.Value,“ExecutiveFCAPS”)查找(
字段!Type.Value=“上个月”,字段!Type.Value,字段!Count.Value,“ExecutiveFCAPS”),“橙色”,“透明”))

如果我了解您的问题,我相信您需要做一些事情:

  • lookup
    函数更改为
    lookupset
    函数
  • 字段=“Month”
    单独替换为
    “Month”
    ,因为这只会导致一个布尔值,而不会查找月份;及
  • 将它们包装在
    sum
    函数中
  • 我强烈建议您回到sql并重新调整它,以生成两个单独的字段,一个用于本月的
    另一个用于上个月的
    ,然后您可以完全取消
    查找
    函数

    如果这不起作用,建议您调整feedsql,使每个月的值都有一个颜色,因为您可以使用窗口子句


    此外,您还可以尝试ssrs中的
    范围
    功能。帮助理解的一个好资源是。

    我最终用SQL完成了所有计算,并在数据集中添加了一个变体列。在SSRS中,我将颜色代码配置为读取变体列,并相应地设置颜色代码。我使用CASE设置变量列数据


    =IIF(字段!Variation.Value=2,“浅绿色”,IIF(字段!Variation.Value=3,“透明”,IIF(字段!Variation.Value=1,“橙色”,“透明”))

    您有多少个数据集?是否将其绑定到列(即tablix)?数据集中有哪些字段。请编辑您的问题并输入此信息。感谢这种复杂程度通常最好在数据集中解决,例如使用SQL。这使您有机会调试和测试您的代码。@PreetSangha,字段为FCAPSSubType,Type(包含本月或上个月),Count。我相信您理解我的意图。我将查找更改为lookupset,并将每个lookupset包装为sum(例如=IIF(sum)(lookupset(FIELD…)所有单元格的颜色都不是颜色。我尝试将其更改回lookup而不是lookupset,但所有单元格都变为黄色。这个月和上个月不是type列中的唯一值。这些列中的值可能会更改。我认为在此基础上,您唯一的选择是scope函数。这在矩阵类型报告。尝试删除field=“This Month”这将导致生成1或0,我将更新我的答案。如果我的理解正确,检查范围只检查数据是否存在?我正在尝试将1列中的数据与另一列中的数据进行比较。