sql - SSRS 报告重复标志
问题描述
我目前正在从 Great Plains Dynamics DB 制作一份关于 ssrs 的报告。
这是一个包含几列的非常简单的报告。一切正常,但在 GP 中,在创建发票或退货账单时,有时 GP 会给出相同的账单 ID。它并没有真正显示为重复,因为对于 GP,发票和退货可以/可能具有相同的 ID,因为它们不是同一类型。不要问我为什么。。
因此,对于我的报告,当我使用我的 SopNumber(Bill ID)从多个值参数开始研究时,它会为我提供正确的信息。但是现在我想在那些等于账单 ID 并且同时具有发票和退货的信息上设置一个标志。
由于 GP 对于同一个 ID 有 2 种不同类型的文件是正常的,我不能要求我的报告在不同的情况下删除退货或发票原因,发票可能是重要文件,在另一种情况下,退货.
在我的 tablix 中,我没有显示 Bill ID,因为除非存在这种“重复”,否则我不需要这些信息。
我还想在旗帜(突出显示的行)之后,在我的报告顶部,有一句话显示如下:“那些文件有冲突:000123123”。因此,有了这个显示我 ID 的信息,我现在可以进入我的多个值参数并删除这个数字。
我想实现这 2 个标志,因为我正在根据我的文件数量进行计算,如果这 2 个存在,那会使我的计算错误。
我希望你们能帮助我。如果是这样,非常感谢您提前!
我研究了几种不同的表达方式,但从未得到我想要的结果。使用前面的语句和 equals 但找不到如何使它看起来等于 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。
推荐阅读
- c# - 在写入数千条记录的长时间运行的程序中创建/处理数据库上下文
- wordpress - Wordpress:使用 WP_Query 或 get_posts() 显示一年前的帖子
- django - Django ORM 获取两个连接列的平均值
- python - 有没有办法添加不同的数组,其中一个数组中的某些元素被重复使用?
- c++ - OpenGL 着色器无法编译但没有给出错误信息
- javascript - 看不到为什么我的事件处理程序没有触发我的函数的问题
- javascript - Node.js express 服务器在本地主机上运行,但在 Heroku 主机上出现问题
- python - h2o model performance extraction
- r - How to get a histogram to demonstrate a tweedie-like distribution
- python - Inserting a row from dataframe to another dataframe where columns overlap