如何在同一个分组的 tablix 中显示两个数据集

How to show two datasets inside the same grouped tablix

我有一个数据集(列表),我使用 SSRS 对这些数据进行了分组。现在我还有第二个数据集。

如何在同一个分组的 tablix 中显示两个数据集。

我不确定我是否可以在 SSRS 中使用 Vlookup,因为它是一个 n 到 m 的连接。

这是一个类似的问题:

这里是数据:

USE [test]
GO
/****** Object:  Table [dbo].[Tabelle1]    Script Date: 14.09.2021 21:03:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Tabelle1](
    [Region] [nvarchar](50) NULL,
    [City] [nvarchar](50) NULL,
    [Sales] [int] NULL,
    [Produced] [int] NULL
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[Tabelle2]    Script Date: 14.09.2021 21:03:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Tabelle2](
    [Region] [nvarchar](50) NULL,
    [Requested] [int] NULL
) ON [PRIMARY]
GO
INSERT [dbo].[Tabelle1] ([Region], [City], [Sales], [Produced]) VALUES (N'West', N'Boston', 5000, 400)
GO
INSERT [dbo].[Tabelle1] ([Region], [City], [Sales], [Produced]) VALUES (N'West', N'Fransico', 100, 844)
GO
INSERT [dbo].[Tabelle1] ([Region], [City], [Sales], [Produced]) VALUES (N'Nord', N'New York', 1054, 5844)
GO
INSERT [dbo].[Tabelle1] ([Region], [City], [Sales], [Produced]) VALUES (N'Nord', N'Dallas', 15474, 11841)
GO
INSERT [dbo].[Tabelle1] ([Region], [City], [Sales], [Produced]) VALUES (N'Nord', N'Berlin', 1544, 44)
GO
INSERT [dbo].[Tabelle1] ([Region], [City], [Sales], [Produced]) VALUES (N'South', N'Austin', 154, 5481)
GO
INSERT [dbo].[Tabelle1] ([Region], [City], [Sales], [Produced]) VALUES (N'South', N'Birn', 1544, 4544)
GO
INSERT [dbo].[Tabelle2] ([Region], [Requested]) VALUES (N'West', 8411)
GO
INSERT [dbo].[Tabelle2] ([Region], [Requested]) VALUES (N'Nord', 1541)
GO
INSERT [dbo].[Tabelle2] ([Region], [Requested]) VALUES (N'South', 151)
GO
INSERT [dbo].[Tabelle2] ([Region], [Requested]) VALUES (N'Nord', 15444)
GO

如果您无法在查询中组合您的数据,可以使用 LookupSet 函数查看基于条件的另一个数据集的结果。对于您的问题,表达式类似于

=LookupSet(Fields!SCIENCE_FIELD.Value, Fields!SCIENCE_FIELD.Value, Fields!APPROVED.Value, "DATASET2")

这将从您当前的 table 和 Dataset2 中具有匹配科学领域的查找记录和 returns 批准字段中的值中获取科学领域。

不幸的是,SSRS 不允许您对 LookUpset 求和。有一些 VB SumLookup 函数的代码可以添加到报告中以对结果求和。

Need help in calculation using two Datasets using Expression SSRS

您可以将上面的 Lookupset 与表达式中的代码一起使用:

=Code.SumLookup(LookupSet(Fields!SCIENCE_FIELD.Value, Fields!SCIENCE_FIELD.Value, Fields!APPROVED.Value, "DATASET2"))