Pergunta

Que opções existem no setor para relatórios empresariais?Atualmente estou usando o SSRS 2005 e sei que há outra versão saindo com a nova versão do MSSQL.

Mas parece que também pode ser um bom momento para investigar o mercado e ver o que mais existe por aí.

O que você encontrou?Você gosta/não gosta?Por que?

Obrigado.

Foi útil?

Solução

Usei Cognos Series 7, Cognos Series 8, Crystal Reports, Business Objects XI R2 WebIntelligence, Reporting Services 2000, Reporting Services 2005 e Reporting Services 2008.Aqui está meu feedback sobre o que aprendi:

Serviços de Relatórios 2008/2005/2000

PRÓS

  1. Custo:Solução de business intelligence empresarial mais barata se você estiver usando o MS SQL Server como back-end.Você também tem a melhor solução ETL da categoria, sem custo adicional, se usar o SSIS.

  2. Mais flexível:Solução de relatórios mais flexível que já usei.Sempre atendeu a todas as minhas necessidades de negócios, principalmente em sua última encarnação.

  3. Facilmente escalável:Inicialmente usamos isso como uma solução departamental que suportava cerca de 20 usuários.Acabamos expandindo-o para cobrir alguns milhares de usuários.Apesar de termos um servidor virtual de péssima qualidade localizado em um data center remoto, conseguimos escalar para cerca de 50 a 100 solicitações simultâneas de usuários.Com um bom hardware em um trabalho de consultoria, consegui escalá-lo para um conjunto maior de usuários simultâneos sem problemas.Também vi implementações em que vários servidores SSRS foram implantados em diferentes países e o SSIS foi usado para sincronizar os dados nos back-ends.Isso permitiu um desempenho sólido de maneira distribuída quase sem custo adicional.

  4. Integração de controle de origem:Isso é CRÍTICO para mim ao desenvolver relatórios com minhas equipes de business intelligence.Nenhum outro pacote de BI oferece uma solução pronta para uso que eu já usei.Todas as outras plataformas que usei exigiam a compra de um complemento de terceiros ou exigiam que você promovesse relatórios entre ambientes separados de desenvolvimento, teste e produção.

  5. Serviços de análise:Gosto da forte integração com o Analysis Services entre SSRS e SSIS.Eu li sobre casos em que as cotações do Oracle e do DB2 incluem a instalação de um servidor SQL Server 2005 Analysis Services para cubos OLAP.

  6. Descoberta:Nenhum sistema tem melhor capacidade de descoberta do que o SSRS.Existem mais livros, fóruns, artigos e sites de código sobre SSRS do que qualquer outro pacote de BI que já usei.Se eu precisasse descobrir como fazer algo no SSRS, quase sempre conseguiria encontrar com alguns minutos ou horas de trabalho.

CONTRAS

  1. IIS necessário para SSRS 2005/2000:Versões mais antigas do SSRS exigiam a instalação do IIS no servidor de banco de dados.Isto não era permitido do ponto de vista dos controlos internos quando trabalhei num grande banco.Finalmente implementamos o SSRS sem a aprovação autorizada das operações de TI e basicamente pedimos perdão mais tarde. Isto não é um problema no SSRS 2008, uma vez que o IIS não é mais necessário.

  2. Construtor de relatórios:O construtor de relatórios baseado na web não existia no SSRS 2000.O criador de relatórios baseado na Web do SSRS 2005 era difícil de usar e não tinha funcionalidade suficiente.O criador de relatórios baseado na Web do SSRS 2008 é definitivamente melhor, mas ainda é muito difícil de usar para a maioria dos usuários corporativos.

  3. Viés de banco de dados:Funciona melhor com o Microsoft SQL Server.Não é ótimo com Oracle, DB2 e outros back-ends.

Business Objects XI WebIntelligence

PRÓS

  1. Fácil de usar:Mais fácil de usar para o usuário final médio que não é de BI para desenvolver relatórios ad hoc.

  2. Agnóstico de banco de dados:Definitivamente, uma boa solução se você pretende usar Oracle, DB2 ou outro back-end de banco de dados.

  3. Desempenho:Desempenho muito rápido, pois a maioria das navegações de páginas são basicamente operações do sistema de arquivos em vez de chamadas de banco de dados.

