Sorting 在SSRS中使用subrepot列对表进行排序。这可能吗?

Sorting 在SSRS中使用subrepot列对表进行排序。这可能吗?,sorting,reportingservices-2005,reporting-services,subreport,Sorting,Reportingservices 2005,Reporting Services,Subreport,我用的是SSR2005。我有一张有各种库存数据的表格。在其中一列中,我有一个子报告,它设计用于根据子报告所在行的产品代码提取最近的采购订单的日期。这将是好的,但我现在被要求能够排序的日期列。我的假设是,不能对包含子报表的列进行排序,但我想我会问。有什么方法可以做到这一点吗?您可以将最新的采购订单值作为子查询包含在主报告的数据集中,如下所示: SELECT * ,(SELECT TOP 1 PurchaseOrder FROM Purchasing p WHERE p.Prod

我用的是SSR2005。我有一张有各种库存数据的表格。在其中一列中,我有一个子报告,它设计用于根据子报告所在行的产品代码提取最近的采购订单的日期。这将是好的,但我现在被要求能够排序的日期列。我的假设是,不能对包含子报表的列进行排序,但我想我会问。有什么方法可以做到这一点吗?

您可以将最新的采购订单值作为子查询包含在主报告的数据集中,如下所示:

SELECT *
,(SELECT TOP 1 PurchaseOrder 
    FROM Purchasing p 
    WHERE p.ProductCode = i.ProductCode 
    ORDER BY PurchaseDate DESC
 ) as LastPurchaseOrder
FROM Inventory

然后可以使用该值对表进行排序

不幸的是,我不确定如何最好地调用产品代码,因为在原始查询中使用了一个不在原始查询中的变量。我试着插入它,但它似乎没有调用任何东西。它是报表变量还是组变量,或者当你说变量时,你是指参数吗?变量!产品。价值或参数!Product.Value?是的,你是对的,这是一个参数,我使用了不正确的术语。在最初的子报表中,我使用一个参数从主报表调用,它似乎工作得很好,但现在当我使用相同的语句时,它似乎根本不调用任何东西。我不确定是否应该直接引用字段而不是使用参数。请检查子报表属性并查看参数。您应该看到product code参数和传递给该参数的值。在子查询中使用此值(如果是数据集字段)。您可能正在对该值执行表达式,以导出产品代码的正确值。如果是这种情况,您可能需要尝试将表达式中的逻辑复制到SQL逻辑中,例如使用case语句。