SSRS 2012.计算值,然后对该计数进行分组

时间:2016-09-09 08:39:07

标签: reporting-services ssrs-2012

还是一个新手,还在苦苦挣扎。

使用SSRS 2012.我们报告使用多维数据集,因此我无法更改MDX。

我的查询返回不同数量的订单客户。我需要计算客户订单的数量,按该计数分组,然后在该订单组中给出不同的客户数,例如

client  orders
2         1
5         1
5         1
12        1
12        1
123       1
123       1
123       1
123       1

我需要的是:

 no. of orders      unique count of clients
 1 order                   1
 2 orders                  2
 3 orders                  0
 4 orders                  1
 total clients             4

我尝试过创建表达式或计算字段,但在布局或无法在分组/计算字段中使用聚合时都不尽如人意。

我相信在查询设计器屏幕中创建一个计算成员(客户的订单数量)可以解决我的问题,但我不知道如何实现这一点。 (我可能完全错了)。

任何帮助都非常感激,因为我现在无法直接思考。

编辑 - 以下是去除识别的MDX查询(这是一个非常简单的查询。)请原谅不良格式。

SELECT NON EMPTY { [Measures].[Order Count] } ON COLUMNS, 
NON EMPTY { ([Client].[D_ID].[D_ID].ALLMEMBERS 
* [Order].[ReN].[ReN].ALLMEMBERS * [Order].[Order Group].[Order Group].ALLMEMBERS 
* [Order].[Order Type].[Order Type].ALLMEMBERS 
* [Order].[Expiry Date].[Expiry Date].ALLMEMBERS 
* [Order].[Revoked Date].[Revoked Date].ALLMEMBERS ) }
DIMENSION PROPERTIES MEMBER_CAPTION, 
MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( { [Order].[Revoked Date].&[1899-12-30T00:00:00] } ) 
ON COLUMNS FROM ( SELECT ( { [Client].[Ind].&[1], [Client].[Ind].&[2], [Client].[Ind].&[3] } ) 
ON COLUMNS FROM ( SELECT ( { [N].[RO].&[A] } ) 
ON COLUMNS FROM ( SELECT ( { [N].[R].&[CN] } ) 
ON COLUMNS FROM ( SELECT ( { [CS].[Status].&[Active] } ) 
ON COLUMNS FROM [Order]))))) 
WHERE ( [CS].[Status].&[Active], 
[N].[R].&[CN], 
[N].[RO].&[A], 
[Client].[Ind].CurrentMember ) 
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

1 个答案:

答案 0 :(得分:0)

我不确定如何设置数据集,但是如果您可以在其上编写SQL查询,则可以尝试:

SELECT DISTINCT CONCAT(ORDERS,' ','order(s)') as [No. of Orders]
    ,COUNT(CLIENTS) as [Unique Count of Clients]
FROM
   (SELECT CLIENTS,COUNT(ORDERS) AS ORDERS FROM TABLENAME GROUP BY CLIENTS) Alias
GROUP BY ORDERS

然后你可以把它放在一张简单的桌子上。