나는 이와 같은 질문을 보지 못했지만 거기에 답변이있는 경우 저에게 알려주십시오.여러 동적 피벗 테이블에 가입
저장 프로 시저를 사용하여 내보내기를 만들어야합니다. 유감스럽게도 현재 SSRS에서이 보고서를 작성하는 것은 불가능합니다.
필자가해야 할 일은 동적으로 피벗 테이블을 만들어 다른 테이블과 결합하는 것입니다.
원시 데이터는 다음과 유사 작품 (내 회사의 데이터를 보호하기 위해 항목을 변경했습니다) :
들이 데이터가 보고서가이 (공간을 절약하는 것입니다에 같이 할 무엇 모든 날짜를 사용하지는 않았지만 아이디어를 얻을 수 있습니다.)
임시 테이블을 만들고 두 개의 동적 피벗 테이블을 만들었습니다. 두 테이블 모두 별도로 작동하지만 UNION ALL을 사용하면 오류 메시지가 나타납니다 (아래에서 추가 할 것입니다). 두 개의 피벗을 만드는 데 사용한 코드를 포함합니다. 누군가 내가 뭘 잘못하고 있다고 말할 수 있습니까?
하나의 피벗에서만이 작업을 수행 할 수 있습니까?
경고 : 내가받을
/*
Use dynamic SQL to find all
Issue Dates for column headings
*/
DECLARE @Jquery VARCHAR(8000)
DECLARE @query VARCHAR(4000)
DECLARE @years VARCHAR(2000)
SELECT @years = STUFF((SELECT DISTINCT
'],[' + 'Item 1' + ' ' + (IssueDate)
FROM #GroupData GroupData
ORDER BY '],[' + 'Item 1' + ' ' + (IssueDate)
FOR XML PATH('')
), 1, 2, '') + ']'
SET @query =
'SELECT * FROM
(
SELECT LocationID, StoreName, StoreState AS State, "Item 1" + " " + (IssueDate) AS IssueDate, MoneyOrder
FROM #GroupData GroupData
) MoneyOrderIssued
PIVOT (MAX(MoneyOrder) FOR IssueDate
IN ('[email protected]+')) AS pvt'
DECLARE @queryMOUsed VARCHAR(4000)
DECLARE @MOUsedYear VARCHAR(2000)
SELECT @MOUsedYear = STUFF((SELECT DISTINCT
'],[' + 'Item 2' + ' ' + (IssueDate)
FROM #GroupData GroupData
ORDER BY '],[' + 'Item 2' + ' ' + (IssueDate)
FOR XML PATH('')
), 1, 2, '') + ']'
SET @queryMOUsed =
'SELECT * FROM
(
SELECT LocationID, StoreName, StoreState AS State, "Item 2" + " " + (IssueDate) AS IssueDate, MOUsed
FROM #GroupData GroupData
)SCRMoneyOrders
PIVOT (MAX(MOUsed) FOR IssueDate
IN ('[email protected]+')) AS pvt'
SET @Jquery = @query + ' UNION ALL ' + @queryMOUsed
EXECUTE (@query) -- Only in here to show that this works w/out UNION ALL
EXECUTE (@queryMOUsed) -- Only in here to show that this works w/out UNION ALL
EXECUTE (@Jquery)
오류 메시지는 다음과 Null 값이 집계 또는 다른 SET 연산에 의해 제거된다. 메시지 8114, 수준 16, 상태 5, 줄 1 데이터 형식을 varchar에서 bigint로 변환하는 중 오류가 발생했습니다.
네가 맞다고 생각해, 네이트. DBA는 방금 두 개의 서로 다른 열 유형을 배치하려고한다는 것을 지적했습니다 (5 분 전). 그녀는이 시간에 날짜 조합을 사용하여 다양한 항목을 피벗하는 방법에 대한 대답을 가지고 있지 않았습니다. 이견있는 사람? – DataGirl
방금 업데이트했습니다. – NateMpls
또 다른 질문입니다. 항목을 동적으로 생성해야합니까? – NateMpls