星期二, 2月 25, 2014

[SSRS] 互動式排序

技術論壇上問題,需求是希望 Other 選項可以放在全部資料的最後,其他資料則是依據遞增來排序,下面利用 SSRS 的互動式排序來做到此需求
  • DataSet T-SQL 語法
USE [AdventureWorks2012]
GO

IF OBJECT_ID('OrderByControl') IS NOT NULL
  DROP TABLE OrderByControl

CREATE TABLE OrderByControl
  (
      Data char(5) PRIMARY KEY
  )
INSERT INTO OrderByControl VALUES
    ('T0001'), 
    ('J0001'),
    ('A0001'),
    ('Other'),
    ('G0001')

利用精靈快速產生一個 Tablix,點選 Column 標題 => 滑鼠右鍵 => 文字方塊屬性

[SSRS] 互動式排序-1

文字方塊屬性 => 互動式排序 => 勾選[啟用此文字方塊上的互動式排序] => 排序依據則是點選[fx button]

[SSRS] 互動式排序-2

輸入運算式
=IIF(Fields!Data.Value = "Other" , "ZZZZZ" , Fields!Data.Value)
排序是依據 1 至 9、A 至 Z 排序,五個數字元,因此運算式是當資料為 Other 排序依據是 ZZZZZ,也就是排在最後

[SSRS] 互動式排序-3

預覽設定結果,可以在 column 標題內看見互動式排序的符號

[SSRS] 互動式排序-4

點選互動式排序符號,就可以把 Other 資料排序到最後去,第一次使用互動式排序預設是遞增排序

[SSRS] 互動式排序-5


沒有留言:

張貼留言