2009-06-16 8 views
8

Trong một báo cáo rdlc tôi muốn so sánh các số nguyên nhưsử dụng biểu thức rdlc?

if(expression) 
{ 
    // do something 
} 
else if(expression) 
{ 
    // do something else 
} 

cú pháp cho việc này là gì?

Trả lời

6

Bạn sẽ phải báo cáo IIF tổ như thế này:

= IIF (expression = 1, "Is 1", IIF (expression = 2, "Is 2")) 
+0

thannks bây giờ nếu tôi muốn so sánh chuỗi sau đó? những gì tôi làm .... như int Tổng số = 0 nếu (expression == "Good") thì TotalIncrease – Shamim

+0

Bạn không thể có biến theo nghĩa đó. Bạn sẽ làm tổ 'IIF' trong hàm SUM hoặc một số hàm tổng hợp khác ... = Tổng (IIF (biểu thức = "Tốt", 1, 0)). Một cái gì đó dọc theo những dòng đó. –

37

Thay vì sử dụng lồng nhau IIF câu tôi thích Chuyển tuyên bố.

Từ MSDN ...

=Switch(
    Fields!PctComplete.Value >= 10, "Green", 
    Fields!PctComplete.Value >= 1, "Blue", 
    Fields!PctComplete.Value = 1, "Yellow", 
    Fields!PctComplete.Value <= 0, "Red" 
    ) 

Hy vọng nó giúp :)

+0

Cảm ơn đó là công việc Bây giờ tôi có một vấn đề khác hy vọng bạn giúp tôi ... Tôi có ba loại bảng LIKE: GOOD, REMOVED, NOTFOUND ..... tôi muốn có một báo cáo về rdlc cho tôi thấy loại bảng như sau Thana Good Removed NotFound A 5 2 4 B 4 1 0 làm cách nào tôi có thể làm điều đó – Shamim

+0

Tôi không hoàn toàn chắc chắn ý bạn là gì? Bạn có thể thuật lại câu hỏi theo bất kỳ cách nào, ví dụ của bạn đã mất định dạng của nó vì nhận xét của nó. –

1

Đây là cú pháp cho yêu cầu của bạn:

=IIf(CInt(Fields!expression1.value)==1,true,IIf(Cint(Fields!expression2.value)==2,true,nothing)) 

Trong phần đúng, bạn có thể xác định tuyên bố sẽ được thực hiện.

1

Sử dụng nút chuyển để thay thế. Tôi biết tôi đã đến trễ ở đây, nhưng hy vọng rằng nó có thể giúp một ai đó.

=Switch(Fields!Parameter.value = 2,"somethingnew", 1=1 ,"somethingelse") 

1 = 1 là mặc định trong trường hợp chuyển đổi.

Nó tương tự như

if(Parameter.Value == 2) 
{ 
somethingnew 
} 
else 
{ 
somethingelse 
}