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:
Características opcionales:
no necesito:
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.
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.
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.
informes de "píxeles perfectos"
¡Pues bien, porque ahí está la locura con SSRS!
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.
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:
Características opcionales:
no necesito:
Sol