简体   繁体   中英

SSRS - How can I Define variable or parameter in a cell expression?

I need to write in a cell expression variable or parameter, it will be different in each cell. How can I design Something like this:

set @RowGroupName = name  ;                                            
=Sum(Fields!status.Value, @name, recursive)

表达式编辑器

The reason of this solution - very long expressions with repetitive elements. Any help highly appreciated

It's a good question, I have been the same problem and I can't do better without repeating that codes either =/

=IIF(
    IIF(
         Sum(Fields!QTDE_RET.Value) = 0,
        (Sum(Fields!QTDE_REA.Value) * (IIF(Sum(Fields!QTDE_MET.Value)=0,1,Sum(Fields!QTDE_MET.Value)) ^- 1)),
        (Sum(Fields!QTDE_REA.Value) * (IIF(Sum(Fields!QTDE_RET.Value)=0,1,Sum(Fields!QTDE_RET.Value)) ^- 1))
    ) >= 112, "Blue",(
                            IIF(IIF(
                                 Sum(Fields!QTDE_RET.Value) = 0,
                                (Sum(Fields!QTDE_REA.Value) * (IIF(Sum(Fields!QTDE_MET.Value)=0,1,Sum(Fields!QTDE_MET.Value)) ^- 1)),
                                (Sum(Fields!QTDE_REA.Value) * (IIF(Sum(Fields!QTDE_RET.Value)=0,1,Sum(Fields!QTDE_RET.Value)) ^- 1))
                            ) >= 95 AND
                            IIF(
                                 Sum(Fields!QTDE_RET.Value) = 0,
                                (Sum(Fields!QTDE_REA.Value) * (IIF(Sum(Fields!QTDE_MET.Value)=0,1,Sum(Fields!QTDE_MET.Value)) ^- 1)),
                                (Sum(Fields!QTDE_REA.Value) * (IIF(Sum(Fields!QTDE_RET.Value)=0,1,Sum(Fields!QTDE_RET.Value)) ^- 1))
                            ) <= 111, "Green", (
                                                    IIF(IIF(
                                                         Sum(Fields!QTDE_RET.Value) = 0,
                                                        (Sum(Fields!QTDE_REA.Value) * (IIF(Sum(Fields!QTDE_MET.Value)=0,1,Sum(Fields!QTDE_MET.Value)) ^- 1)),
                                                        (Sum(Fields!QTDE_REA.Value) * (IIF(Sum(Fields!QTDE_RET.Value)=0,1,Sum(Fields!QTDE_RET.Value)) ^- 1))
                                                    ) >= 81 AND
                                                    IIF(
                                                         Sum(Fields!QTDE_RET.Value) = 0,
                                                        (Sum(Fields!QTDE_REA.Value) * (IIF(Sum(Fields!QTDE_MET.Value)=0,1,Sum(Fields!QTDE_MET.Value)) ^- 1)),
                                                        (Sum(Fields!QTDE_REA.Value) * (IIF(Sum(Fields!QTDE_RET.Value)=0,1,Sum(Fields!QTDE_RET.Value)) ^- 1))
                                                    ) <= 94, "Yellow", "Red")
))))

I have made some tests and I believe I have found a solution. Thanks.

Field Value

=IIF(
     Sum(Fields!QTDE_RET.Value) = 0,
    (Sum(Fields!QTDE_REA.Value) * (IIF(Sum(Fields!QTDE_MET.Value)=0,1,Sum(Fields!QTDE_MET.Value)) ^- 1)),
    (Sum(Fields!QTDE_REA.Value) * (IIF(Sum(Fields!QTDE_RET.Value)=0,1,Sum(Fields!QTDE_RET.Value)) ^- 1))
)

Color Fill

=IIF(ReportItems!txtb_PerRea.Value >= 1.12, "Blue",
(IIF(ReportItems!txtb_PerRea.Value >= 0.95 AND ReportItems!txtb_PerRea.Value < 1.12, "Green", 
(IIF(ReportItems!txtb_PerRea.Value >= 0.81 AND ReportItems!txtb_PerRea.Value < 0.95, "Yellow", "Red")
))))

Color Font

=IIF(ReportItems!txtb_PerRea.Value >= 1.12, "White",
(IIF(ReportItems!txtb_PerRea.Value >= 0.95 AND ReportItems!txtb_PerRea.Value < 1.12, "White", 
(IIF(ReportItems!txtb_PerRea.Value >= 0.81 AND ReportItems!txtb_PerRea.Value < 0.95, "Black", "White")
))))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM