Добрый день!
Есть таблица
CREATE TABLE [dbo].[TestRollup]
(
[Dim1] [nvarchar](255) NULL,
[Dim2] [nvarchar](255) NULL,
[Dim3] [nvarchar](255) NULL,
[Metric] [float] NULL
)
INSERT INTO [dbo].[TestRollup]
([Dim1],[Dim2],[Dim3],[Metric])
VALUES
('TestDim1','Dim2Value1','Dim3Value1',1),
('TestDim1','Dim2Value1','Dim3Value2',3),
('TestDim1','Dim2Value2','Dim3Value1',7),
('TestDim1','Dim2Value2','Dim3Value3',5),
('TestDim1','Dim2Value3','Dim3Value2',NULL),
('TestDim1','Dim2Value3','Dim3Value2',NULL),
('TestDim1','Dim2Value3','Dim3Value5',2),
('TestDim1','Dim2Value3','Dim3Value5',1)
запрос
SELECT
[Dim1]
,[Dim2]
,[Dim3]
,SUM([Metric]) Sum_Metric
,GROUPING(Dim1) Grouping_Dim1
,GROUPING(Dim2) Grouping_Dim2
,GROUPING(Dim3) Grouping_Dim3
FROM [dbo].[TestRollup]
GROUP BY [Dim1],[Dim2],[Dim3]
WITH ROLLUP
выполняется верно, колонка Sum_Metric считается верно.
Но следующий запрос
SELECT
[Dim1]
,[Dim2]
,[Dim3]
,SUM([Metric]) Sum_Metric
,GROUPING(Dim1) Grouping_Dim1
,GROUPING(Dim2) Grouping_Dim2
,GROUPING(Dim3) Grouping_Dim3
FROM <linked_server>.<name_db>.[dbo].[TestRollup]
GROUP BY [Dim1],[Dim2],[Dim3]
WITH ROLLUP
для некоторых сабтоталов выдает NULL.
Т.е. если данные берутся с залинкованного сервера и есть значения NULL для поля Metric, то сумма для сабтотала будет NULL. В чем может быть проблема? может дело в каких-то настройках линка?