CONTRAS

  1. Custo:Problema número um.Se eu quiser ampliar minha implementação de Business Objects de 30 usuários para 1.000 usuários, a SAP fará questão de cobrar de você algumas centenas de milhares de dólares.E isso é apenas para as licenças do Business Objects.Acrescente o fato de que você também precisará de licenças de servidor de banco de dados, agora você está falando de um sistema muito caro.Claro, essa poderia ser a justificativa pessoal para obter Business Objects:se você conseguir convencer a administração a adquirir um sistema de BI muito caro, provavelmente poderá convencer a administração a pagar por um grande departamento de BI.

  2. Sem controle de origem:A falta de integração de controle de origem pronta para uso leva a erros na modificação acidental e na implantação de definições de relatórios antigos por engano.A "solução alternativa" para isso é promover relatórios entre ambientes - um processo que NÃO gosto de fazer, pois retarda o desenvolvimento de relatórios e introduz variáveis ​​de diferenças ambientais.

  3. Sem suporte para e-mail HTML:Você não pode enviar um email em HTML por meio de uma programação.Eu faço isso regularmente no SSRS.Você pode comprar um complemento caro de terceiros para fazer isso, mas não deveria gastar mais dinheiro com essa funcionalidade.

  4. Viés do modelo:O desenvolvimento de relatórios requer universos – basicamente um modelo de dados.Isso é bom para o desenvolvimento de relatórios ad hoc, mas prefiro usar procedimentos armazenados para ter controle total do desempenho.Também gosto de criar tabelas simples que são consultadas para evitar junções complexas e dispendiosas durante a execução do relatório.É bobagem ter que construir universos que contenham apenas tabelas planas que são usadas apenas por um relatório.Você não deveria ter que construir um modelo apenas para consultar uma tabela.O suporte ao procedimento de armazenamento também não é compatível imediatamente sem hackear as substituições SQL.

  5. Suporte de parâmetro deficiente:O suporte de parâmetros é péssimo nos relatórios BOXI WebIntelligence.Embora eu goste das opções de atualização de metadados para usuários corporativos em geral, elas simplesmente não são robustas o suficiente ao tentar configurar agendas.Quase sempre tenho que clonar relatórios e alterar ligeiramente os filtros, o que leva à duplicação desnecessária da definição do relatório.O SSRS supera isso, principalmente porque você pode fazer com que o valor e o rótulo tenham valores diferentes - ao contrário do BOXI.

  6. Suporte inadequado para vinculação de relatórios:Eu queria armazenar uma definição de relatório em uma pasta central e depois criar relatórios vinculados para outros usuários.No entanto, descobri rapidamente que os usuários finais precisavam ter direitos totais no objeto pai para usá-lo em sua própria pasta.Isso anulou todo o propósito de usar um objeto de relatório vinculado.Dê-me SSRS!

  7. CMC separado:Por que você precisa iniciar outro aplicativo apenas para gerenciar a segurança do seu objeto?Pior ainda, por que a funcionalidade não é idêntica entre o CMC e o InfoSys?Por exemplo, se quiser configurar um relatório agendado para tentar novamente em tentativas malsucedidas, você poderá especificar o número de tentativas e o intervalo entre tentativas no CMC.No entanto, você não pode fazer isso no InfoSys e também não pode ver as informações.O InfoSys permite configurar programações orientadas a eventos e o CMC não oferece suporte a esse recurso.

  8. Dependência da versão Java:BOXI funciona muito bem em máquinas de usuários finais, desde que executem a mesma versão de Java que o servidor.No entanto, quando uma versão mais recente do Java é instalada em sua máquina, as coisas começam a falhar.Estamos executando Java 1.5 em nosso servidor BOXI R2 (o cliente Java padrão) e quase todos na empresa usam Java 1.6.Se você usar Java 1.6, os prompts poderão congelar suas sessões do IE e do FoxFire ou travar inesperadamente o construtor de relatórios.

  9. Fraca descoberta:Além do BOB (Business Objects Board), não há muito na Internet sobre solução de problemas do Business Objects.

