Wednesday 2 August 2017

Mudança De Média De Transbordamento


Meu objetivo é obter uma média ponderada de uma tabela, com base em outra tabela de chave primária. Eu preciso obter uma média ponderada com base no comprimento de um segmento e preciso ignorar valores de -1. Eu sei como fazer isso em SQL, mas meu objetivo é fazer isso no LINQ. Parece algo assim no SQL: ainda sou muito novo para o LINQ, e tendo dificuldade em descobrir como eu traduziria isso. A média ponderada do resultado deve chegar a cerca de 55,3. Obrigado. Perguntei 26 de abril 10 às 15:23 Eu faço isso o suficiente para criar um método de extensão para o LINQ. Depois de obter o subconjunto de dados, a chamada parece assim. Isso se tornou extremamente útil porque eu posso obter uma média ponderada de qualquer grupo de dados com base em outro campo dentro do mesmo registro. Verifique agora a divisão por zero e lance uma exceção mais detalhada ao invés de retornar 0. Permite que o usuário capture a exceção e manipule conforme necessário. Se você está certo de que, para cada chave estrangeira na Tabela 2, há um registro correspondente na Tabela 1, então você pode evitar a junção apenas fazendo um grupo. Nesse caso, a consulta LINQ é assim: é assim que você pode obter a média de uma chave estrangeira específica. O método ToList chamado ao buscar os registros é evitar a execução da consulta duas vezes ao agregar os registros nas duas operações de Soma separadas. Eu tenho essencialmente uma tabela de números - uma série de medidas de tempo. Cada linha na tabela tem 5 valores para as 5 categorias diferentes e uma linha de soma para o total de todas as categorias. Se eu tomar a média de cada coluna e somar as médias em conjunto, deve igual a média das somas das linhas (ignorando o erro de arredondamento, é claro) (Ive obteve um caso em que os dois valores continuam a sair diferentes por cerca de 30 e eu estou me perguntando Quão louco eu estou.) Atualização: veja abaixo: Fui (ligeiramente) louco e tive um erro no meu código. Suspiro Encontrou o meu problema - foi um erro estúpido de dupe no meu código. Eu estava procurando um erro na média da lógica de somas, mas era na soma das médias de lógica - referenciando a variável errada. Bem, de qualquer forma, demonstramos cerca de 5 maneiras de domingo de que a soma das médias é realmente igual à média dos somas, caso isso seja importante para qualquer um no futuro. Respondeu 6 de fevereiro às 17:19 Talvez isso devesse ser uma atualização da pergunta. De qualquer forma, é bom. Além disso, certifique-se de aceitar uma resposta agora que seu problema foi resolvido. Ndash Zev Chonoles 7 de fevereiro 12 às 2:15 Geralmente não é correto, é apenas o mesmo em casos específicos. Soma (x) Soma (y) não igual a Soma (xy) n onde n é o total de entradas x são entradas de linha e y são entradas de coluna. Só é verdade se todos os e são iguais, por exemplo: (12 35) 2 1120 (13) (25) 47 Onde, como se y é igual (17 47) 2 514 (14) (77) 514 PS Desculpe por publicar no fio morto Só quero que seja certo para qualquer outra pessoa que esteja olhando. Na verdade, Steve poderia estar correto. Eu vou dar um exemplo simples e depois explicar por que as pessoas inteligentes podem encontrar respostas diferentes porque, de certa forma, estão ambos certos. Primeira linha: 5 6 Segunda linha: 1 2 Terceira linha: 3 4 Se você fizer a soma das médias ou da média das somas, como Daniel perguntou, então você receberá 7 como a resposta. Se, no entanto, você remove o 1 deixando um buraco na sua mesa, então sua média de somas cai para 6 23 e sua soma das médias aumenta para 8. Se sua tabela de dados tiver pontos em branco ou falta de dados, então os dois são Quase nunca é o mesmo. Se a tabela de dados for distribuída uniformemente sem pontos ou furos faltantes na tabela, eles devem sempre ser os mesmos. Qualquer um pode testar isso com MS Excel e a função RAND (). Gere uma tabela com qualquer número de colunas de linhas e preencha as linhas e colunas com números aleatórios ou deixe-o gerar números aleatórios para você. Em seguida, use a média () para a média das colunas e SUM () para somar as médias. Em seguida, inverta o processo e use SUM () para adicionar as linhas e MÉDIA () para calcular as somas. Se a tabela estiver completa, os dois números serão exatamente os mesmos. Se, no entanto, seus dados, por qualquer motivo, estão faltando entradas, então ele pode variar de uma grande porcentagem. Basta começar a excluir pontos de dados no meio da mesa e observar os dois resultados muito flutuam. Também de notas é se você virar as linhas e colunas, então você obtém resultados completamente diferentes, então fique certo de que você é consistente. Se você classificar as linhas no exemplo acima e somar as médias, ou somar as colunas e a média das somas, então você recebe 10,5 com uma tabela completa e 11 e 10, respectivamente, com a 1 em falta. Respondeu 6 de agosto às 21:40 Note que o OP escreveu em um dos comentários que não há espaços em branco na tabela. Observe também que, se a resposta de Steve for excluída, ninguém saberá o que sua primeira frase significa. Ndash Gerry Myerson 7 de agosto 12 às 1:04 matemática mista está correta. Pegue 3 colunas 10 10s, 5 1s e 2,3,5,6,6,7,9,10 (8 valores de rand), sem espaços em branco médios. Avg de avgs é 5,67 avg de todos os valores é 6,65. Matemática mista é bom para responder um fio antigo. Esta coisa, verdade ou verdade, vive para sempre na internet

No comments:

Post a Comment