マトリックス内のさまざまなデータの数を表示するSQLReporting Servicesレポート(VS.Net 2005)に取り組んでいます。列には、特定のセット内の顧客の数がカウントされます。したがって、「1人の雇用者」、「2〜9人の雇用者」、「10〜19人の雇用者」などの列がいくつかあります。
私が抱えている問題は、SQL ReportingServicesがマトリックスの列をアルファベット順にソートすることです。したがって、「1雇用者」列の後、「2-9」の前に「10-19」列が表示されることになります。
これを修正する方法はありますか?または、列のラベルを正しく並べ替えるように変更するためのトリックですか?
ありがとう。
私たちは多くのSSRSレポートを作成しますが、これは常にmdxの問題でした。これが私たちがそれを行う1つの方法です:
Grouping and Sorting PropertiesでSortingを設定して、次の式で並べ替えます。
=iif(Fields!DataSetField.Value = "ColumnName", "zzz", Fields!DataSetField.Value)
ここで、「zzz」は数値、または並べ替えを支援するために必要なものであれば何でもかまいません。次に、この式の昇順または降順のいずれかとして方向を選択します。
これは、並べ替え順序のクエリに新しい列を追加することでも実行できます。次に、マトリックスから列グループを右クリックして、グループのプロパティを選択します。左側で[並べ替え]を選択します。ここから、列ヘッダーの代わりに並べ替える別の列を指定できます。カスタム式は必要ありません。
これは少し複雑かもしれませんが、同様の問題があり、SQLを変更する手段がありませんでした。データセットに計算フィールドを作成し、各列の数値を返し、その数値でグループを並べ替えました。
同様の問題が発生しましたが、時間内にマトリックスを使用した解決策が見つからなかったため、テーブルを使用し、マトリックスの必要なロジックをSQLステートメントに配置しました。それは最善の方法ではありませんが、機能します-十分に高速で、書くのにそれほど時間はかかりません。
Tablixの明確な番号順については、式で次のコード行を使用してください。
= RunningValue(CountDistinct( "YourTableName")、Count、 "YourTableName")
[グループの編集]-[並べ替え]-[式の方向を降順に変更]に移動します。
MATRIX-> PROPERTIES-> GROUPSに入りました。次に、リスト内でUPで並べ替えたいグループを「移動」しました。私はプレビューに行きました、そしてそれは完全に働きました。それは私の列の順序さえ同じに保ちました。