Ошибка типа: невозможно вызвать метод "indexOf" со значением NULL - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь найти записи, содержащие «SO -», «NS-SO», «SO -» или «SWAT» в поле «RESUMEN», из файла CSV, чтобы назначить новую категорию (в этомслучаи будут "колл-центр").Итак, я использовал функцию «indexOf», ведьма работала так хорошо.

Проблема возникает, когда я меняю источник данных (это тоже CSV), это дало мне следующую ошибку на этом шаге: «Причина: org.mozilla.javascript.EcmaError: TypeError: Невозможно вызвать метод»indexOf "of null (script # 2)"

Цель состоит в том, чтобы назначить категорию путем идентификации слов в исходном файле

Мой код

if (RESUMEN.indexOf("SO -")!=-1 || RESUMEN.indexOf("NS - SO")!=-1 || RESUMEN.indexOf("SO –" )!=-1 || RESUMEN.indexOf("SWAT")!=-1)
{
var RESULTADO = "Call Center"
}
else RESULTADO = ""

Я ожидаюназначить категорию центра обработки вызовов, как я получил с первым файлом (я ничего не изменил)

regards!

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

Как уже указывалось в другом ответе, вы можете достичь одного и того же результата с помощью разных шагов, вам не нужен шаг javascript.

Но, если вы хотите пойти по этому пути, вы должны сначала преобразовать нулевые значения, например, в пустые строки.

Просто добавьте это в начало вашего кода JavaScript:

if (!RESUMEN){ RESUMEN = ''}

Это преобразует нули в пустые строки, а затем indexOf возвращает правильно.

0 голосов
/ 23 апреля 2019

Вы слишком усложняете проблему.

Прежде чем ответить, запомните что-то, есть несколько шагов и комбинаций шагов, которые позволяют достичь невероятного количества преобразований, чтобы сделать пригодные для использования шаблоны, последнийresort IS Определяемое пользователем выражение Java.

Похоже, что вы хотите достичь сопоставления значений, в отличие от карты прямого значения в вашем случае, то, что строка, которую вы тестируете, должна содержать«SO -» и другие случаи, где-то в тексте.

enter image description here

С помощью этого простого фильтра вы можете преобразовать свои данные, содержащие эту информациюпо своему желанию и со стороны «ЛОЖЬ» обработайте его на предмет ошибок.

Это немного расширит ваше преобразование, но когда вам нужно что-то изменить, это будет легче, чем за один шаг с большим количествомкода.

...