Ниже приведен код, который заменяет NULL на ноль в выходном файле.
Создание таблицы и вставка данных:
create table test_table
(
date nvarchar(10),
category char(3),
amount money
)
insert into test_table values ('1/1/2012','ABC',1000.00)
insert into test_table values ('2/1/2012','DEF',500.00)
insert into test_table values ('2/1/2012','GHI',800.00)
insert into test_table values ('2/10/2012','DEF',700.00)
insert into test_table values ('3/1/2012','ABC',1100.00)
Запрос для генерации точных результатов, который также заменяет NULL с нулями:
DECLARE @DynamicPivotQuery AS NVARCHAR(MAX),
@PivotColumnNames AS NVARCHAR(MAX),
@PivotSelectColumnNames AS NVARCHAR(MAX)
--Get distinct values of the PIVOT Column
SELECT @PivotColumnNames= ISNULL(@PivotColumnNames + ',','')
+ QUOTENAME(category)
FROM (SELECT DISTINCT category FROM test_table) AS cat
--Get distinct values of the PIVOT Column with isnull
SELECT @PivotSelectColumnNames
= ISNULL(@PivotSelectColumnNames + ',','')
+ 'ISNULL(' + QUOTENAME(category) + ', 0) AS '
+ QUOTENAME(category)
FROM (SELECT DISTINCT category FROM test_table) AS cat
--Prepare the PIVOT query using the dynamic
SET @DynamicPivotQuery =
N'SELECT date, ' + @PivotSelectColumnNames + '
FROM test_table
pivot(sum(amount) for category in (' + @PivotColumnNames + ')) as pvt';
--Execute the Dynamic Pivot Query
EXEC sp_executesql @DynamicPivotQuery
OUTPUT:
Вам не нужно добавлять ярлыки. Чтобы обратиться к классу, методу или другому документированному объекту Python, используйте разметку, предоставленную доменом Python .
Например, следующее определяет перекрестную ссылку на метод mymethod
:
:py:meth:`mymodule.MyClass.mymethod`
Или даже проще (поскольку домен Python по умолчанию):
:meth:`mymodule.MyClass.mymethod`
Документация TextWrapper.wrap
, на которую вы ссылаетесь в вопросе, включает в себя две перекрестные ссылки такого типа (нажмите «Показать источник», чтобы увидеть разметку reST).