Cognos Série 8

PRÓS

  1. Fácil de usar:Embora o BOXI seja mais fácil de usar para escrever relatórios simples para usuários de negócios em geral, o Cognos está em segundo lugar nesta área.

  2. Agnóstico de banco de dados:Assim como o BOXI, esta é definitivamente uma boa solução se você pretende usar Oracle, DB2 ou outro back-end de banco de dados.

  3. Gerenciador de Estrutura:Este é definitivamente o melhor repositório de metadados da categoria.O construtor de universo da BOXI gostaria que fosse tão bom.Esta ferramenta é adequada para promover pacotes em ambientes de desenvolvimento, teste e produção.

CONTRAS

  1. Custo:O mesmo problema dos Business Objects.Estrutura de custos semelhante.Requisitos semelhantes de licenciamento de banco de dados também.

  2. Sem controle de origem:O mesmo problema dos Business Objects.Não conheço nenhuma ferramenta de terceiros que resolva esse problema, mas elas podem existir.

  3. Viés do modelo:O mesmo problema dos Business Objects.Porém, possui melhor suporte para procedimentos armazenados no FrameWork Manager.

  4. Suporte de parâmetro deficiente:O mesmo problema dos Business Objects.Tem melhor suporte para criação de páginas de prompt se você puder codificar em Java.Comportamento problemático, porém, quando os usuários clicam no botão Voltar para retornar à página de prompt.O SSRS supera isso sem dúvida.

  5. Tratamento de erros inadequado:As mensagens de erro no Cognos são quase impossíveis de decifrar.Eles geralmente fornecem um número negativo longo e um despejo de pilha como parte da mensagem de erro.Não sei quantas vezes “resolvemos” essas mensagens de erro reconstruindo relatórios do zero.Por alguma razão, é muito fácil corromper uma definição de relatório.

  6. Sem descoberta:É muito difícil encontrar respostas sobre como solucionar problemas ou implementar funcionalidades no Cognos.Simplesmente não há suporte comunitário adequado em sites voltados para a Internet para os produtos.

Como você pode imaginar pela minha resposta, acredito que o pacote de BI da Microsoft é a melhor plataforma do mercado.No entanto, devo afirmar que a maioria dos artigos que li sobre comparações de suítes de BI geralmente não avaliam as ofertas da Microsoft tão bem quanto os produtos Business Objects da SAP e os produtos Série 8 da Cognos.Além disso, também vi a Microsoft ficar em último lugar em análises internas de suítes de BI em duas empresas distintas, depois de terem sido analisadas pelos CIOs reinantes.Em ambos os casos, porém, parecia que tudo se resumia a querer ser visto como um departamento importante que justificava um grande orçamento operacional.

Outras dicas

Gostaria de fazer duas contribuições.Um é muito negativo (CR é uma porcaria) e o outro é muito positivo (o SSRS apoia a loja independente e está disponível sem nenhum custo).

Por outro lado, se você modificar uma resposta, adicione um comentário explicando por que você acha que a resposta está errada ou contraproducente, a menos que alguém já tenha dito a mesma coisa.Mesmo assim, um simples “como acima” seria útil.

Crystal Reports é uma porcaria

Crystal Reports é um insulto à comunidade de desenvolvimento.Bugs simples de redimensionamento de diálogo que levariam alguns minutos para corrigir permaneceram sem correção ao longo de dez anos e seis lançamentos principais, então eu realmente duvido que qualquer tentativa seja feita para resolver as coisas difíceis.O Crystal Reports é profundamente indigno de confiança, como demonstra este SQL.

SELECT COUNT(*) FROM sometable WHERE 1=0

Esta declaração produz um resultado de um quando deveria produzir zero.Este é um erro repetível no coração do mecanismo SQL do Crystal Reports.

O apoio ao CR é igualmente sombrio, tendo sido transferido para o exterior há muitos anos.Se você desembolsar US$ 200 por uma ligação de suporte, um estrangeiro ininteligível interpretará mal sua pergunta e insultará sua inteligência até que você desista, momento em que ele irá - porque você decidiu desistir - declarar a ligação resolvida.

