número BIRT a palavra como coluna computada
-
18-09-2019 - |
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
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.