Split an expression in RDLC report - reporting-services

Tool: Microsoft Visual Studio 2013
I have an RDLC textbox expression where I want to split it based on ',' separated values and display those values in new line. For Example,
Value : Abc, Xyz, STU
The above value need to be displayed as :
Abc
Xyz
STU
I have tried the below expression:
IIf((Split(Parameters!rpField.Value,",").Length = 2),
Split(Parameters!rpField.Value, ",").GetValue(0) +System.Environment.NewLine+ Split(Parameters!rpField.Value,",").GetValue(1), "")
The result is #Error.
How can I accomplish this in SSRS?

Using the same structure you proposed, this worked for me:
=Split(CStr(Parameters!rpField.Value), ",").GetValue(0)

It looks like you just want to replace the commas with new lines, if you want them all in the same textbox?
If that is the case, you can simply use replace:
=replace("Abc, Xyz, STU", ", ", vbcrlf)

Have done it using Instr function and replaced ',' with NewLine as below:
=IIF(Parameters!rpField.Value <> "" ,iif(Instr(Parameters!Field.Value, ",") > 0 ,
" "+Replace(Parameters!rpField.Value,",",System.Environment.NewLine) +System.Environment.NewLine,
" "+Parameters!Field.Value+ System.Environment.NewLine) ,"")

Try this:
=JOIN(Split(Parameters!rpField.Value,","), System.Environment.NewLine)

Related

Google Sheet Query and ImportHTML Function show numerical values as text

I'm importing some data using the formula below but the numerical values appear as =1599 (for example) and are being treated as text (ie cannot use them in a formula).Does anyone know how to substitute the "=" to "" in the table? The numerical values are in column H.
={QUERY(IMPORTHTML("https://1234567.website.com","table",0), "where Col1 is not null",1)}
I tried wrapping in:
SUBSTITUTE( ... ,"=","")
ARRAYFORMULA(SUBSTITUTE( ... , "=","")
TO_PURE_NUMBER(
Nothing works. Is there a way to apply one of these solutions only to the columns with numerical values?
Try iferror() and regexextract(), like this:
=arrayformula(
lambda(
data,
iferror(value(regexextract(data, "[-.\d%]+")), data)
)(
importhtml("https://1234567.website.com", "table", 0)
)
)

How do I build an SSRS expression for the NoRowsMessage that shows report parameter values?

How do I build an SSRS expression for the NoRowsMessage that shows report parameter values?
something like:
="No locations were found for this street name : " + #StreetName
I have also tried this:
="No locations were found for this street name : " + Parameters!StreetName.Value
The second attempt worked fine:
="No locations were found for this street name : " + Parameters!StreetName.Value
I can add in carriage returns also as per this article which suggests the use of vbcrlf
=vbcrlf + "No locations were found for this street name : " + Parameters!StreetName.Value

IsNothing not working as expected in SSRS expression

I have a textbox that contains 2 fields with names in them, but the 2nd field can be empty. If there are 2 names I want it to display like this:
[name1], [name2]
if there is 1 name I want to display it like this:
[name1]
I have tried these 2 expressions:
=IIF(Fields!name2.Value Is Nothing, "", (", " + Fields!name2.Value))
=IIF(IsNothing(Fields!Joint_Name.Value), "", (", " + Fields!Joint_Name.Value))
however, in both cases if the 2nd name is blank it displays:
[name1],
any ideas how to get rid of that comma?
NULLs in your dataset usually come in as "".
=IIF(Fields!name2.Value = "", "", (", " + Fields!name2.Value))
I always recommend casting your Fields to the data type you intend to work with. A lot of the time the values come through in an unexpected data type and cause script errors.
=IIF(CSTR(Fields!name2.Value) = "", "", (", " + CSTR(Fields!name2.Value)))

Advice on an expression to trim text

I'm having some data coming through in an SSRS report as:
Mr John Smith (12, Livia Close, Anytown, 125765)
Can anyone advise on how I can remove the 'Mr John Smith' part and also the brackets around the address? I would like to just have:
12, Livia Close, Anytown, 125765
Any advice appreciated. Thanks.
Assuming your field is called Address use the following expression:
=Mid(Fields!Address.Value, InStr(Fields!Address.Value, "(") + 1, InStr(Fields!Address.Value, ")") - InStr(Fields!Address.Value, "(") - 1)

Razor, output values from comma separated list

New to razor syntax. I have a comma separated list, #item.profilePosition that appears like this: item1,item2,item3.
I need to output the list in a class like this class="item1 item2 item3. Would I need to create an array with split?
#string.Join(" ", item.profilePosition.Split(','))
Assuming that #item.profilePosition is a string, could you just replace the commas with spaces?
class="#item.profilePosition.Replace(",", " ")"