2017-07-13 10 views
0

日付と時刻の列にグループ化されたSSRSレポートを作成しました。親グループとしての日付と子グループとしての時間。次のようにまた、私は私のselect文で特定の列から日付と時刻を抽出しています -SSRS:グループ化された列でフィルターが機能しない

CONVERT(VARCHAR(10),DetectionTime,103) AS Detection_Date, 
CONVERT(TIME(0), DetectionTime) AS Detection_Time 

は、さらに私は、パラメータを作成し、このリンクhttp://mohamedakb.blogspot.com/2011/08/how-to-get-list-distinct-values-from.htmlから次のコードを使用して、指定されたフィールドから一意の値を発見し、手順に従っ指定されたパラメータから重複を削除するために述べたように: -

Public Shared Function RemoveDuplicates(parameter As Parameter) As String() 

Dim items As Object() = parameter.Value 
System.Array.Sort(items) 
Dim k As Integer = 0 

For i As Integer = 0 To items.Length - 1 
If i > 0 AndAlso items(i).Equals(items(i - 1)) Then 
Continue For 
End If 

items(k) = items(i) 
k += 1 
Next 
Dim unique As [String]() = New [String](k - 1) {} 
System.Array.Copy(items, 0, unique, 0, k) 

Return unique 
End Function 

私はそのノー出力のように動作していない日付列にフィルタを適用しようとしていて今表示されています。また、他の列をグループ化することとは別に、フィルター値が列に適用されているが、列をグループ化しているわけではありません。何か他の方法がありますか、何か不足していますか?

+0

あなたは、データセットからその価値観を描くパラメータしていますか? –

+0

@RossBushはい私はデータセットと上記のコードを使用して値をフィルタリングする別の主なパラメータから値を引き出す1つのダミーパラメータを持っています。 –

+0

フィルタリングされている日付列は表示用に再フォーマットされていますか?それによって日付がテキスト値に変換される場合、変換書式または変換日の値に違いがある可能性があります。 'items(i).Equals(items(i - 1))'が丸められていない時間を比較している場合、配列から項目を削除することは簡単にできません。だから、items()の要素のデータ型は?項目の時間は丸められていますか? –

答えて

0

古い質問ですが、フィルタが機能しないという問題がありました。私はフィルタリングしていた列をグループに追加することで、問題を解決しました。

EG:HasElement = 'Y'だったアイテムだけが結果になるようにフィルタリングしようとしていました。グループに「HasElement」を追加する必要がありました。私がこれをしたら、フィルターは正常に機能しました。

さらに、フィルタリングされた値を列に「合計」しようとすると、合計が機能しませんでした。私は各列の列に合計していた。合計を取得するには、「1」とhasElement列でグループ化された新しい列グループを作成しました。これで、合計を適切に計算できます。

ここに、それをよりよく説明できる画像があります。

enter image description here

関連する問題