gpt4 book ai didi

sql-server - 如何使用 SSRS 按 2 个不同的列分组并使其在 Sql 中的某些情况下表现不同

转载 作者:行者123 更新时间:2023-12-04 04:39:53 24 4
gpt4 key购买 nike

我在一个名为 Subs 的表中有 2 个外键列(比如 PONo、InvoiceNo)。在单个记录中,PO 或 Invoice 或 Both 将有一些数据(无空)。当 PO 和 Invoice 都有数据时,我只需要考虑 InvoiceNo 而不是 PONo。

我必须使用上面的查询来生成报告。因此,我需要按 PONo 或 InvoiceNo 分组以发送给特定的供应商。我不知道如何将两列分组为一列。特别是,当 PoNo 和 InvoiceNo 在两条记录中都相同时,我需要生成 2 个不同的字母而不是 1。请考虑以下情况,

  SubsId                  PONO         Issue           InvoiceNo          Supp

1 001 XX null abc
2 null YY 001 abc
3 null ZZ 001 abc

如果上面的表格值是这种情况,那么我需要得到这样的结果,

信件 1
    PONO        Issue         InvoiceNo       Supp

001 XX null abc

信件2
    PONO        Issue         InvoiceNo       Supp

null YY 001 abc
null ZZ 001 abc

因为,我需要将 PONo 或 InvoiceNo 作为单个组显示报告。

我到处搜索以在 SSRS 中将 2 列分组为 1 组。但是,我没有找到任何解决方案。所以,请帮我解决这个问题。

谢谢

最佳答案

您可以像这样向数据集中添加计算字段:

=IIf(IsNothing(Fields!InvoiceNo.Value)
, "P" & Fields!PONO.Value
, "I" & Fields!InvoiceNo.Value)

叫它 GroupNumber或任何你喜欢的。它看起来像 PONOInvoiceNo在您的示例中都是字符串,所以我刚刚将一个类型标识符字符串连接到它们。如果它们是数字,您可以根据需要将它们转换为上述表达式中的字符串。

这实现了您的两个目标,即能够同时使用 PONOInvoiceNo一起作为一个单独的分组项目,但也能够区分这两种类型 PONOInvoiceNo具有相同编号的值不会作为一组项目组合在一起。

然后,在报告中设置 Tablix 组时,您将在此新字段上进行分组。它永远不需要显示在任何地方,它只是用于分组;这应该按您的要求工作。

关于sql-server - 如何使用 SSRS 按 2 个不同的列分组并使其在 Sql 中的某些情况下表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19063992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com