DataSet T-SQL 語法
使用 AdventureWorks2012 來捉取資料,並利用 ROW_NUMBER() 把資料順序號碼 show 出來,方便報表產生時,可以拿來比較
建立群組
群組屬性 => 一般 => 修改群組名稱為 GroupPageBreak,方便自己辨識;群組對象則是新增父群組時,所輸入的 RowNumber() 條件,不需要再修改。
群組屬性 => 分頁符號 => 勾選[在群組的每個執行個體之間]
群組屬性 => 排序,RowNumber() 條件在新增時,也會是排序依據, SSRS 無法在排序時,使用 RowNumber() 函數,因此排序條件要設成其他條件或就不要有排序,要不然預覽時就會出現錯誤
移除 GroupNO 欄位
GroupNO 欄位是為了方便檢視設定 RowNumber() 條件才存在,實際設計報表不需要出現
點選 GroupNO 欄位 => 滑鼠右鍵 => 刪除資料行
選擇[只刪除資料行]
預覽報表
SELECT
ROW_NUMBER() OVER (ORDER BY E.BirthDate) AS ROWNO ,
P.LastName,
P.FirstName,
E.JobTitle,
E.BirthDate,
A.EmailAddress
FROM Person.Person AS P
INNER JOIN HumanResources.Employee AS E ON P.BusinessEntityID = E.BusinessEntityID
INNER JOIN Person.EmailAddress AS A ON P.BusinessEntityID = A.BusinessEntityID
- 新增一個資料列父群組
- 父群組分類條件
= INT((ROWNUMBER(NOTHING) - 1) / 10)
- 設定群組屬性
群組屬性 => 一般 => 修改群組名稱為 GroupPageBreak,方便自己辨識;群組對象則是新增父群組時,所輸入的 RowNumber() 條件,不需要再修改。
群組屬性 => 分頁符號 => 勾選[在群組的每個執行個體之間]
群組屬性 => 排序,RowNumber() 條件在新增時,也會是排序依據, SSRS 無法在排序時,使用 RowNumber() 函數,因此排序條件要設成其他條件或就不要有排序,要不然預覽時就會出現錯誤
- 預覽報表
移除 GroupNO 欄位
GroupNO 欄位是為了方便檢視設定 RowNumber() 條件才存在,實際設計報表不需要出現
點選 GroupNO 欄位 => 滑鼠右鍵 => 刪除資料行
選擇[只刪除資料行]
預覽報表
沒有留言:
張貼留言