KB-86136: Exibindo o Conjunto de Valores do objeto Fórmula utilizando transposição de linhas em colunas.

Descrição:

É possível exibir o Conjunto de Valores, disponíveis na aba Valores da Fórmula, em uma tabela? O E3Browser deverá exibir os itens no seguinte formato:

 

 

A aba Valores da Fórmula possui a seguinte configuração:

 

Solução:

Ao inserir um objeto Fórmula, o Elipse E3 automaticamente cria quatro tabelas para armazenar sua configuração: TableName_Units, TableName_UnitData, TableName_Values, e TableName_ValueData.

Para exibir o nome do conjunto de valores e o respectivo valor, será preciso unir as tabelas TableName_Values e TableName_ValueData. Além disto, é necessário realizar uma transposição nos dados, e para isso utilizaremos o comando PIVOT.

Primeiramente vamos unir as tabelas:

SELECT Formula_Values.Name as Formulas, Formula_ValueData.Value as Valores, Formula_ValueData.TemplateID as TempID
FROM Formula_Values
JOIN Formula_ValueData
ON Formula_Values.ID  = Formula_ValueData.ValueID

 

Após unir as tabelas, os dados do campo TempID serão convertidos em duas colunas:

SELECT Formulas, [1] as Campo1, [2] as Campo2
FROM (
SELECT Formula_Values.Name as Formulas, Formula_ValueData.Value as Valores, Formula_ValueData.TemplateID as TempID
FROM Formula_Values
JOIN Formula_ValueData
ON Formula_Values.ID = Formula_ValueData.ValueID
)AS S
PIVOT (
MIN (S.Valores)
FOR S.TempID IN ([1], [2])
) AS PVT

Desta forma, a tabela é transposta, contendo o nome e o valor do conjunto de valores.

 

NOTA: Neste exemplo, foi utilizado um banco de dados  SQL Server 2014.
Não aconselhamos usar instruções equivalentes (por exemplo: Transform/Pivot) em outros tipos de bancos de dados para obter esse resultado.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *