2017-04-11 68 views
0

我有一个很大的SSRS报告,我试图从多个字段中获取最大值。现在我有IIF抓取两个日期之间的MAX值,但是我希望所有报告中的字段。这里是我必须抓住两个值从SSRS中的多个字段中挑选最大值

=IIF(((IIF(Fields!OnOrder1Day.Value<Fields!Sold1Day.Value, 
Fields!Sold1Day.Value, Fields!OnOrder1Day.Value) + 
IIF(Fields!OnOrder2Day.Value<Fields!Sold2Day.Value, Fields!Sold2Day.Value, 
Fields!OnOrder2Day.Value) + 
IIF(Fields!OnOrder3Day.Value<Fields!Sold3Day.Value, Fields!Sold3Day.Value, 
Fields!OnOrder3Day.Value)) - (Fields!lonhand.Value - 
Fields!OnOrderToday.Value)-Fields!onpo.Value)<0, 0, 
((IIF(Fields!OnOrder1Day.Value<Fields!Sold1Day.Value, Fields!Sold1Day.Value, 
Fields!OnOrder1Day.Value) + 
IIF(Fields!OnOrder2Day.Value<Fields!Sold2Day.Value, Fields!Sold2Day.Value, 
Fields!OnOrder2Day.Value) + 
IIF(Fields!OnOrder3Day.Value<Fields!Sold3Day.Value, Fields!Sold3Day.Value, 
Fields!OnOrder3Day.Value)) - (Fields!lonhand.Value - 
Fields!OnOrderToday.Value)-Fields!onpo.Value)) 

之间的MAX我想要做的是从以下所有领域找到MAX:

Fields!OnOrder1Day.Value 
Fields!Sold1Day.Value 
Fields!OnOrder2Day.Value 
Fields!Sold2Day.Value 
Fields!OnOrder3Day.Value 
Fields!Sold3Day.Value 
Fields!OnOrder4Day.Value 
Fields!Sold4Day.Value 
Fields!OnOrder5Day.Value 
Fields!Sold5Day.Value 
Fields!OnOrder6Day.Value 
Fields!Sold6Day.Value 

是否有可能像做

MAX(Fields!OnOrder1Day.Value,Fields!Sold1Day.Value,Fields!OnOrder2Day.Value,Fields!Sold2Day.Value,Fields!OnOrder3Day.Value,Fields!Sold3Day.Value,Fields!OnOrder4Day.Value,Fields!Sold4Day.Value,Fields!OnOrder5Day.Value,Fields!Sold5Day.Value,Fields!OnOrder6Day.Value,Fields!Sold6Day.Value) 

回答

0

如果我理解正确,您希望数据集中多个字段的最高值。基本上,你想要的最大值的最大值。这是可行的使用负载和嵌入式IIF的负载,只是包子疼痛。

IIF(
    (MAX(Fields!OnOrder1Day.Value) > MAX(Fields!OnOrder2Day.Value)) AND 
    (MAX(Fields!OnOrder1Day.Value) > MAX(Fields!OnOrder3Day.Value)) *ETC*, 
    Fields!OnOrder1Day.Value, 
    IIF(
     (MAX(Fields!OnOrder2Day.Value) > MAX(Fields!OnOrder1Day.Value)) AND 
     (MAX(Fields!OnOrder2Day.Value) > MAX(Fields!OnOrder3Day.Value)) *ETC*, 
     MAX(Fields!OnOrder2Day.Value, 
     IIF(*ETC*), 
    ), 
) 
相关问题