Я хочу создать иерархический отчет в SSRS с помощью этой простой таблицы? Не могли бы вы помочь? Я следую учебнику здесь: https://www.mssqltips.com/sqlservertip/1939/working-with-a-parent-child-hierarchy-in-sql-server-reporting-services-ssrs/SSRS: рекурсивный родительский ребенок
но я не могу понять, как EmployeeKey и ParentEmployeeKey применяются к моей таблице. Насколько моя таблица касается Col2, является ли Employee и Col1 родителем. Но в SSRS, когда я группирую Col2, а Recursive Parent - COL1, я не получаю желаемого результата.
Вот мой стол:
╔══════════════╦══════════════╗
║ COL1 ║ COL2 ║
╠══════════════╬══════════════╣
║ TEST01 ║ TEST02 ║
║ TEST01 ║ TEST03 ║
║ TEST01 ║ TEST04 ║
║ TEST02 ║ LAB ║
║ TEST02 ║ STL40 ║
║ TEST03 ║ LABSTL ║
║ TEST03 ║ STLSCH40 ║
║ TEST04 ║ LABSTL ║
║ TEST04 ║ FLG41 ║
║ TEST04 ║ STLSCH40 ║
╚══════════════╩══════════════╝
Это результат, который я хочу получить с помощью SSRS. как отступа стиль картины ..
╔═══════════════╦══╗
║ COL1 ║ ║
╠═══════════════╬══╣
║ TEST01 ║ ║
║ -TEST02 ║ ║
║ ----LAB ║ ║
║ ----STL40 ║ ║
║ -TEST03 ║ ║
║ ----LABSTL ║ ║
║ ----STLSCH40 ║ ║
║ -TEST04 ║ ║
║ ----LABSTL ║ ║
║ ----FLG41 ║ ║
║ ----STLSCH40 ║ ║
╚═══════════════╩══╝
я не знаю, чтобы получить результат отступа стиля выше. Нужно ли использовать HierarchyID и IsDescendantOf или рекурсивный CTE. Это рекурсивный CTE, который я сделал, и результат под ним.
Declare @Col1 varchar(30)='TEST01';
Declare @BomLevel Integer=0;
WITH tBOM
AS
(
select a.Col1 , a.Col2, @BomLevel "BOMLevel" from Component A
WHERE Col1= @Col1
UNION ALL
Select c.Col1, c.Col2, BomLevel+1 From Component C
INNER JOIN tBOM on tBOM.Col2=c.Col1
)
select Col1,Col2 ,BOMLevel from tbom
Col1 Col2 BOMLevel
TEST01 TEST02 0
TEST01 TEST03 0
TEST01 TEST04 0
TEST02 STL40 1
TEST02 LAB 1
TEST03 STLSCH40 1
TEST03 LABSTL 1
TEST04 STLSCH40 1
TEST04 FLG41 1
TEST04 LABSTL 1
Hm. Это решение намного проще. Мне не приходило в голову, как это выглядит. Единственное, что я добавил бы (если это даже имеет значение для вопроса), это 'REPLICATE ('-', SQUARE (BOMLevel))' будет производить полный желаемый результат. – ZLK
Я забыл сказать, что хочу добиться этого, используя SSRS. Но я попробую это. спасибо – BobNoobGuy
Да! Я понимаю это. Исправьте ключ, чтобы иметь этот тип SORT_PATH/key, чтобы определить, какая строка принадлежит тому, кто является родителем! – BobNoobGuy