여기 몇 가지 가정을하고 있지만 너무
Insert into Sales values ('John Doe', 100, 200.00, 100.00)
Insert into Sales values ('John Doe', 125, 300.00, 100.00)
Insert into Sales values ('Jane Smith', 100, 200.00, 100.00)
Insert into Sales values ('Jane Smith', 125, 1.00, 0.50)
Insert into Sales values ('Joel Spolsky', 100, 2.00, 1.00)
Insert into Sales values ('Joel Spolsky', 125, 3.00, 1.00)
같은 데이터로 채워집니다 그래서
If object_id('Sales') is not null
Drop table Sales
CREATE TABLE [dbo].[Sales]
(
[Salesperson] [nvarchar](50) NULL,
[Sales] [int] NULL,
[Gross] [money] NULL,
[Profit] [money] NULL,
)
같은 테이블이있는 경우 다음과 같이 저장 프로 시저 당신을 제공 할 수 있습니다 무엇을 찾고 있습니다
If object_id('usp_SalesReport') is not null
Drop procedure usp_SalesReport
Go
Create Procedure usp_SalesReport
as
Declare @results as table
(
SalesPerson nvarchar(50),
Sales int,
Gross money,
Profit money
)
Declare @SalesPerson nvarchar(50)
Declare SalesSums CURSOR FOR
Select distinct SalesPerson from Sales
Open SalesSums
Fetch SalesSums INTO @SalesPerson
While @@Fetch_Status = 0
Begin
Insert into @results Select Sales.Salesperson, sum(sales), sum(Gross), sum(profit) from Sales group by Sales.Salesperson having Sales.Salesperson = @SalesPerson
Insert into @results Select 'EveryoneElse', avg(sales), avg(Gross), avg(profit) from Sales where Salesperson <> @SalesPerson
Fetch SalesSums INTO @SalesPerson
End
Select * from @results
Close SalesSums
Deallocate SalesSums
Return
SSAS를 사용할 수 있습니까? 꽤 쉽게 만들 수있는 몇 가지 기능이 있습니다. – DrewM
정보를 얻는 것은 쉽습니다. 제공 한 레이아웃에서 서식을 지정하면 고통이 될 것입니다.일반적으로 총합 및 계산은 결과 집합의 끝에 표시됩니다. –
+1에 Pony의 코멘트. SQL은 출력 형식화에 적합한 도구가 아닙니다. –