在 SSRS 中,当我的值为 NaN 时,如何在表达式中使用它?
In SSRS, when my value is NaN, how do I use that in an expression?
我在报告中的数据集使用的是 MDX 查询,我无法更改该查询(甚至不知道如何更改;它是由其他人编写的)。 MDX 查询正在为相关字段输出十进制值,我在报告中将其格式化为百分比。在某些情况下,此字段的值为 NaN(格式化前后)。
此报表包含一个表达式,该表达式在值超过 0% 时将该报表单元格的背景颜色更改为红色。公式如下:
=IIf(FormatPercent(Fields!Payment_Amount_Difference.Value) > FormatPercent(0) and Fields!Campaign_Year.Value >= 2016, "Red", "white")
除了当值为 NaN 时,它工作得很好。 NaN 的背景颜色是红色,我被要求不要出现这种情况。
我已经尝试过 IsNumeric,但 NaN 被认为是数字(我通过向报告添加一个额外的列并使用 iif 函数说“如果数字那么是,如果不是否”来测试这个)。
我也尝试了 IsNothing,但没有用。尝试将“NaN”作为表达式中的字符串,但也失败了。
关于将 NaN 更改为报告中的其他内容或调整我的背景颜色表达式的任何想法?目标是让包含 NaN 的字段具有白色背景。
我从未使用过它,但您可以尝试 IsNaN
.Net 功能。
=IIF(Fields!Campaign_Year.Value >= 2016 AND
IIF(Double.IsNAN(Fields!Payment_Amount_Difference.Value),
0.0,
Fields!Payment_Amount_Difference.Value
)
> 0,
"MistyRose",
"White",
)
此外,您不需要数字的 FORMATPERCENT 来比较它们。而且我更喜欢比红色更微妙的东西。
我没有针对 NaN
对此进行测试,但这可能有效。
=IIf(VAL(Fields!Payment_Amount_Difference.Value) > 0 and Fields!Campaign_Year.Value >= 2016, "Red", Nothing)
正如其他人所说,我在这里所做的只是删除了 FormatPercent 函数 - 比较数字时不需要它。然后我使用 VAL
将该字段转换为一个值,即使它包含一个字符串。
我以前从未用它来尝试将 NaN
转换为零,我现在无法测试,但它应该可以工作。
我还把“白色”换成 Nothing
这是文本框的默认背景(基本上是透明的)。
我在报告中的数据集使用的是 MDX 查询,我无法更改该查询(甚至不知道如何更改;它是由其他人编写的)。 MDX 查询正在为相关字段输出十进制值,我在报告中将其格式化为百分比。在某些情况下,此字段的值为 NaN(格式化前后)。
此报表包含一个表达式,该表达式在值超过 0% 时将该报表单元格的背景颜色更改为红色。公式如下: =IIf(FormatPercent(Fields!Payment_Amount_Difference.Value) > FormatPercent(0) and Fields!Campaign_Year.Value >= 2016, "Red", "white")
除了当值为 NaN 时,它工作得很好。 NaN 的背景颜色是红色,我被要求不要出现这种情况。
我已经尝试过 IsNumeric,但 NaN 被认为是数字(我通过向报告添加一个额外的列并使用 iif 函数说“如果数字那么是,如果不是否”来测试这个)。
我也尝试了 IsNothing,但没有用。尝试将“NaN”作为表达式中的字符串,但也失败了。
关于将 NaN 更改为报告中的其他内容或调整我的背景颜色表达式的任何想法?目标是让包含 NaN 的字段具有白色背景。
我从未使用过它,但您可以尝试 IsNaN
.Net 功能。
=IIF(Fields!Campaign_Year.Value >= 2016 AND
IIF(Double.IsNAN(Fields!Payment_Amount_Difference.Value),
0.0,
Fields!Payment_Amount_Difference.Value
)
> 0,
"MistyRose",
"White",
)
此外,您不需要数字的 FORMATPERCENT 来比较它们。而且我更喜欢比红色更微妙的东西。
我没有针对 NaN
对此进行测试,但这可能有效。
=IIf(VAL(Fields!Payment_Amount_Difference.Value) > 0 and Fields!Campaign_Year.Value >= 2016, "Red", Nothing)
正如其他人所说,我在这里所做的只是删除了 FormatPercent 函数 - 比较数字时不需要它。然后我使用 VAL
将该字段转换为一个值,即使它包含一个字符串。
我以前从未用它来尝试将 NaN
转换为零,我现在无法测试,但它应该可以工作。
我还把“白色”换成 Nothing
这是文本框的默认背景(基本上是透明的)。