Reporting services 在SSRS中,如何在单个数据库中加载子报表数据?

Reporting services 在SSRS中,如何在单个数据库中加载子报表数据?,reporting-services,ssrs-2008,subreport,Reporting Services,Ssrs 2008,Subreport,我使用的是SSRS,情况是我在主报告中加载用户,并且我创建了一个子报告来显示用户地址(每个用户可以有多个地址)。 现在,在添加子报告之后,报告变得相当慢。我猜这是因为主报表需要为列表中的每个用户的子报表获取数据 我想要实现的是在一个数据库命中中加载子报表的所有数据,然后只过滤应用程序中的记录。在SSRS报告中有这样做的方法吗 如果需要任何其他信息,请让我知道。 谢谢你抽出时间 如果您想这样做,那么您应该使用分组来实现它。例如,将以下Sql语句作为数据集查询: SELECT User.Name,

我使用的是SSRS,情况是我在主报告中加载用户,并且我创建了一个子报告来显示用户地址(每个用户可以有多个地址)。 现在,在添加子报告之后,报告变得相当慢。我猜这是因为主报表需要为列表中的每个用户的子报表获取数据

我想要实现的是在一个数据库命中中加载子报表的所有数据,然后只过滤应用程序中的记录。在SSRS报告中有这样做的方法吗

如果需要任何其他信息,请让我知道。
谢谢你抽出时间

如果您想这样做,那么您应该使用分组来实现它。例如,将以下Sql语句作为数据集查询:

SELECT User.Name, Address.StreetNumber, Address.Street, Address.City
FROM User
INNER JOIN Address ON User.Id = Address.UserId
ORDER BY User.Name
然后在tablix上添加一个组(右键单击tablix右侧的句柄以添加一个组),使一行显示用户详细信息,然后在详细信息组中添加地址(如果需要,可以添加更多详细信息行,以便使用tablix句柄重新对其进行良好格式化)


这将显示用户,然后显示该用户的所有地址,然后显示下一个用户,依此类推

如果您想这样做,那么您应该使用分组来实现它。例如,将以下Sql语句作为数据集查询:

SELECT User.Name, Address.StreetNumber, Address.Street, Address.City
FROM User
INNER JOIN Address ON User.Id = Address.UserId
ORDER BY User.Name
然后在tablix上添加一个组(右键单击tablix右侧的句柄以添加一个组),使一行显示用户详细信息,然后在详细信息组中添加地址(如果需要,可以添加更多详细信息行,以便使用tablix句柄重新对其进行良好格式化)


这将显示用户,然后显示该用户的所有地址,然后显示下一个用户,依此类推

如果您想这样做,那么您应该使用分组来实现它。例如,将以下Sql语句作为数据集查询:

SELECT User.Name, Address.StreetNumber, Address.Street, Address.City
FROM User
INNER JOIN Address ON User.Id = Address.UserId
ORDER BY User.Name
然后在tablix上添加一个组(右键单击tablix右侧的句柄以添加一个组),使一行显示用户详细信息,然后在详细信息组中添加地址(如果需要,可以添加更多详细信息行,以便使用tablix句柄重新对其进行良好格式化)


这将显示用户,然后显示该用户的所有地址,然后显示下一个用户,依此类推

如果您想这样做,那么您应该使用分组来实现它。例如,将以下Sql语句作为数据集查询:

SELECT User.Name, Address.StreetNumber, Address.Street, Address.City
FROM User
INNER JOIN Address ON User.Id = Address.UserId
ORDER BY User.Name
然后在tablix上添加一个组(右键单击tablix右侧的句柄以添加一个组),使一行显示用户详细信息,然后在详细信息组中添加地址(如果需要,可以添加更多详细信息行,以便使用tablix句柄重新对其进行良好格式化)


这将显示用户,然后显示该用户的所有地址,然后显示下一个用户,依此类推

> P>您可以考虑使用共享数据集并启用对属性的缓存(在SSR上完成)

您可以考虑使用共享数据集并启用对属性的缓存(在SSR上完成)

您可以考虑使用共享数据集并启用对属性的缓存(在SSR本身上完成)。

您可以考虑使用共享数据集,并启用对属性(在SSR本身上)的缓存(

)不是真的——您要得到的最接近的是缓存子报表数据,并且可能会有它自己的复杂性(比如生成所有必要的缓存报表)。您需要使用子报表吗?您可以将子报表内容构建到主报表中吗?不完全可以-最接近的方法是缓存子报表数据,这可能有其自身的复杂性(如生成所有必要的缓存报表)。您需要使用子报表吗?您可以将子报表内容构建到主报表中吗?不完全可以-最接近的方法是缓存子报表数据,这可能有其自身的复杂性(如生成所有必要的缓存报表)。您需要使用子报表吗?您可以将子报表内容构建到主报表中吗?不完全可以-最接近的方法是缓存子报表数据,这可能有其自身的复杂性(如生成所有必要的缓存报表)。您需要使用子报表吗?你能把子报告的内容放进主报告吗?