在UniQuery中,如何获取在执行BREAK.ON时发现的唯一值的计数

问题描述 投票:0回答:1

我知道我可以通过以下方法获得单个唯一记录组的计数。

LIST SALES BREAK-ON "'T'" ITEM.NAME TOTAL EVAL "1" COL.HDG "Total" BY ITEM.NAME DET.SUP

我最终得到这样的东西。

Name     Total

ProductA 25
ProductB 17
ProductC 13
ProductD 4
ProductE 3
         ======
TOTAL    62
62 records listed

但是我能否计算出同一报告中有多少个唯一分组?像这样的东西。

Name     Total  Unique Count

ProductA 25     1
ProductB 17     1
ProductC 13     1
ProductD 4      1
ProductE 3      1
         ====== ======
TOTAL    62     5
62 records listed
unidata u2 uniquery
1个回答
0
投票

我发誓这应该更容易。我在文档中看到了各种@变量,它们暗示了轻松进行此操作的可能性,但我从未打算让其中的一个起作用。

[如果您的数据以这样的方式构造,即您的ID是您要进行分组的依据,并且您想要的数据存储在“值分隔”字段中,并且您不想包含或排除任何内容,则可以使用以下内容。

在UniVerse中,使用许多系统上安装的演示HS.SALES演示帐户中的CUSTOMER表,可以执行此操作。 CUSTID是记录@ID,属性13是PRICE存储在值分隔数组中的位置。

    LIST CUSTOMER BREAK-ON CUSTID TOTAL EVAL "DCOUNT(@RECORD<13>,@VM)" TOTAL PRICE AS P.PRICE BY CUSTID DET.SUP

哪个输出。

               DCOUNT(@RECORD<13>,@
Customer ID    VM).................    P.PRICE

          1    1                        $4,200
          2    3                       $19,500
          3    1                        $4,250
          4    1                       $16,500
          5    2                        $3,800
          6    0                            $0
          7    2                        $5,480
          8    2                       $12,900
          9    0                            $0
         10    3                       $10,390
         11    0                            $0
         12    0                            $0
               ====================    =======
               15                      $77,020

这是很多榨汁,但我希望您觉得有用。

祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.