SSRS Expression Help

Could anyone help me figure out how to perform these expressions in SSRS?  They were originally in Crystal Syntax:

truncate({CHECKMAST.CHECKAMT});
replicatestring("0", 8 - length(totext(dollars, 0, "", "")));
LVL 2
chrisryhalAsked:
Who is Participating?
 
jgvConnect With a Mentor Commented:
This should do it. Based on what I am seeing in your crystal formula, this should roll the calculation for "dollars" and "dollarfill" into one expression.
=Strings.StrDup(8 - Math.Truncate(Fields!CHECKAMT.Value).ToString.Length, "0")
0
 
jgvCommented:
For the truncate: Math.Truncate(Fields!ANumberField.Value)
To replicate a character: Strings.StrDup(8, "0")

Not entirely sure how to convert the second line fully. It would help to see an example of what the value would look like before and after in crystal
0
 
mlmccCommented:
0
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

 
jgvCommented:
Thanks mlmcc. The questions are related but there are some differences. Stepping out on a limb (and not being entirely sure of the output of the "totext" function) the SSRS translation would be:
=Strings.StrDup(8 - Math.Truncate(Fields!CHECKAMT.Value).ToString.Length, "0")

chrisryhal, if this is not what you are looking for you will need to follow up. Again, it's helpful to see what the value would be before and after.
0
 
mlmccCommented:
As used the ToText function converts the dollar figure to text with 0 decimal places and no thousand separator.

Check the VB CStr or ToText function.

mlmcc
0
 
jgvCommented:
Based on your explanation my last example should work then. I'm aware of the CStr function in VB but I haven't seen "ToText" in VB or .NET (just looked). Perhaps in a library/assembly that has to be loaded first?
0
 
mlmccCommented:
ToText is prpobabl;y the Crystal functiion for CStr.

mlmcc
0
 
chrisryhalAuthor Commented:
Below is the entire Crystal Syntax.  I seem to be OK until it gets to the "dollarfill" in the expression which is what I don't understand how to do in SSRS.




stringvar transaction;
stringvar action;
 
stringvar acctnumfill := replicatestring("0", 10 - length({CHECKMAST.BANKACCTNUM}));
stringvar checknumfill := replicatestring("0", 10 - length(totext({CHECKMAST.CHECKNUM}, 0, "", "")));
numbervar dollars := truncate({CHECKMAST.CHECKAMT});
numbervar cents := truncate((remainder({CHECKMAST.CHECKAMT},1) * 100),2);
stringvar dollarfill := replicatestring("0", 8 - length(totext(dollars, 0, "", "")));
stringvar centfill := replicatestring("0", 2 - length(totext(cents, 0, "", "")));
 
 
 
"876" + acctnumfill + {CHECKMAST.BANKACCTNUM} + " " + transaction + action + 
" " + checknumfill + totext({CHECKMAST.CHECKNUM}, 0, "", "") + 
dollarfill + totext(dollars, 0, "") + centfill + totext(cents, 0, "") +
totext({CHECKMAST.CHECKDATE}, "MMddyy") +
"                                  "

Open in new window

0
 
chrisryhalAuthor Commented:
jgv:   StrDup is an unrecognized identifier
0
 
chrisryhalAuthor Commented:
jgv:   nevermind, I got it.  

StrDup(8 - Math.Truncate(Fields!CHECKAMT.Value).ToString.Length, "0")

Appears to of worked!!!

THANK YOU THANK YOU
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.