我正在尝试构建一个SSRS报告,其中数据集通过应用程序“呈现”到SSRS(Microsoft Dynamics NAV2009)。报告的概念很简单 - 它是一系列设备 - 计算机,手机等。该表有一个“与设备相关”字段。因此,设备ID“CELL01”可能具有“与设备ID相关”=“计算机123”。设备ID“CAR456”也可能有“与设备ID相关”=“计算机123”。
我想创建一份报告,列出每件设备,下面是任何“相关设备”。许多作品没有相关部分,因此列表需要如下所示:
COMPUTER001 Dell Latitude 4mb RAM
COMPUTER002 Dell Latitude 16mb RAM
COMPUTER123 Dell Latitude 8mb RAM
Related Equipment
CELL01 Nokia Cellphone
CAR456 2011 Ford Taurus
COMPUTER135 Sony Laptop 12gb RAM
CELL01 Nokia Cellphone
CAR456 2011 Ford Taurus
请注意,“相关项目”仅是单向的 - 相关项目只需要在“相关”设备下报告,反之亦然。
我做了一些尽职调查并研究了递归层次结构。似乎这种方法取决于每个拥有“父母”的“孩子”。在我的情况下,大多数“孩子”是“空”,即大多数设备没有“与设备相关”的ID。因此,如果我尝试从下到上创建列表并使用递归层次结构,在下面的示例中,将仅列出COMPUTER123及其子项。其他“父母”记录(例如COMPUTER001)都没有任何子女。
有没有人做过类似的SSRS报告?在“纯”SQL中,这类似于使用左外连接进行查询,并列出主记录中的字段,即使JOIN的结果为NULL,例如,列出了本周预订订单的所有销售人员名单:
选择s.Name,i.Invoice_No,i.Invoice_Amt
来自销售员的人士
LEFT OUTER JOIN Invoice i on
s.SalespersonID = i.SalespersonID
如果销售员“Joe”本周没有进行任何销售,但销售人员“Sam”进行了3次销售,销售人员“Bruno”进行了2次销售,您可能会得到如下结果:
Name Invoice_No Invoice_Amt
Bruno 1287 200.00
Bruno 1289 400.00
Joe NULL NULL
Sam 1281 65.00
Sam 1283 450.00
Sam 1286 175.00
那么你将如何构建一个报告,其中输出为:
Bruno
Invoices:
1287 200.00
1289 400.00
Joe
Sam
Invoices:
1281 65.00
1283 450.00
1286 175.00
任何建议都将不胜感激。
罗恩