У меня есть существующая функция, и это работает, но я хотел бы добавить условие, в котором оно также удалит поле "".Код VBA SSRS для удаления пустых полей и дубликатов
Public Shared Function RemoveDuplicates(ByVal items As Object()) As String()
System.Array.Sort(items)
Dim k As Integer = 0
For i As Integer = 0 To items.Length - 1
If i > 0 AndAlso items(i).Equals(items(i - 1)) Then
Continue For
End If
items(k) = items(i)
k += 1
Next
Dim unique As [String]() = New [String](k - 1) {}
System.Array.Copy(items, 0, unique, 0, k)
Return unique
End Function
Короче говоря, я использую это в Lookupset
=Join(Code.RemoveDuplicates(LookupSet(Fields!Fund_Family.Value &Fields!Portfolio_Company_Name.Value,Fields!Fund_Family.Value & Fields!Portfolio_Company_Name.Value,Fields!Security_Name.Value, "DataSet1")), "/")
В основном я получаю результат, который выглядит следующим образом: /Партнеры /Орхидеи Twentysomething
Пожалуйста ПОМОГИТЕ!
Не можете ли вы добавить 'AND элементы (i)! =" "' В ваш оператор IF? – StevenWhite
Общественные Общие функции RemoveDuplicates (ByVal элементы в качестве объекта()) As String() System.Array.Sort (элементы) дим к As Integer = 0 Для я As Integer = 0 To items.length - 1 Если я> 0 AndAlso элементы (I) .equals (пункты (я - 1)!) И детали (я) = "" Тогда Продолжить Для End If элементов (к) = пункты (I) к + = 1 Следующая Dim unique As [String]() = New [String] (k - 1) {} System.Array.Copy (items, 0, unique, 0, k) Возврат уникального Конечная функция Это заблуждение для меня , – a415
О, да, в VBA оператор неравенства '<>'. Но, глядя на это снова, мы хотим, чтобы это было условие «ИЛИ». Другими словами, если он пустой, пропустите его. – StevenWhite