이 데이터 세트 결과를 다음 차트로 변환해야합니다. 가치, 그룹, 시리즈에 대한 모든 종류의 조합을 시도했지만 그것을 이해할 수는 없습니다! 누군가 제발 도와 줄 수 있어요! 미리 감사는SSRS 바 및 라인 보고서
차트 나는이 차트 데이터를 얻기 위해 내가 UNPIVOT 것이지만 가장 좋은 방법인지 잘 모르겠어요
이 데이터 세트 결과를 다음 차트로 변환해야합니다. 가치, 그룹, 시리즈에 대한 모든 종류의 조합을 시도했지만 그것을 이해할 수는 없습니다! 누군가 제발 도와 줄 수 있어요! 미리 감사는SSRS 바 및 라인 보고서
차트 나는이 차트 데이터를 얻기 위해 내가 UNPIVOT 것이지만 가장 좋은 방법인지 잘 모르겠어요
를 작성해야 데이터를 만들고 데이터 세트에 두 개의 열을 만듭니다. 다음은 차트에서 처리하기 쉬운 데이터로 그림 데이터 세트를 변환하는 몇 가지 샘플 코드입니다.
-- CREATE A Month NUmber table
-- Create this as a physical table, I'm doing this as a Table variable for this exmaple only
-- CREATE TABLE dbo.Months (Month_Name varchar(3), Month_Number int)
DECLARE @Month TABLE(Month_Name varchar(3), Month_Number int)
INSERT INTO @Month VALUES
('Jan', 1), ('Feb', 2), ('Mar', 3), ('Apr', 4), ('May', 5), ('Jun', 6),
('Jul', 7), ('Aug', 8), ('Sep', 9), ('Oct', 10), ('Nov', 11), ('Dec', 12)
-- CREATE and populate dummy table
DECLARE @t table (FranchiseNumber int, Report_Year int, Jan int, Feb int, Mar int, Apr int, May int, Jun int, Jul int, Aug int, Sep int, Oct int, Nov int, Dec int)
INSERT INTO @t Values
(103332, 2016, 578,591,616,611,611,577, NULL, NULL, NULL, NULL, NULL, NULL),
(103332, 2017, 343,332,324,310,309, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
DECLARE @d TABLE(FranchiseNumber int, Month_Name varchar(3), Previous_Year int, Current_Year int)
-- unpivot, create prev and current year columns and add a month number to help sort the Axis
INSERT INTO @d
select
FranchiseNumber
, Month_Name
--, DATEPART(MM, Month_Name + ' 01 1999') AS Month_Number -- REMOVED
, SUM(CASE Report_Year WHEN 2016 THEN Month_Value ELSE NULL END) AS Previous_Year
, SUM(CASE Report_Year WHEN 2017 THEN Month_Value ELSE NULL END) AS Current_Year
from
@t p
UNPIVOT
(Month_Value FOR
Month_Name IN (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)
) as unPiv
GROUP BY FranchiseNumber, Month_Name, DATEPART(MM, Month_Name + ' 01 1999')
SELECT d.FranchiseNumber, m.Month_Name, m.Month_Number, d.Previous_Year, d.Current_Year
FROM @Month m
LEFT JOIN @d d ON m.Month_Name = d.Month_Name
차트 디자인은 다음과 같습니다.
은 내가 한 모든 값 영역에서 Previous_Year 드롭 다운을 클릭하고 열에 차트 유형을 변경, 라인 차트 드래그에게 값 영역에 현재 및 이전 해 열을 생성했다. 그 내가 가로 축에 마우스 오른쪽 버튼으로 클릭하고업데이트 MONTH_NUMBER으로 분류 한 후
: 당신은 아마 할 것이다 가로축, 선택 속성을 마우스 오른쪽 버튼으로 클릭하고 1 또는 모든 달 간격 변경 레이블이 표시 될 수 있습니다.
완벽하지는 않지만 가까이에 있어야합니다.
아래 테이블을 생성하려면 새 데이터 세트를 추가하고 원래 데이터를 가리키고이를 가리키는 새 테이블 릭스를 추가하십시오.
희망이 있습니다.
저에게 큰 도움이되었지만 데이터에 문제가 하나 있습니다. 나는 12 개월 결과 집합 1-12에 반환해야하며, 데이터가 없으면 null이되어 내 차트에는 항상 12 개월이 표시됩니다. – Thomas
코드를 업데이트했습니다. 기본적으로 월 표를 추가했습니다. 이와 같은 작업에 대해 데이터베이스에 실제 날짜 테이블과 이와 유사한 항목을 갖는 것이 유용합니다. 본질적으로 나는 이전에 가지고 있던 대부분의 UNPIVOT을 취하고 LEFT를 월 및 월 숫자 테이블에 조인함으로써 차트에 대한 전체 데이터 세트를 얻습니다. –
위의 내용이 귀하의 초기 질문을 해결하면 답변을 수락 된 것으로 친절하게 표시하십시오. –