[英]Rownumber() unsopported in reports?
我有以下查詢(由tablevalued函數返回)
SELECT
ROW_NUMBER() OVER (ORDER BY ClientHId) AS RowNumber,
ClientHId,
FirstName,
LastName,
FROM Client
然后像這樣在SSRS中填充數據集:
select RowNumber,ClientHId,FirstName,LastName from fuctionClient
到現在為止還挺好。 現在,我正在嘗試使用RowNumber列進行排序或顯示。 如果我嘗試排序,SSRS錯誤會指出: "unsopported datatype exception"
如果我只是嘗試在Tablix中顯示它,則會顯示#error
而不是行號。 Visual Studio intellisense表示僅支持整數,字符串,字符...。 但是Row_Number函數返回整數! 我什至試圖在rownumber上強制轉換cast as integer
,但仍然無濟於事。 有沒有人遇到過同樣的問題? ClinetHid-HierarchyId
令人恐懼的“無法復制”。
我剛剛創建了一個示例查詢報告,該查詢幾乎與您的查詢相同,包括創建一個表值UDF,然后從該報告中調用它。 然后,我按行編號字段對詳細信息組進行了排序,沒有任何問題。 我確保使用上面顯示的相同名稱調用了RowNumber字段。
您如何在UDF中聲明該字段的返回數據類型?
CREATE FUNCTION [dbo].[JamieTestFunction]
(
)
RETURNS
@Requests TABLE
(
-- Make sure your type below is correct:
[RowNumber] int,
[ClientID] int,
[ClientName] NVARCHAR(200)
)
AS
BEGIN
INSERT @Requests
SELECT
ROW_NUMBER() OVER (ORDER BY ClientID) AS RowNumber,
ClientID,
ClientName
FROM clients
RETURN;
END
(此外,請確保無論在何處指定要使用Field!RowNumber.Value的RowNumber,而不是SSRS中內置的RowNumber()函數,這可能會產生不同的結果。不過,我懷疑這是您的問題。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.