2016-07-04 11 views
0

SSRS式と組み合わせたカスタムコードを作成しようとしていますが、別のデータセット(ルックアップセット)のルックアップセット配列の別個の値の数を表示できます。ターゲットデータセット(「ステーション」)の式は次のようになります。ルックアップセットの個数を決定するSSRSコード

=code.CountDistinct(Lookupset(Fields!StationNumber.Value,Fields!OpID.Value, Fields!OpID.Value, "Faults")) 

残念ながら私はCOUNTDISTINCT機能が動作するように見えることはできません。ルックアップセットの最大値、最小値、平均値を決定できる関数がありますが、ルックアップセット内のアイテムの個数を決定するのに役立つものは何も見つかりません。

私はVBのエキスパートではありませんが、他の簡単な機能をほとんど問題なく作成することができました。私はCountDistinct関数のために何をすべきかを理解することはできません。

ご協力いただければ幸いです。おそらく、SSRSの別のデータセットで別個のカウントを見つけて参照するより良い方法がありますが、カスタムコードの使用以外にも?もしそうなら、助言してください。

+0

これはあなたを助けるかもしれません:http://stackoverflow.com/questions/27047483/ssrs-distinct-lookupsetfunction。一意ではなくunique.Countを返すようにコードを変更します。そこに行く道をほとんど手に入れなければなりません。 –

+0

私はその質問を見ましたが、の値の数を返すように関数を変更する方法が不明でした。そのため、私は私の質問でリンクを参照しませんでした。 – controller

答えて

1

レポートのコードでこれを試してください。私は、別の値のカウントである整数を返すために、もう少し答えからコードを少し修正しました。 Reference.

Public Shared Function CountDistinct(m_Array As Object()) As Integer 

    System.Array.Sort(m_Array) 
    Dim k As Integer = 0 
    For i As Integer = 0 To m_Array.Length - 1 
     If i > 0 AndAlso m_Array(i).Equals(m_Array(i - 1)) Then 
      Continue For 
     End If 
     m_Array(k) = m_Array(i) 
     k += 1 
    Next 
    Return k 

End Function 

私はこのコードが新しい答えとしての資格には十分に変更されていることを確認していません。私は確か誰も私がコードを盗んでいると思うことを望まない。

+0

優れています。ありがとう! – controller

関連する問題