2014-09-18 9 views
0

제 질문은 제가 제목에 사용했던 것과 정확하게 같습니다. 한 스크립트에서 결합하기가 어려운 두 개의 데이터 세트가있는 .rdl 파일이 있으므로 개별 데이터 세트로 둘 다 사용하여 원형 차트를 만들고 싶습니다. 두 가지 추가 (첫 번째 데이터 집합과 두 번째 데이터 집합 중 하나)의 비율을 찾아야하므로 기본적으로이 추가가 필요하고 다음과 같은 부분이 필요합니다.Visual Studio에서 두 개의 데이터 세트를 결합하여 보고서에 원형 차트를 만들려면 어떻게해야합니까?

(first_thing + second_thing)/

예를 들어 나는 하나의 테이블에 dog_sales를 가지고 있고 다른 테이블에는 cat_sales를 가지고 있는데, 나는 이것을 위해 개와 고양이의 판매 비율로 원형 차트를 작성해야합니다. 달.

어떻게하면됩니까?

+0

실제로 SSRS 2008을 사용하고 있습니까? SSRS 2008R2 이상을 사용하고 있다면 SSRS에서'LOOKUP' 함수를 사용할 수 있습니다. –

+0

네, 그 태그가 잘못 선택되어서 죄송합니다 – natan

+0

호 너는 두 가지를 연결합니까? 그들은 같은 이름입니까? 샘플 데이터 세트를 게시 할 수 있습니까? –

답변

0

두 개의 데이터 세트를 하나의 파이 차트로 결합하는 방법을 모르겠습니다. 대신 원형 차트에서 사용할 수있는 새로운 데이터 집합에 데이터 집합을 참여시키는 것이 좋습니다.

cat vs dog 판매 사례를 월별로 사용하여 2 개의 데이터 세트를 함께 결합하는 방법의 예를 만들었습니다.

마지막 쿼리에서 "total_sales"열을 사용하여 원형 차트 값을 채우고 "month_of_sale"을 계열 그룹으로 사용할 수 있습니다.

-- Create temp table to store Cat sales data 
DECLARE @catSales TABLE(
     Sales INT 
     , MonthOfSale INT); 

-- Create temp table to store Dog sales data 
DECLARE @dogSales TABLE(
     Sales INT 
     , MonthOfSale INT) 

--Populate cat sales table with data 
INSERT INTO @catSales 
     (Sales, MonthOfSale) 
VALUES (50, -- Sales - int 
      1 -- MonthOfSale - int 
     ) 
INSERT INTO @catSales 
     (Sales, MonthOfSale) 
VALUES (100, -- Sales - int 
      2 -- MonthOfSale - int 
     ) 
INSERT INTO @catSales 
     (Sales, MonthOfSale) 
VALUES (75, -- Sales - int 
      3 -- MonthOfSale - int 
     ) 

--Populate dog sales table with data 
INSERT INTO @dogSales 
     (Sales, MonthOfSale) 
VALUES (150, -- Sales - int 
      1 -- MonthOfSale - int 
     ) 
INSERT INTO @dogSales 
     (Sales, MonthOfSale) 
VALUES (80, -- Sales - int 
      3 -- MonthOfSale - int 
     ) 
INSERT INTO @dogSales 
     (Sales, MonthOfSale) 
VALUES (200, -- Sales - int 
      4 -- MonthOfSale - int 
     ) 

--View data in cat sales table (note that months 1, 2, and 3 are all populated with data, but not month 4. 
SELECT Sales 
    , MonthOfSale 
FROM @catSales 


--View data in dog sales table (note that months 1, 3, and 4 are all populated with data, but not month 2. 
SELECT Sales 
    , MonthOfSale 
FROM @dogSales 


--Join the data from Cat and Dog sales together based on the month 
SELECT cs.sales AS 'cat_sales' 
    , ds.sales AS 'dog_sales' 
    , ISNULL(cs.sales, 0) + ISNULL(ds.sales, 0) AS 'total_sales' -- Use ISNULL to convert missing data into 0 so that it adds correctly 
    , ISNULL(cs.MonthOfSale, ds.MonthOfSale) AS 'month_of_sale' -- If there are not cat sales, then the cs.MonthOfSale will be null and ds.MonthOfSale should be used instead 
FROM @catSales cs 
    FULL OUTER JOIN @dogSales ds ON cs.MonthOfSale = ds.MonthOfSale -- Use full outer join to include all data from both tables