繁体   English   中英

SSRS报告重复标记

[英]SSRS Report Duplicates Flag

我现在正在报道一个来自Great Plains Dynamics DB的ssrs。

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

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

由于GP对于相同的ID有2种不同类型的文件是正常的,我不能要求我的报告在不同的情况下删除退货或发票原因,发票可能是重要文件,在另一种情况下,返回。

在我的Tablix中,我没有显示Bill ID,因为除了存在“重复”之外我不需要这些信息。

我还希望在标志(行高亮)之后,在我的报告的顶部,一个句子显示如下:“那些文件冲突:000123123”。 因此,显示我的ID的信息,我现在可以进入我的多个值参数并删除此数字。

我想要获得这两个标志,因为我正在从我的文件金额中进行计算,如果那些2将在那里,那将使我的计算错误。

我希望你们能帮助我。 如果是这样,非常感谢您提前!

我研究了几种不同的表达方式,但从未得到我想要的结果。 使用先前的语句和等号,但无法找到如何使它看起来像是等于Invoice和Return和SopNumber等于相同。

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

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

你可以做一个子查询来检索一个计数,如果它超过1你有一个重复的记录

编辑:

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。

暂无
暂无

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

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