Pergunta

Eu quero perguntar como adicionar uma coluna calculado em BIRT que calcular um número para sua representação palavra? (Ex. 100 a "cem") Então, no meu conjunto de dados que eu possa ter uma coluna que detém a cadeia

Eu sou novo no BIRT espero que há um ponteiro ou dois para me

Foi útil?

Solução

Estou ciente isto é um post antigo, mas se você ainda estiver interessado, este é como eu iria fazer sobre isso:

Adicionar um script ou frasco que contém uma função / método que converter um número em uma representação textual. Para fazer isso, por exemplo, criar um arquivo-server-side utilities.js e no separador 'Resource Explorer' adicionar o recurso. Em seguida, no 'editor de propriedades' para o próprio relatório, clique na guia 'recursos' e adicione o arquivo JS.

Editar seguida, o arquivo JS para incluir uma função que converte um número para texto e salvá-lo. Então, em seu conjunto de dados de diálogo Adicionar uma coluna computada, nomeia-o, set tipo de dados a corda, e definir a expressão para chamar a função definida, passando para a função o valor da coluna relevante, por exemplo, convertNumberToText(row["NUMERIC_COL"]).

A implementação parcial de convertNumberToText() poderia ser:

function convertNumberToText(number)
{
  var text;

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

  return text;
}

Outras dicas

Na verdade, eu vou oferecer uma outra solução, mesmo que esta questão tem uma resposta aceita.

Criar uma tabela de conversão no próprio banco de dados ao longo das linhas de:

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

e usar apenas uma consulta (ou sub-consulta ou implícita / explícita juntar) para recuperar o valor textual do número que você está interessado.

Isso simplifica muito o código para fora no cliente com o custo de armazenamento mínimo e um pouco da tabela set-up.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top