Sistema de generación de informes basado en la web alojado en sí mismo con valores predeterminados de salida simples

Me gustaría un sistema basado en web donde pueda publicar una consulta SQL y los usuarios puedan ejecutarla con la menor cantidad de fricción posible. Idealmente, no tendría que hacer mucho más que configurar la fuente de datos y pegar la consulta.

En este momento, doy a los usuarios acceso a una consulta SQL incrustándola en Excel como una consulta vinculada y enviándoles el archivo de Excel por correo electrónico. Utilizo la opción "Formatear como tabla" para formatear filas alternas con diferentes esquemas de color y habilito el filtrado de columnas, y ajuste automáticamente el ancho de columna (con algunos ajustes manuales para columnas que son demasiado anchas debido a uno o dos campos de texto periféricos) . Eso es todo el formato de "informe" que hago; Estoy buscando una solución basada en web que se acerque a ese nivel de simplicidad.

La desventaja de usar Excel para la distribución de informes es que otros usuarios (o administradores) no pueden descubrir esta consulta. Además, no puedo hacer ningún cambio o mejorar la consulta sin volver a enviar el archivo de Excel (y, aun así, no sé a quién más se ha enviado el archivo). Estoy buscando algún tipo de repositorio central para resolver este tipo de problemas.

Configuré un par de informes de Pentaho Reporting y, cuando uso el Asistente de diseño de informes para la configuración inicial, no es tan malo, pero es un PITA volver atrás y hacer una modificación como agregar una columna o agregar una nueva. grupo para anillar. Tal vez publicar una consulta directamente usando Pentaho BA/BI Server es más parecido a lo que estoy buscando, pero nunca llegué tan lejos cuando trabajé con los diversos tutoriales de Pentaho.

Si tuviera que intentar escribir algo como esto yo mismo, probablemente intentaría usar algo como DataTables , SlickGrid o Handsontable para mostrar la cuadrícula de datos en la página web.

Requisitos:

  • Compatibilidad con informes tabulares simples
    • Formatee automáticamente los informes con buenos valores predeterminados
  • Puede ser de código abierto (preferido) o comercial
  • Fuentes de datos compatibles:
    • Servidor MS SQL
  • Se requiere un servidor web o un sistema operativo del servidor:
    • Ningún

Características opcionales:

  • Autenticacion de usuario
    • Idealmente, RBAC que puede integrarse con MS Active Directory (AD) y utilizar grupos en AD
  • Exportar/descargar cuadrícula de datos a un archivo CSV, XLS o XLSX
  • Gráficos básicos
  • Tablas dinamicas
  • Soporte para ejecutar/ver informes en plataformas móviles como iPhone 5c o iPad Mini
    • Diseño receptivo que utiliza la maximiza el uso de la resolución disponible del navegador web
  • Fuentes de datos compatibles:
    • IBM DB2 en AS/400 (iSeries)
    • ERP SAP NetWeaver
    • Orígenes de datos ODBC arbitrarios
    • Orígenes de datos JDBC arbitrarios
    • mysql
    • PostrgreSQL
    • MariaDB
    • Oráculo
  • Servidor web compatible:
    • MS IIS
  • Lenguaje de programación del servidor backend:
    • Pitón
    • Java
    • C#
    • PHP

no necesito:

  • informes de "píxeles perfectos"
Parece que está buscando un software de informes de nivel empresarial. Otros competidores de SSRS que miraría: Crystal Reports, BIRT y, finalmente, FileMaker Pro. FileMaker Pro funciona muy bien con iOS.

Respuestas (2)

Siempre hay SSRS : Sql Server Reporting Services . Tengo una relación de amor y odio con este software, y aunque a menudo he deseado y buscado mejores alternativas (además de escribir algo tú mismo), según tus requisitos, al menos te recomiendo que lo pruebes.

La razón por la que lo recomiendo es porque técnicamente cumple con casi todos sus requisitos, excepto por ser de código abierto. La razón por la que recomiendo esto con " pruébalo " es porque la administración y la creación de informes tendrán algunas peculiaridades.