Se é realmente tão ruim, por que é tão popular?Não é popular.É muito un popular.Ele se firma por meio de um excelente marketing.Os gestores veem anúncios brilhantes prometendo muito e, como o RC existe há tanto tempo, eles presumem que é tudo verdade.Muito parecido com o bindis (erva daninha espinhosa australiana) em seu gramado, uma vez instalado, é quase impossível se livrar dele.Admitir a incompetência é uma má jogada na carreira de um gerente.Quando os gestores não têm conhecimentos técnicos para tomar uma decisão, em vez de permitirem que uma pessoa técnica tome a decisão, recorrem a precedentes e repetem os erros dos seus pares.Eles também não percebem que, se quiserem realmente usar o material de entrega na Web, precisarão de uma licença de servidor.Além disso, longevidade significa que é fácil encontrar pessoas com experiência em RC.

Para detalhes e boas risadas recomendo estes links.

Ou apenas digite “relatórios de cristal são uma merda” no Google.Para uma perspectiva equilibrada, experimente também "rochas de relatórios de cristal".Não se preocupe, isso não levará muito tempo.Há não críticas positivas fora de seu próprio entusiasmo de marketing.

Agora, algo mais positivo.

SQL Reports é efetivamente gratuito

Você pode instalá-lo gratuitamente como parte do SQL Express com serviços avançados.Você também pode instalar o .NET 2.x, que traz consigo drivers ADO.NET para os principais provedores de banco de dados, bem como suporte genérico a OLEDB e ODBC.

Como o SSRS usa ADO.NET, isso significa que você pode conectar o SSRS a qualquer coisa à qual você possa conectar o ADO.NET, ou seja, praticamente qualquer coisa.

Os termos da licença aplicável ao SSRS fornecido com o SQL Express exigem que ele seja implantado e instalado como parte do SQL Express.Eles não têm nada a dizer sobre onde os relatórios obtêm seus dados.

O SQL Express é limitado, mas o SSRS que o acompanha não tem tais limitações.Se seus dados forem fornecidos por outro mecanismo de banco de dados, você poderá oferecer suporte a tantos usuários quanto esse mecanismo estiver licenciado para suportar.Não me interpretem mal, no trabalho temos dezenas de cópias licenciadas do MS SQL Server.Só estou dizendo que você pode usar o SSRS na loja de apoio de sua escolha, sem precisar encontrar ou justificar um orçamento para isso.O que você vai sentir falta é agendamento e suporte para assinatura.Falo por experiência própria quando digo que não é profundamente difícil escrever um serviço que preencha essa lacuna.

O SSRS cumpre todas as promessas que o CR faz.Fácil de usar, bom suporte para o usuário DIY, possui uma ferramenta de abstração de esquema conceitualmente semelhante ao CR BO, mas que funciona corretamente, alto desempenho, programável, fácil de usar, estável, flexível, fácil de estender, pode ser controlado de forma interativa ou programática.Na edição de 2008, eles ainda suportam modelos baseados em fluxo com formatação avançada (mala direta para cartas padronizadas).

É a melhor solução de relatórios que já vi em vinte anos de desenvolvimento de software em plataformas que vão desde mainframes, passando por minis e micros.Ele marca todas as caixas que consigo imaginar e tem apenas uma fraqueza profunda que me lembro - o modelo de layout não oferece suporte ao posicionamento em relação à parte inferior da página e a única solução alternativa é o posicionamento em relação à parte superior da página em uma página de altura conhecida.

Não aborda problemas como o fornecimento heterogéneo de dados, mas IMHO estes podem e devem ser abordados fora do relatório propriamente dito.Muitas soluções de armazenamento de dados (como o SSIS) fornecem ferramentas para resolver esses problemas, e seria absurdo colocar um recurso de duplicação meia-boca no mecanismo de relatório.

Tirar uma decisão sensata do seu chefe de cabelo pontudo

Diga a ele que você acha que, dada sua história problemática e impopularidade entre os desenvolvedores, escolher o Crystal Reports é uma jogada corajosa que o marca como um homem que assume riscos.

