ユーザーが[地域]>[地区]>[委員会]>[イベント]からのデータを切り替えることができるレポートを作成する必要があります。変更できないセットデータビューを使用しています。地区と地域はデータベースで正しく定義されていないため、それらを定義してから相互に関連付ける必要があります。17の異なる「DistrictCodes」を割り当てることができたので、私は近づきました-ええ、それらはコードを持っていますが、正しい説明はありません-リージョンを構成するためにCASEステートメントを使用します:
CASE WHEN DistrictCode LIKE 'DST10%' THEN 4
WHEN DistrictCode LIKE 'DST13%' THEN 2
WHEN DistrictCode LIKE 'DST1%' THEN 2
WHEN DistrictCode LIKE 'DST2%' THEN 2
WHEN DistrictCode LIKE 'DST3%' THEN 3
WHEN DistrictCode LIKE 'DST5%' THEN 3
WHEN DistrictCode LIKE 'DST7%' THEN 2
WHEN DistrictCode LIKE 'DST8%' THEN 1
WHEN DistrictCode LIKE 'DSTC4%' THEN 3
WHEN DistrictCode LIKE 'DSTC6%' THEN 2
WHEN DistrictCode LIKE 'DSTC9%' THEN 1
WHEN DistrictCode LIKE 'DT11%' THEN 4
WHEN DistrictCode LIKE 'DT12%' THEN 4
WHEN DistrictCode LIKE 'DT15%' THEN 4
WHEN DistrictCode LIKE 'DT16%' THEN 4
WHEN DistrictCode LIKE 'DT17%' THEN 4
WHEN DistrictCode LIKE 'UP17%' THEN 4
WHEN DistrictCode LIKE 'UPL11%' THEN 4
ELSE 5
END AS Region
「DistrictDescriptions」データを使用して、Districtを作成できます。
CASE WHEN DistrictDesc IN ('1' , '1A' , '1B') THEN 'District 1'
WHEN DistrictDesc IN ('2' , '2A' , '2B' , '2C') THEN 'District 2'
WHEN DistrictDesc IN ('3' , '3A' , '3B') THEN 'District 3'
WHEN DistrictDesc IN ('4' , '4A' , '4B' , '4C' , '4D' , '4E' , '4F') THEN 'District 4'
WHEN DistrictDesc IN ('5' , '5A' , '5B' , '5C') THEN 'District 5'
WHEN DistrictDesc IN ('6' , '6A') THEN 'District 6'
WHEN DistrictDesc IN ('7' , '7A' , '7B') THEN 'District 7'
WHEN DistrictDesc IN ('8' , '8A' , '8B' , '8C') THEN 'District 8'
WHEN DistrictDesc IN ('9' , '9A') THEN 'District 9'
WHEN DistrictDesc IN ('10' , '10A' , '10B' , '10C') THEN 'District 10'
WHEN DistrictDesc IN ('11' , '11A' , '11B' , '11C') THEN 'District 11'
WHEN DistrictDesc IN ('12' , '12A' , '12B' , '12C') THEN 'District 12'
WHEN DistrictDesc IN ('13' , '13A') THEN 'District 13'
WHEN DistrictDesc IN ('14' , '14A' , '14B' , '14C' , '14D') THEN 'District 14'
WHEN DistrictDesc IN ('15' , '15A' , '15B' , '15C' , '15D') THEN 'District 15'
WHEN DistrictDesc IN ('16' , '16A' , '16B' , '16C') THEN 'District 16'
WHEN DistrictDesc IN ('17' , '17A' , '17B') THEN 'District 17'
ELSE ISNULL (DistrictDesc,'No District')
END AS District
これはSSMSでクエリを返すために機能しますが、VS Report Builderでレポートをプレビューするときは、レポートのパラメーターとしてリージョンを設定する必要があります。リージョンの値を設定する場合でも、クエリから値を取得する場合でも、リージョンのプレビューのドロップダウンで1、2、3、4、および5(自分のリージョン)の倍数を取得します。
1、2、3、4、または5の場合に1回だけ返すようにするにはどうすればよいですか?これらを組み合わせる方法はありますか。Distinctを使用すると、一部のデータが欠落しますね。INを使用して各地区コードを一覧表示しようとしましたが、同じ問題が返されました。