2013-01-09 9 views
14

Ho un rapporto con due tabelle. La prima tabella è un elenco di clienti, in cui sono riportati i singoli clienti che rientrano in una categoria di tre elementi diversi per ciascun cliente. Lo SQL unisce un client_table con la tabella client_items (non ci può essere più elementi per cliente) i risultati SQL assomiglia così:Campi conteggi distinti SSRS! B.valore Dove campi! A.valore =

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

mio secondo tavolo sta andando restituire conteggi delle ClientIDs distinto da varie combinazioni di tipi:

  • totali (A + B + C) - ho questo calcolato fuori con =CountDistinct(Fields!ClientID.Value,"datasource1")

  • tipo B + C - ClientIDs distinti, dove il tipo è B o C

  • Tipo C - ClientIDs distinti, dove il tipo è C

Spero che era chiaro, se non me lo faccia sapere che cosa ho bisogno di aggiungere per cancellare in su.

risposta

21

CountDistinct() conta valori non nulli, quindi è possibile utilizzare un'espressione per annullare i valori che non si desidera contare e fare qualcosa di simile al primo valore.

tipo B + C:

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

Tipo C:

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

Questo è esattamente ciò che mi è venuto in mente, sono appena tornato per rispondere da solo ma mi hai battuto su di esso. Grazie! Benissimo, ho capito bene la mia spiegazione ... Sapevo che il problema aveva una soluzione semplice, ma ho pensato che la mia incapacità di descrivere il problema sarebbe stato il mio più grande ostacolo. – jreed121

2
=Sum(CountDistinct(Fields!UserName.Value,"IssueDate7")) 

Username è il gruppo di righe e Issuedate7 è il gruppo di colonne

saluti

Mercy S