Добавить нули к производному столбцу ssis - PullRequest
0 голосов
/ 18 декабря 2018

Привет. Я загружаю данные из плоского файла в свою таблицу через службу SSAS. Я хочу получить условный столбец для добавления нулей к числовым данным в столбце почтового индекса, если длина <5 <br>Выражение производного столбца, которое я использую: (CustomerZipCode! = "[A-Za-z]") && (LEN (CustomerZipCode) <5)?ВПРАВО (("00000" + CustomerZipCode), 5): CustomerZipCode </p>

ForExample вышеприведенное выражение не работает, просьба направлять меня

Спасибо.

1 Ответ

0 голосов
/ 20 декабря 2018

Это для SSIS?Мой последний ответ предполагал, что это столбец SSAS из-за тега SSAS.Если это загрузка даты через SSIS, вы можете использовать компонент Script для этого вместо производного столбца.В приведенном ниже примере используется C #, и столбец CustomerZipCode необходимо добавить на панель «Столбцы ввода» с типом использования ReadWrite.Метод TryParse проверяет, является ли столбец числовым, и возвращает false, если столбец содержит какой-либо текст.Конструктор String используется для создания строки zeroesToAppend, для которой установлено число нулей ниже 5, равное длине столбца, и после этого оно добавляется в начало столбца.Это будет сделано в методе Input0_ProcessInputRow, который выполняется один раз для каждой строки из ввода.

public override void Input0_ProcessInputRow(Input0Buffer Row)
{
    int i;
    if (int.TryParse(Row.CustomerZipCode, out i) && Row.CustomerZipCode.Length < 5)
    {
        string zeroesToAppend = new String('0', 5 - Row.CustomerZipCode.Length);

        Row.name = String.Concat(zeroesToAppend, Row.CustomerZipCode);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...