[Rio-pm] Fwd: [phprio] [OT] referencias lado a lado de: PHP, Perl, Python, Ruby

Stanislaw Pusep creaktive em gmail.com
Domingo Agosto 14 14:43:15 PDT 2011


Eden, primeiramente, peço desculpas pela acidez excessiva. Quero ficar no
lado básico do pH :)
Eu não sei o que você entendeu como "pivot table", vamos dar um sync:

tipo dia quantidade
onibus 1 5
bike 1 3
onibus 1 2
carro 2 7
onibus 2 4
moto 2 3
bike 2 9

Esse é o meu input.

 dia1 dia2 total
bike 3 9 12
carro 0 7 7
moto 0 3 3
onibus 7 4 11

Esse seria o output, agregado por soma.
Como você imagina a query para fazer isso, em SQL puro?

ABS()



2011/8/14 Eden Cardim <edencardim em gmail.com>

> >>>>> "Stanislaw" == Stanislaw Pusep <creaktive em gmail.com> writes:
>
>     Stanislaw> Mas é claro.  Hipótese: Camada de abstração por cima do
>    Stanislaw> SQL é tão pífia quanto um debugger via breakpoints:
>    Stanislaw> somente ajudam nas coisas triviais que sabemos muito bem
>    Stanislaw> resolver sem eles.
>
> Ah, excelente, não estou de ressaca, é você que está desinformado. O
> DBIx::Class é um framework mais amplo do que uma mera "abstração por
> cima do SQL". Quem abstrai o SQL não é o DBIx::Class, é o SQL::Abstract,
> que é só uma das implementações de storage pra DBIx::Class.
>
>    Stanislaw> Caso particular: Quero implementar algo tão trivial
>    Stanislaw> quanto uma pivot table, que existe em qualquer solução de
>    Stanislaw> planilha, até mesmo Google Docs
>    Stanislaw> (http://www.youtube.com/watch?v=giuD7KSmock).  Em SQL
>    Stanislaw> "puro", resolvo satisfatoriamente numa única query,
>    Stanislaw> através de uma "delta function".
>
> É isso que dá beber metanol, não precisa de uma delta function pra
> implementar pivots, isso é uma agregação simples implementável com uma
> linha de SQL::Abstract:
>
> { select => [{ sum => 'column1' }, { avg => 'column2' }], group_by =>
> [qw(column1 column2)] }
>
>    Stanislaw> Já usando DBIx::Class... Bem, ele não
>    Stanislaw> conseguiu:
> http://www.grokbase.com/t/lists.scsys.co.uk/dbix-class/2011/03/
>    Stanislaw> dbix-class-a-strategy-for-pivots/227sxfbdyp3i72mesybf4cyvgk6u
>
> Fail, ele estava fazendo um RFC sobre uma idéia que ele teve, não tem
> nada falando que ele não conseguiu. A propósito, isso é trivialíssimo,
> tanto que implementamos um OLAP em 5 meses com uma equipe de 4 pessoas
> (da entrevista inicial com o cliente a um sistema 100% funcional e
> testado, gerando relatórios em PDF, etc. etc.), que pivoteia a
> informação de desempenho de alunos do ensino primário de toda a região
> noroeste dos EUA gerando estatísticas bastante complexas como cálculo de
> Stanine, Desvio Padrão e Regressão Linear sobre mais de 20 dimensões
> diferentes. Estamos fazendo agora o motor de análise pro socialflow.com,
> que gerencia o workflow de publicação de canais de mídia social e atende
> a empresas como o The Economist e Al Jazeera. Essa solução lida com
> throughputs de análise da ordem de 35 GB/dia, cujo core é um pivoteador
> baseado em DBIx::Class.
>
>    Stanislaw> <mimimi> Claro que é possível rodar queries arbitrárias
>    Stanislaw> em DBIx::Class, mas aí todo o framework não cheira e nem
>    Stanislaw> fede.  </mimimi>
>
> mimimi mesmo, ser uma query arbitrária ou uma tabela não faz a mínima
> diferença pro framework e essa afirmação só transparece o fato de que
> você não dedicou nem 1 hora pra ler a documentação e não tem nenhum
> argumento objetivo pra respaldar a tua trollada gratuita. Nesse caso, só
> tenho uma coisa a falar: RTFM
>
> --
>  Eden Cardim
>  Code Monkey                    http://www.shadowcat.co.uk/catalyst/
>  Shadowcat Systems Ltd.  Want a managed development or deployment platform?
> http://blog.edencardim.com/            http://www.shadowcat.co.uk/servers/
> http://twitter.com/#!/edenc
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20110814/35a291ee/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm