*해결: 차트 속성의 DynamicHeight, DynamicWidth 속성을 활용
*Step0. SP 생성
CREATE PROC DBO.UP_GET_SALES
@TOP_CNT INT
AS
BEGIN
SELECT TOP(@TOP_CNT)
DATEPART(YEAR,[ORDERDATE]) AS YEAR
, DATEPART(MONTH,[ORDERDATE]) AS MONTH
, SUM(B.UNITPRICE) AS UNITPRICE
, COUNT(*) AS CNT
FROM [SALES].[SALESORDERHEADER] AS A WITH(NOLOCK)
JOIN [SALES].[SALESORDERDETAIL] AS B WITH(NOLOCK)
ON A.SALESORDERID = B.SALESORDERID
JOIN [PRODUCTION].[PRODUCT] AS PD WITH(NOLOCK)
ON B.PRODUCTID = PD.PRODUCTID
WHERE DATEPART(YEAR,[ORDERDATE]) = 2013
GROUP BY DATEPART(YEAR,[ORDERDATE])
, DATEPART(MONTH,[ORDERDATE])
ORDER BY 2
END
*Step1. Report 매개변수 생성
*Step2. 데이터 집합 생성
a. 생성한 SP로 데이터 집합을 생성하고, report 매개변수를 SP에 매개변수 값으로 전달
*Step3. DynamicWidth 설정
a. 매개변수 값을 전달 받아 차트의 너비(inch)로 설정해 보자
차트 클릭 > 속성 창 > DynamicWidth
=(1 + Parameters!rp_top_cnt.Value / 2) & " in"
or
=(1 + CountDistinct(Fields!MONTH.Value, "DataSet") / 2) & " in"
ex> 12를 입력하면 --> 7 in, 10을 입력하면 --> 6 in
*Step4. 결과
a. 매개변수의 값에 따라 차트의 너비가 변경 된다.
댓글 없음:
댓글 쓰기