2014-09-18 2 views
0

Мой вопрос - это именно тот, который я использовал для названия. У меня есть файл .rdl с двумя наборами данных, которые очень сложно комбинировать в одном скрипте, поэтому я хочу создать круговую диаграмму, используя оба из них как отдельные наборы данных. Мне нужно найти процент добавления двух вещей (один из первого набора данных и один из второго), поэтому в основном мне нужно это дополнение, а затем подразделение, подобное следующему:Как создать круговую диаграмму в отчете, объединяющем два набора данных в Visual Studio?

(first_thing + second_thing)/(сумма (first_thing) + sum (second_thing))

например, у меня есть собака в одном столе и cat_sales на другом, и мне нужно сделать круговую диаграмму с процентами продаж как собак, так и кошек для этого месяц.

Как я могу это сделать?

+0

Вы действительно используете SSRS 2008? Если вы использовали SSRS 2008R2 или более позднюю версию, вы можете использовать функцию LOOKUP в SSRS. –

+0

Да, его r2 извините за неправильный выбор тега – natan

+0

Хо вы связываете две вещи: есть ли у них одно и то же имя? Можете ли вы разместить некоторые образцы данных? –

ответ

0

Я не знаю, как объединить два набора данных вместе в одной круговой диаграмме. Вместо этого я бы рекомендовал объединить ваши данные в один новый набор данных, который может использоваться круговой диаграммой.

Используя ваш пример продажи кошек против собак по месяцам, я создал пример того, как объединить 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 

 Смежные вопросы

  • Нет связанных вопросов^_^