Jump to content

Retirar valores duplicado do Chart


Eliezer

Recommended Posts

Olá gostaria de saber como fazer para remover valores duplicado do chart e fazer com que os valores que esta duplicado apareca na label do topo de uma unica coluna do Chart que esta duplicada, exemplo: eu tenho 15 produtos no banco de dados sendo que 10 desses produtos são o mesmo produto ai todos esses produtos iguais aparece no grafico 1 em cada coluna, eu quero que eles apareca em uma unica coluna e no rotulo na label que fica no topo da coluna mostre a quantidade desses produtos que tem no banco de dado, estou alimentando o Chart com banco de dado access se alguem poder me ajudar agradeço muito.

                    Conectar.Open()
                    Dim sql As String = "select * from Desvios where id"
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, Conectar)
                    Dim dr As OleDbDataReader = cmd.ExecuteReader
                    If dr.HasRows Then
                        While dr.Read

                            Chart1.Series("Desvios").Points.AddXY(dr("Produto").ToString, dr.Item("id").ToString)

                       End While

                    End If
Link to comment
Share on other sites

10 horas atrás, Eliezer disse:

Olá gostaria de saber como fazer para remover valores duplicado do chart e fazer com que os valores que esta duplicado apareca na label do topo de uma unica coluna do Chart que esta duplicada, exemplo: eu tenho 15 produtos no banco de dados sendo que 10 desses produtos são o mesmo produto ai todos esses produtos iguais aparece no grafico 1 em cada coluna, eu quero que eles apareca em uma unica coluna e no rotulo na label que fica no topo da coluna mostre a quantidade desses produtos que tem no banco de dado, estou alimentando o Chart com banco de dado access se alguem poder me ajudar agradeço muito.

                    Conectar.Open()
                    Dim sql As String = "select * from Desvios where id"
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, Conectar)
                    Dim dr As OleDbDataReader = cmd.ExecuteReader
                    If dr.HasRows Then
                        While dr.Read

                            Chart1.Series("Desvios").Points.AddXY(dr("Produto").ToString, dr.Item("id").ToString)

                       End While

                    End If

Quando pretende que um numero repetido de produtos apareçam uma única vez, na consulta sql tem de fazer o GROUP BY, em que se seleciona todos os registos agrupados.

https://www.w3schools.com/sql/sql_groupby.asp

  • Vote 1
Link to comment
Share on other sites

olá Cerzedelo eu tinha feito com o Group BY tambem mas mesmo assim deu o mesmo resultado     

Using Conectar As OleDbConnection = GetConnection_BD_NatuSystem_Site1_GQ_Nao_Conformidades()

                Try

                    Conectar.Open()
                    Dim sql As String = "SELECT Produto FROM Desvios GROUP BY Produto"
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, Conectar)
                    Dim dr As OleDbDataReader = cmd.ExecuteReader

                    If dr.HasRows Then


                        While dr.Read

                            Chart1.Series("Desvios").Points.AddXY(dr("Produto").ToString, dr.Item("id").ToString) 

                       End While

 Catch ex As Exception
                Finally
                    Conectar.Close()
                End Try
            End Using

                 

Edited by Eliezer
Link to comment
Share on other sites

10 horas atrás, Eliezer disse:

olá Cerzedelo eu tinha feito com o Group BY tambem mas mesmo assim deu o mesmo resultado     

Using Conectar As OleDbConnection = GetConnection_BD_NatuSystem_Site1_GQ_Nao_Conformidades()

                Try

                    Conectar.Open()
                    Dim sql As String = "SELECT Produto FROM Desvios GROUP BY Produto"
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, Conectar)
                    Dim dr As OleDbDataReader = cmd.ExecuteReader

                    If dr.HasRows Then


                        While dr.Read

                            Chart1.Series("Desvios").Points.AddXY(dr("Produto").ToString, dr.Item("id").ToString) 

                       End While

 Catch ex As Exception
                Finally
                    Conectar.Close()
                End Try
            End Using

                 

Atente bem no exemplo que lhe indiquei, em que se selecciona os países agrupando-os e conta o id dos costumers, e o resultado é o número de costumers por cada país.

Se o id do produto for o mesmo nas repetições, ao aplicar o group by o que vai acontecer é o resultado devolvido irá ser o nome do produto e o número de vezes que aparece repetido na tabela desvios.

Depois é passar essa informação para o gráfico.

  • Vote 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.