繁体   English   中英

为什么当表达式返回 integer 时,过滤器会尝试比较字符串和 int32 数据类型?

[英]Why is the filter trying to compare a string and int32 data types when expressions return an integer?

我的矩阵中有相邻的组 - 紫色的第一组是参数中选择的财政年度的所有内容(在当前财政年度之前),黄色的组是当前财政年度(YTD)

报告设计

目前,我的数据集中有以下 WHERE 子句,它为我提供了第一组的正确结果

WHERE #DocsSales.FinancialYear IN (@FinancialYear) AND 
#DocsSales.FinancialYearEnd < ( CASE WHEN MONTH(CURRENT_TIMESTAMP) <= 3 THEN YEAR(CURRENT_TIMESTAMP) ELSE YEAR(CURRENT_TIMESTAMP)+1 END)

但是,为了在两个列组之间正确拆分数据并仍然使用相同的数据集,我认为我需要将 WHERE 子句的第二部分(在 AND 之后)移动到每个列组的列组过滤器中(使用< 代表第一组,= 代表第二组)。

我添加了过滤器,但收到一条错误消息: 筛选

错误信息

我的查询中的字段 FinancialYear 是这样的:

CASE WHEN MONTH(ed.tsg_saledate) <= 3 THEN YEAR(ed.tsg_saledate)
               ELSE YEAR(ed.tsg_saledate)+1 END AS FinancialYearEnd,

根据我读过的所有内容,返回一个 integer 并且过滤器表达式是

=IIF(MONTH(NOW())<= 3, YEAR(NOW()),YEAR(NOW())+1)

根据我读过的所有内容,它也返回了 integer。

所以我真的有 2 个问题: 1. 使用列组过滤器这样做是否正确? 2. 为什么过滤器消息说它正在尝试比较字符串和 int32 数据类型,而两者似乎都返回 integer?

在您提供的图像中,在组属性 fx = 文本中,这需要是 integer

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM