我不知道你有什么理由使用参数,而不是筛选过滤的数据集你的查询直接。但是,这可能是你正在寻找的。基于OP评论版:
试试这个:
=Sum(iif(
Fields!FirstServiceDate.Value <= Fields!WarrantyEndDate.Value
AND
Join(Parameters!MultiValSTParam.Value,",").Contains(Fields!ServiceType.Value)
AND
Join(Parameters!MultiValOTParam.Value,",").Contains(Fields!OrderType.Value)
,CDbl(Fields!ExtendedCost.Value)
,CDbl(0)
))
编辑。
您应该使用该参数来过滤在T-SQL级别生成数据集的查询。
创建@WarrantyEDParam
(日期类型),@ServiceType
和@OderType
参数,然后在类似这样的查询一些使用它们。
select
me.equipment_id,
me.WarrantyEndDate,
me.WarrantyReserveAmnt,
so.invoice_id,
so.service_type,
so.order_type,
so.cost,
so.price
from
master_equipment me
left join sales_order so on me.equipment_id = so.equipment_id
where me.WarrantyEndDate <= @WarrantyEDParam
or so.equipment_id is null --This line was added
and so.service_type in (@ServiceTypeParam)
and so.order_type in (@OrderTypeParam)
现在你会得到直接从查询过滤后的数据,因此要获得的ExtendedCost
使用的总和:
=Sum(CDbl(Fields!ExtendedCost.Value))
是。也许这是错误的方法,因为这似乎并不奏效,但也许你可以提供帮助。我正在尝试过滤字段,因为这种情况... – Liz
编辑您的问题以包含参数的类型和名称以及您正在使用的查询。 –
我有一台设备主,每台设备有一个记录#,我需要以下字段。设备#,保修结束日期和保修储备金。这总是每个装备一个记录,我需要在用户指定的保修日期范围内显示所有装备记录。然后,我需要从销售订单表中提取数据,该表中有多个记录,即发票编号,服务类型,订单类型,设备编号,成本和价格。此数据(成本)需要汇总以计算已使用质量保证金字段,然后我需要采取(保修储备金使用的保修)=剩余金额。 – Liz