Con SSRS, crea su consulta en el propio informe o en una vista/proceso de base de datos y arrastra/solta los datos en el diseñador. Normalmente, implementa el informe en un servidor de informes, al que los usuarios pueden acceder de varias maneras: a través de un sitio de Sharepoint, un sitio web personalizado con un control ReportViewer, directamente a través del sitio de SSRS o lo reciben por correo.

Requisitos

Así es como cumple con sus requisitos:

  • Compatibilidad con informes tabulares simples: formatee automáticamente informes con buenos valores predeterminados

    Lo suficientemente decente. El asistente de informes crea un valor predeterminado razonable, al igual que crear un informe en blanco y arrastrar campos a una tabla nueva. Solo los anchos de columna siempre tienen un ancho fijo de forma predeterminada, pero es fácil cambiar esto.

  • Puede ser de código abierto (preferido) o comercial

    Por desgracia, es propiedad.

  • Fuentes de datos compatibles: MS SQL Server

    Tengo eso, por supuesto. Creo que otras fuentes de datos también serían posibles.

  • Se requiere servidor web o sistema operativo de servidor: cualquiera

    Ese es un requisito fácil :S. De todos modos, esto se ejecuta en Windows.

Características opcionales

Así es como cumple con sus otros requisitos:

  • Autenticación de usuario: Idealmente, RBAC que puede integrarse con MS Active Directory (AD) y utilizar grupos en AD

    Todo tipo de opciones aquí, dependiendo de cómo le dé a sus usuarios acceso a los informes. Sharepoint y AFAIK, el sitio web de SSRS tienen esto de forma predeterminada (aunque no tengo experiencia con esto), y un sitio web personalizado podría estar equipado de manera similar. La distribución de los informes por correo (basados ​​en datos o periódicamente) podría ser una alternativa lista para usar en este caso.

  • Exportar/descargar cuadrícula de datos a un archivo CSV, XLS o XLSX

    Sí. También disponible: (m)html, pdf y xml (aunque no muy bien formateados).

  • Gráficos básicos

    Está ahí, aunque no los gráficos más bonitos del mundo en mi humilde opinión.

  • Tablas dinamicas

    Sí, lo tiene, pero es más adecuado para datos agregados o conjuntos de datos pequeños. Para conjuntos de datos (muy) grandes, es posible que desee buscar otras soluciones .

  • Soporte para ejecutar/ver informes en plataformas móviles como iPhone 5c o iPad Mini; Diseño receptivo que utiliza la maximiza el uso de la resolución disponible del navegador web

    El visor html funciona bien en dispositivos móviles, aunque difícilmente diría que puede hacer un diseño receptivo con los informes de SSRS.

  • Fuentes de datos compatibles: varios

    La mayoría de sus fuentes se enumeran como admitidas . Solo he usado Sql Server, pero veo bastantes personas en Stack Overflow insinuando que usan Oracle u otros.

  • Servidor web compatible: MS IIS

    Bueno... SSRS es una instalación independiente o una adición a su instalación de Sql Server. Tiene un sitio web simple incorporado que es autohospedado (creo). Puede entregar informes con una aplicación web alojada en IIS o Sharepoint, aunque también son posibles Apache y un sitio PHP .

  • Lenguaje de programación del servidor backend: Python, Java, C#, PHP

    C# está ahí, obviamente. Hay bastantes personas que han intentado y obtenido sitios PHP para acceder a los informes. Probablemente también sea posible en otros idiomas, incluso si solo se usa el servicio web SSRS SOAP para transmitir las exportaciones a los clientes.

no necesitas

  • informes de "píxeles perfectos"

    ¡Pues bien, porque ahí está la locura con SSRS!

Conclusión

Como dije en la introducción: tengo una relación de amor/odio con SSRS, pero dado que técnicamente parece coincidir con sus requisitos, parece que vale la pena intentarlo.