Alguns chefes são tão estúpidos que vão pensar que isso é uma coisa boa, mas com eles você está condenado de qualquer maneira.

Tendo experiências com ambos (CR e SSRS), aqui está o resumo do que penso:

CR permite desenvolver um relatório muito rapidamente.Contanto que seja simples.Se ficar um pouco complicado, fica complicado tentar fazer o que você deseja.Por exemplo, você está limitado a uma hierarquia máxima de 2 sub-relatórios.Fica estranho quando você tem sub-relatórios que precisam de parâmetros que devem ser alterados em um relatório principal, etc.Muitas soluções alternativas, mas às vezes elas simplesmente são uma droga.Além disso, o layout do relatório é basicamente fixo;você deve colocar seus dados e informações nas seções específicas (cabeçalho/rodapé da página, detalhes/rodapé/cabeçalho do relatório).Isso é bastante útil, pois ajuda a exibir corretamente os dados que abrangem várias páginas.Também possui um conjunto bastante completo de funções que podem ser usadas para manipular dados financeiros e etc.

SSRS é mais flexível na edição de relatórios.Seu assistente de relatório permite basicamente criar um relatório em um ambiente WYSIWYG, permite vários sub-relatórios para que você possa exibir facilmente vários conjuntos de dados em uma página.Ele permite que você conecte assemblies .NET para fazer manipulação/cálculo complicado de dados.No entanto, pode ser difícil exibir seus relatórios de maneira adequada e fixa; muitas vezes você tem que se esforçar para que tudo seja exibido como deseja.

Crystal Reports custa $$$.SSRS, se bem me lembro, agora está incluído "gratuito" na edição SQL Server Enterprise.É claro que você provavelmente paga por isso no preço de todo o pacote, acho que é a maneira da MS tentar empurrá-lo para o território corporativo.

Já uso SSRS há algum tempo...e colegas de trabalho que olham por cima do meu ombro dizem que parece ser MUITO mais fácil fazer o SSRS do que o Crystal.Nunca usei o Crystal, então não posso dizer qual é o melhor, mas tenho a nítida impressão de que a MS tentou lançar o SSRS pela porta.

Maiores fraquezas:

  • Compartilhando conjuntos de dados.Eu trabalho em um ambiente do DoD.90% dos meus relatórios usam um parâmetro de serviço.Fico cansado de digitar a mesma consulta repetidamente.
  • Esfolando.Se você fizer o assistente de relatório, poderá esfolar seu relatório, mas não se o fizer isso manualmente?huh?Posso "esfolar" as coisas selecionando todos os campos afetados e, em seguida, definindo cores anteriores, cores anteriores, etc.Mas em nenhum lugar (pelo menos em nenhum lugar que eu possa encontrar) você pode esfolar algo com um clique.
  • Sem skin personalizada.Assistente de relatório/ manual, não há onde posso encontrar para implementar uma pele personalizada.Seria bom apenas configurar algo (como CSS para HTML) e depois apenas vincular a ele.As ferramentas devem ajudá-lo, reduzindo seu esforço, em vez de aumentar esse esforço.
  • As matrizes precisam de melhor documentação.Posso fazer coisas MUITO simples, mas quando tento entrar em coisas divertidas/difíceis, os livros/a internet parecem me decepcionar.As tabelas não têm esse problema.

Forças:

  • É muito simples para um desenvolvedor SQL antigo obter bons relatórios que pelo menos parecem melhores do que o lixo que o despejo de um conjunto restlt no Excel fornece.
  • Classificação personalizada (use na maioria dos relatórios)
  • Lida com SP e SQL direto.Adoro não estar preso a um caminho ou outro (usei os dois dependendo das circunstâncias).
  • Preço...depois de pagar pelo Visual Studio/SQL Server...é um brinde.

Meus 2 centavos, espero que isso ajude você.

Uma solução "Java puro" é Relatórios claros do i-net (também conhecido como i-net Crystal-Clear).

  • Suporta modelos Crystal Reports, bem como qualquer fonte de dados JDBC.
  • Vem com um designer de relatório visual GRATUITO.
  • Bom preço pelo que faz, especialmente em comparação com algumas das alternativas “mais caras”.
  • A versão mais recente inclui uma ferramenta de configuração baseada na web, bem como um ferramenta de criação de relatórios ad hoc.
  • Possui uma porta .NET (com API extensa)

