У меня есть следующий расчет Excel, который я хочу скопировать в оператор T-SQL:
Этот Excel импортируется в таблицу SQL (SQL Server 2012) в том же формате с двумя дополнительными столбцами для завода и года.
Ниже мое представление SQL, которое я использую для отчетов. Как видите, месяцы стали строками, а строки-столбцы значений:
+---------+------+-------+------+--------+
| Plant | Year | Month | A | B |
+---------+------+-------+------+--------+
| Plant X | 2019 | 1 | 526 | 16 |
| Plant X | 2019 | 2 | 786 | 54 |
| Plant X | 2019 | 3 | 1800 | 85 |
| Plant X | 2019 | 4 | 9780 | 15 |
| Plant X | 2019 | 5 | 9780 | (null) |
| Plant Y | 2019 | 1 | 4080 | 128 |
| Plant Y | 2019 | 2 | 1387 | 179 |
+---------+------+-------+------+--------+
Вот Fiddle для просмотра выше sql.
CREATE TABLE Test
([Plant] varchar(13), [Year] int, [Month] int, [A] decimal(18,2), [B] decimal(18,2))
;
INSERT INTO Test
([Plant], [Year], Month, A, B)
VALUES
('Plant X', 2019,1,526 ,16 ),
('Plant X', 2019,2,786 ,54),
('Plant X', 2019,3, 1800,85),
('Plant X', 2019,4, 9780,15),
('Plant X', 2019,5, 9780,NULL),
('Plant Y', 2019,1,4080 ,128 ),
('Plant Y', 2019,2,1387 ,179)
;
Можно ли выполнить вычисления в моем представлении SQL, как показано на изображении Excel выше? Если да, можете ли вы показать пример?
Поскольку у меня также есть данные в таблице SQL, точно так же, как в структуре Excel (с месяцами в виде столбцов), имеет ли смысл выполнять вычисления в этом формате?
Спасибо.