【问题标题】:SSRS report ended with an errorSSRS 报告以错误结束
【发布时间】:2017-03-15 21:01:18
【问题描述】:

我使用这个表达式 =Avg(Fields!AncinitetAntalDag.Value) 来获取每个员工的平均资历,但我得到 #Error 并且我不知道为什么!我挣扎了好几个小时才知道我该如何解决这个问题!有人可以指出我正确的方向吗?

设计:


预览:


查询设计:


查询:

SELECT
(CASE
WHEN u.ResignationDate IS NOT NULL THEN
CONVERT(varchar(11), DATEDIFF(day, WorkStartDate, ResignationDate)) 
ELSE
CONVERT(varchar(11), DATEDIFF(day, WorkStartDate, GETDATE())) 
end) as SeniorityViaNumberDay

【问题讨论】:

    标签: reporting-services ssrs-2008


    【解决方案1】:

    您已将值从 DATEDIFF 转换为 varchar。你不能平均这个。尝试不要转换它,而只使用从您的 DATEDIFF 返回的天数。

    她的查询也简化了..

    SELECT DATEDIFF(day, WorkStartDate, ISNULL(ResignationDate, GetDate())) AS SeniorityViaNumberDay
    

    【讨论】:

    • tnx 艾伦,它的作品。先生,我可以再问你一个问题吗?1
    • @ManDown 当然,问吧。
    • tnx :) 我的问题是,当您在我的问题中查看 Preview 时,我被问到了。在 Departments 下,我有 2 行同名“Bornholm”,其中一个包含 1 人和另一个包含 6 人,但这不是我想要的。我只想要一个“Bornholm”,其中包含 7 人。我测试了很多东西,但它不起作用
    • 你能发布完整的查询,也许还有数据样本。假设您按部门分组,这一定意味着您有两个 Bornholm,一个可能在之前或之后有空格或其他一些不可打印的字符。查看您的查询设计数据,一个条目末尾没有“...”,这表明其他 6 个条目有我们在该列中看不到的内容。
    • 我没注意,是的,你说得对,他们最后有这样的东西“....”,是否有任何 SQL 命令可以删除它或者我应该手动执行它!跨度>
    猜你喜欢
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多