2009-11-06 2 views
2

Я хочу спросить, как добавить вычисленный столбец в BIRT, который вычисляет число для его представления слов? (напр. 100 для «сто») Таким образом, в моем наборе данных я могу иметь столбец, который содержит строкуBIRT number to word как вычисленный столбец

Я новичок в BIRT надеюсь, есть указатель или два для меня

ответ

2

I я знаю, что это довольно старый пост, но если вы все еще заинтересованы, вот как я это делал:

Добавить скрипт или банку, содержащую функцию/метод, которая преобразует число в текстовое представление. Для этого, например, создайте файл server-side-utilities.js и на вкладке «Проводник ресурсов» добавьте ресурс. Затем в редакторе свойств для самого отчета щелкните вкладку «ресурсы» и добавьте этот JS-файл.

Затем отредактируйте файл JS, чтобы включить функцию, которая преобразует число в текст и сохраняет его. Затем в диалоговом окне набора данных добавьте вычисленный столбец, назовите его, установите тип данных в строку и установите выражение для вызова определенной функции, передав функции значение соответствующего столбца, например. convertNumberToText(row["NUMERIC_COL"]).

Частичная реализация convertNumberToText() может быть:

function convertNumberToText(number) 
{ 
    var text; 

    switch (number) 
    { 
    case 1: 
    { 
     text = "One"; 
     break; 
    } 
    default: text = "Unsupported number"; 
    } 

    return text; 
} 
0

На самом деле, я собираюсь предложить другое решение, хотя этот вопрос имеет общепринятый ответ.

Создать таблицу преобразования в самой базе данных по линиям:

number as_one  as_first 
------ ----------- ------------ 
    1 one   first 
    2 two   second 
    99 ninety-nine ninety-ninth 

и просто использовать запрос (или подзапрос или неявное/явное соединение), чтобы получить текстовое значение числа вас»

Это значительно упрощает код на клиенте за счет минимального хранения и немного настройки таблицы.

Смежные вопросы