web-dev-qa-db-fra.com

SSRS Count Distinct Fields! B.value Où Champs! A.value =

J'ai un rapport avec deux tableaux. Le premier tableau est une liste de clients, détaillant chaque client qui appartient à une catégorie de trois avec des éléments différents pour chaque client. Le SQL joint une table client_table avec la table client_items (il peut y avoir plusieurs éléments par client), les résultats SQL ressemblent à ceci:

Type    ClientID    ItemID
A       1           1
A       3           1
A       3           2
B       2           1
B       4           3
C       5           2

Ma deuxième table va renvoyer les décomptes des différents ClientID à partir de diverses combinaisons des types:

  • Total (A + B + C) - J'ai compris celui-ci avec =CountDistinct(Fields!ClientID.Value,"datasource1")

  • Type B + C - ID client distincts où le type est B ou C

  • Type C - ID client distincts où le type est C

J'espère que c'était clair, sinon faites-moi savoir ce que je dois ajouter pour éclaircir les choses.

16
jreed121

CountDistinct() compte les valeurs non nulles, vous pouvez donc utiliser une expression pour annuler les valeurs que vous ne voulez pas compter et faire quelque chose de similaire à votre première valeur.

Type B + C:

=CountDistinct
(
  IIf
  (
    Fields!Type.Value = "B" or Fields!Type.Value = "C"
    , Fields!ClientId.Value
    , Nothing
  )
  , "datasource1"
)

Type C:

=CountDistinct
(
  IIf
  (
    Fields!Type.Value = "C"
    , Fields!ClientId.Value
    , Nothing
  )
  , "datasource1"
)
25
Ian Preston
=Sum(CountDistinct(Fields!UserName.Value,"IssueDate7"))

Ici, Username est le groupe de lignes et Issuedate7 est le groupe de colonnes

Cordialement

Miséricorde S

2
user2314199