Interesante... Tiendo a pensar que las herramientas de MS no son particularmente simples y/o fáciles de usar, pero lo intentaré. ¡Gracias por la respuesta!

DESCARGO DE RESPONSABILIDAD: Soy un evangelista de DBxtra.

Le recomiendo que pruebe DBxtra , ya que cubre la mayoría de sus requisitos y es fácil crear y modificar informes como desee, en DBxtra puede simplemente crear la conexión de datos, crear un nuevo objeto de informe, crear o pegar la consulta, guardar y tus clientes podrán ver el informe en la web de forma inmediata; además, puede dar un poco de formato a la cuadrícula de datos para que sea más fácil de usar o comprender los datos que está presentando.

En contra de sus requisitos, esto es lo que sucede:

Requisitos:

  • Compatibilidad con informes tabulares simples: formatee automáticamente informes con buenos valores predeterminados
  • Tenemos un informe tabular simple (Cuadrícula de datos), que tiene algunas características interesantes como agrupar, ordenar y filtrar por sí mismo.
  • Puede ser de código abierto (preferido) o comercial
  • Comercial, con una versión de prueba completa de 30 días.
  • Fuentes de datos compatibles: MS SQL Server
  • Admitimos conexiones directas a SQL Server mediante la autenticación de Windows o SQL Server.
  • Se requiere servidor web o sistema operativo de servidor: cualquiera
  • DBxtra requiere IIS para ejecutarse, por lo que requiere Windows (servidor o versiones normales), los clientes pueden usar cualquier navegador web que deseen para usar DBxtra.

Características opcionales:

  • Autenticación de usuario: Idealmente, RBAC que puede integrarse con MS Active Directory (AD) y utilizar grupos en AD
  • Puede usar nuestro mecanismo de autenticación de usuarios incorporado o puede integrar DBxtra con Active Directory.
  • Exportar/descargar cuadrícula de datos a un archivo CSV, XLS o XLSX
  • La cuadrícula de datos se puede exportar a cualquier formato.
  • Gráficos básicos
  • Disponible en tablas dinámicas (cuadrícula dinámica), informes y paneles.
  • Tablas dinamicas
  • Disponible como Pivot Grid.
  • Soporte para ejecutar/ver informes en plataformas móviles como iPhone 5c o iPad Mini
  • Hemos probado DBxtra en dispositivos móviles y funcionó bien, el diseño no responde, pero todo es funcional.
  • Fuentes de datos compatibles:
  • IBM DB2 en AS/400 (iSeries): compatible directamente o mediante el controlador ODBC (iSeries).
  • SAP NetWeaver ERP: no es compatible, pero es posible que pueda conectarse a la base de datos subyacente (SQL Server u Oracle) o utilizar un controlador ODBC de terceros.
  • Fuentes de datos ODBC arbitrarias: Compatible
  • Orígenes de datos JDBC arbitrarios: no se admiten; sin embargo, la mayoría de los orígenes de datos JDBC pueden tener un controlador ODBC.
  • MySQL: compatible directamente
  • PostrgreSQL: compatible directamente
  • MariaDB: no compatible, pero puede probar con el soporte directo de MySQL o a través de ODBC
  • Oracle: compatible directamente
  • Servidor web compatible: MS IIS
  • DBxtra requiere IIS
  • Lenguaje de programación del servidor backend:
  • No se necesita programación, solo algunos conocimientos de SQL; sin embargo, si desea modificar los informes, puede usar scripts en C#, VB.NET o JScript; si desea incrustar los informes en otras aplicaciones, puede usar un fragmento HTML simple (Widgets de informes web)

no necesito:

  • informes de "píxeles perfectos"
  • Los tenemos, pero si no quieres usarlos, no es necesario.
Respuesta bien escrita, pero creo que debería comenzar con una divulgación grande/obvia de su afiliación con el producto recomendado.
@Jeroen, gracias, no creo que deba ser grande, pero definitivamente debería estar allí, corregido. :-)