首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSRS报告重复标志

SSRS报告重复标志
EN

Stack Overflow用户
提问于 2019-05-28 20:55:48
回答 1查看 72关注 0票数 0

我现在正在做一份来自大平原动力数据库的ssrs报告。

这是一个非常简单的报告,只有几列。一切正常,但在GP中,当创建发票或退货账单时,有时GP会给出相同的账单ID。它不会真正显示为重复的,因为对于GP,发票和退货可以/可以具有相同的ID,因为它们不是同一类型。别问我为什么..

因此,对于我的报告,当我使用我的SopNumber (Bill ID)从多值参数开始研究时,它会给我正确的信息。但现在我希望在这些信息上有一个标志,这些信息等于账单ID,并且同时具有发票和退货。

由于GP有两种不同类型的文件具有相同的ID是正常的,我不能要求我的报告删除退货或发票原因在不同的情况下,发票可以是重要的文件,在其他情况下,退货。

在我的tablix中,我没有显示Bill ID,因为我不需要这些信息,除非存在这种“重复”。

我还希望在旗帜(高亮显示的行)之后,在我的报告的顶部,有一句话显示类似于:“那些文档存在冲突: 000123123”。有了这个显示我ID的信息,我现在可以进入我的多值参数并删除这个数字。

我想要实现这两个标志,因为我正在从我的文档量计算,如果这两个在那里,它将使我的计算错误。

我希望你们能帮助我。如果是这样的话,提前谢谢你!

我研究了几个不同的表达式,但从来没有得到我想要的结果。使用上一条语句和equals,但找不到如何使其看起来与Invoice和Return相同,而SopNumber则相同。

代码语言:javascript
复制
select CASE SOP10200.SOPTYPE
                WHEN 1 THEN 'QUOTE'
                WHEN 2 THEN 'ORDER'
                WHEN 3 THEN 'INVOICE'
                WHEN 4 THEN 'RETURN'
                WHEN 5 THEN 'BACK ORDER'
                WHEN 6 THEN 'FULLFILLMENT ORDER'
                END AS SOPTYPE,
                sop10200.SLPRSNID,
                sop10200.XTNDPRCE as ExtendedPrice,
                sop10200.SOPNUMBE,
                iv00101.ITMCLSCD as FAMILYCLASS,
                sop10100.DOCDATE

from sop10200
left join iv00101 on sop10200.ITEMNMBR = iv00101.ITEMNMBR
left join sop10100 on sop10200.SOPNUMBE = sop10100.SOPNUMBE

WHERE SOP10100.DOCDATE BETWEEN '2018-01-01 00:00:00.000' AND '2035-01-01 00:00:00.000' 
union all

select  CASE SOP30300.SOPTYPE
                WHEN 1 THEN 'QUOTE'
                WHEN 2 THEN 'ORDER'
                WHEN 3 THEN 'INVOICE'
                WHEN 4 THEN 'RETURN'
                WHEN 5 THEN 'BACK ORDER'
                WHEN 5 THEN 'FULLFILLMENT ORDER'
                END AS SOPTYPE,
                sop30300.SLPRSNID,
                sop30300.XTNDPRCE as ExtendedPrice,
                sop30300.SOPNUMBE,
                iv00101.ITMCLSCD as FAMILYCLASS,
                sop30200.DOCDATE

from sop30300
left join iv00101 on sop30300.ITEMNMBR = iv00101.ITEMNMBR
left join sop30200 on sop30300.SOPNUMBE = sop30200.SOPNUMBE

WHERE SOP30200.DOCDATE BETWEEN '2018-01-01 00:00:00.000' AND '2035-01-01 00:00:00.000'

ORDER BY SOPNUMBE desc
EN

回答 1

Stack Overflow用户

发布于 2019-05-29 00:32:18

如果我错了,请纠正我,但听起来您想要一种方法来查看报告是否有重复的记录,并在计算中使用它?

您可以执行子查询来检索计数,如果计数大于1,则您有重复的记录

编辑:

代码语言:javascript
复制
SELECT *, (IF 
    (SELECT Count(S1.SOPTYPE) FROM sop10200 S1 WHERE T1.BillID = S1.BillID ) > 1 THEN "Duplicate " ELSE "" END) AS DuplicateCheck
FROM sop10200 T1

上面的解决方案将为您提供一个值,您可以在每个页面上使用该值来报告它是否具有重复的BillID。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56342799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档