我有两张桌子的报告。第一个表是客户列表,详细说明了每个客户端,这些客户端属于三个类别,每个客户端具有不同的项目。 SQL将client_table与client_items表连接起来(每个客户端可以有多个项目)SQL结果如下所示:
Type ClientID ItemID
A 1 1
A 3 1
A 3 2
B 2 1
B 4 3
C 5 2
我的第二个表将从各种类型的组合中返回不同ClientID的计数:
总计(A + B + C) - 我已经用=CountDistinct(Fields!ClientID.Value,"datasource1")
B + C类型 - 类型为B或C的不同ClientID
类型C - 类型为C <
我希望这很清楚,如果不是让我知道我需要添加什么来清除它。
答案 0 :(得分:25)
CountDistinct()
计算非空值,因此您可以使用表达式将那些您不想计算的值归零,并执行与您的第一个值类似的操作。
B + C型:
=CountDistinct
(
IIf
(
Fields!Type.Value = "B" or Fields!Type.Value = "C"
, Fields!ClientId.Value
, Nothing
)
, "datasource1"
)
C型:
=CountDistinct
(
IIf
(
Fields!Type.Value = "C"
, Fields!ClientId.Value
, Nothing
)
, "datasource1"
)
答案 1 :(得分:2)
=Sum(CountDistinct(Fields!UserName.Value,"IssueDate7"))
此处Username是行组,Issuedate7是列组
此致
Mercy S