Existem várias soluções realmente excelentes para relatórios corporativos.Dentro dos quatro grandes (BO/Crystal, MS SRSS, Cognos, Oracle), as funções básicas de relatórios são todas cobertas.Você realmente precisa avaliar qual funcionalidade principal é mais importante para você e qual é a arquitetura predominante em seu ambiente.

A consolidação no mercado de BI tornou a questão ambiental ainda mais relevante.Se você possui uma empresa Oracle, também pode usar o Oracle BI.O mesmo se aplica a SAP/BO, IBM/Cognos e Microsoft.Principalmente se você estiver tomando uma nova decisão de BI.

Finalmente, há uma série de soluções de código aberto (BIRT, Jasper, Pentaho) que fazem sentido se você é um fornecedor de OSS ou se deseja evitar algumas das taxas de licenciamento associadas aos principais players de BI.

Você deveria tentar o BIRT.BIRT é de código aberto, então você pode começar de graça.Tem um bom designer gráfico.Você pode ver alguns vídeos sobre como é fácil criar relatórios BIRT em http://www.birt-exchange.com.O projeto BIRT foi patrocinado pela Actuate Corp, que oferece servidores comerciais para implantação do BIRT na empresa quando você precisar de agendamento, integração de segurança, notificações por e-mail, etc.A versão comercial também combina AJAX com o visualizador BIRT para maior interatividade do usuário final e oferece relatórios BIRT ad-hoc por meio de um navegador.

Estamos no meio da implementação do Cognos agora e realmente acho que é uma ferramenta bastante robusta.A ferramenta ETL parece bastante simples e fácil de usar e o front-end é bastante fácil de administrar e configurar.Não tenho muita experiência em modelos de estrutura e modelagem de dados, mas nosso designer de relatórios realmente parece gostar.

Uma das soluções mais abrangentes é o Cognos.

Não gosto:Você não acreditaria em quantos CDs ele vem...é enorme.

Estou surpreso que ninguém tenha mencionado a Microstrategy.Fazemos bastante trabalho de datawarehouse (11 TB) e a microstrategy faz um ótimo trabalho gerando SQL para que os usuários corporativos possam obter os dados sem nos incomodar.No entanto, é uma solução muito cara.se você não precisa de habilidades ad-hoc e decide pelo Crystal, recomendo dar uma olhada nos plug-ins VS2005 ou Eclipse, que são "gratuitos para uso em produção".

Em seu blog no site da comunidade SAP, Henry Nordstrom fez uma avaliação muito boa das diversas ferramentas de relatórios disponíveis.Embora ele tenha feito o mesmo do ponto de vista do uso do SAP, os fatos também se aplicam a qualquer outra coisa.

Blog de Henry na SAP Developer Network

Estou surpreso que ninguém tenha mencionado OpenReports com modelos de relatório Jasper.Eu sei que não é exatamente de nível empresarial, mas é bastante poderoso e acho que está no mesmo nível do Crystal Reports.Eu uso o iReport para criar relatórios semelhantes a CR.OpenReports também oferece suporte a JXLS, que é muito fácil de usar para criar relatórios baseados em Excel.

http://oreports.com/ http://jasperforge.org/projects/ireport

Crystal Reports por Objetos de negócios parece ser uma escolha popular.

Eu nunca escrevi nenhum relatório nele, mas outros membros da minha equipe que o fizeram às vezes tiveram dificuldade para fazer os relatórios mais complexos funcionarem.

Também pode ser um pouco caro, dependendo do seu orçamento.

Se você deseja um servidor de relatórios de classe empresarial que funcione com QUALQUER designer de relatórios que desejar usar, confira Servidor de relatórios universal de VersaReports.com.Pronto para uso, ele oferece suporte a Crystal, DevExpress, Telerik e ActiveReports e fornece uma API se você quiser oferecer suporte a outro designer de relatórios.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top