Usuário com melhor resposta
Diferença de valores entre ultima e penultima coluna de um datagrid

Pergunta
-
Olá
Em um DataGrid são exibidos dados em colunas, com nomes e valores.
Gostaria de exibir a diferença de valores em porcentagem, entre o ultimo e o penúltimo valor.
Ex.:
Nome: Valor: Diferença:
Produto1 R$ 5,00 -
Produto1 R$ 6,00 20%
Produto1 R$ 6,72 12%
Produto1 R$ 5,51 -18%
Como posso pegar "TotalUnt" - "TotalUnt da coluna anterior", usando
Dim sql As String = "SELECT C, TotalUnt as [R$ UNT], TotalUnt * ????? /100 as [R$ Difer.] FROM HistPrecos WHERE CodProduto LIKE '" & txtCodeProd.Text.Trim & "'"
Desde já agradeço.
Dim sql As String = "SELECT C, TotalUnt as [R$ UNT], ????? as [R$ Difer.] FROM HistPrecos WHERE CodProduto LIKE '" & txtCodeProd.Text.Trim & "'"
Dim sql As String = "SELECT C, TotalUnt as [R$ UNT], ????? as [R$ Difer.] FROM HistPrecos WHERE CodProduto LIKE '" & txtCodeProd.Text.Trim & "'"
Respostas
-
Boa tarde,
Por falta de retorno do usuário, esta thread será encerrada.
Caso seja necessário, por gentileza, abra uma thread nova.
Atenciosamente
Marcos Roberto de Souza Junior
Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Marcos SJ quinta-feira, 10 de dezembro de 2015 19:12
Todas as Respostas
-
-
Olá Eduardo
Agradeço pela interesse em me ajudar.
Possuo um histórico de preços onde cada vez que compro um produto eu cadastro o novo preço. Assim fica uma lista com os precos e as datas das compras. Então eu gostaria de obter a diferença entre a penúltima e a ultima compra. Ex.: Se eu comprei dia 10/10 R$ 5,00 e agora 29/10 R$ 6,00 então a diferença seria de 20%, dai ficaria assim:
Produto Valor Data Diferença
Produto1 R$ 5,00 10/10 -
Produto1 R$ 6,00 29/10 R$ 1,00Oque preciso é pegar o valor da penultima linha (R$ 5,00) menos o valor da ultima (R$ 6,00), dando a diferença de R$ 1,00. Obs.: Estas tabelas teriam diversas colunas e todas precisariam pegar o valor da antecessora.
-
-
drop table #HistPrecos go create table #HistPrecos (id int, Nome varchar(50), Valor float) Go insert into #HistPrecos (id, nome,valor) select 1,'Prod1', 5 union all select 2,'Prod1', 6 union all select 3, 'Prod1', 6.72 union all select 4,'Prod1', 5.51 go with rows as( select row_number()over(order by id)as rownum, Nome,Valor from #HistPrecos) select rowsMinusOne.nome, rowsMinusOne.Valor, ISNULL(rowsMinusOne.Valor - rows.Valor,1)as diferenca from rows as rowsMinusOne left outer join rows on rows.rownum = rowsMinusOne.rownum - 1
resultado:
Prod1 5 1
Prod1 6 1
Prod1 6,72 0,72
Prod1 5,51 -1,21att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Sugerido como Resposta Marcos SJ quarta-feira, 4 de novembro de 2015 13:38
-
-
Olá Eliseu5,
Já conseguiu uma solução para este tópico?
Marcos Roberto de Souza Junior
Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
Boa tarde,
Por falta de retorno do usuário, esta thread será encerrada.
Caso seja necessário, por gentileza, abra uma thread nova.
Atenciosamente
Marcos Roberto de Souza Junior
Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Marcos SJ quinta-feira, 10 de dezembro de 2015 19:12