sources source services microsoft data create change asp.net sql-server-2005 reporting-services ssas olap

asp.net - source - sql reporting builder



Mostrar un servidor SQL OLAP en una página web? (2)

Tengo este escenario:

WServer 2008, SQL Server 2005, servicios de análisis MS (SSAS), ISS7 y un CUBE OLAP.

Necesito insertar el resultado OLAP en una página web en un sitio existente.

No necesito ninguna selección de dimensión, ningún detalle, ninguna dimensión 3, solo un resultado pasivo de una consulta MDX preestablecida.

A continuación, un ejemplo de consulta MDX utilizada: (Venta de estadísticas para un agente en un período)

SELECT NON EMPTY { [Measures].[Valore] } ON COLUMNS, NON EMPTY { ([Prodotti].[Top Marca].[Top Marca].ALLMEMBERS * [Calendario].[Anno - Mese].[Mese].ALLMEMBERS * [Agenti].[Cod Agente].[Cod Agente].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( { [Calendario].[Anno].&[2012] } ) ON COLUMNS FROM ( SELECT ( { [Agenti].[Vw Agenti].&[005] } ) ON COLUMNS FROM [Vendite])) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

Debajo de un resultado fácil que necesito mostrar en el sitio web:

Intenté usar Report Viewer, pero parece que no puedo debido a este error:

El procesamiento de informes remotos requiere Microsoft SQL Server 2008 Reporting Services o posterior

y no puedo instalar SQL Server 2008, así que necesito una solución alternativa.

Probé un poco de código abierto pero necesitan instalar JAVA y más, la mayoría tampoco se conecta a SQL Server o requiere un servidor web diferente.

Intenté también usar una consulta TSQL pero devuelve solo 1 columna para los meses en los que en realidad necesito muchas columnas como meses calculados

NOTA: los usuarios son muchos con muchos sistemas operativos y navegadores diferentes como iPad, Mac, Windows, Linux, ... por lo que el resultado debe ser una salida HTML

Entonces mi pregunta es:

¿Cuál es la mejor manera de desarrollar una página web simple (asp o aspx) (del lado del servidor o del cliente) para consultar el cubo y obtener un resultado simple (debe ser HTML) como se muestra arriba, sin ninguna selección por parte del usuario?

¿O qué no entendí en absoluto con este escenario?

¡Gracias de antemano por quién puede ayudarme!


De lo que está preguntando, no hay necesidad de los controles ReportViewer, etc.

Hay ADOMD.NET (en lugar de ADO.NET estándar) que debería permitirle obtener todos los datos que desea utilizando solo una consulta MDX estática. La única parte de esto que debe tener en cuenta es cómo analizar correctamente el objeto resultante para obtener la tabla HTML en el formato que desee.

Esta sería una solución mucho más ligera que usar cosas como el visor de informes.

No tengo ningún ejemplo sobre cómo analizarlo, ya que es algo en lo que estoy trabajando actualmente, pero por lo que puedo ver hasta ahora no es difícil, y definitivamente incluye toda la información que necesita.

En términos de acceso al cubo, puede conectarse directamente usando TCP / IP (parece que está disponible como lo mencionó haciendo una consulta TSQL), o puede configurar el acceso a MSMDPUMP.

Esto no proporcionaría ningún tipo de interactividad, pero usted dijo que eso no es un problema.

Trataré de actualizar esto con cómo analizar la información de un conjunto de resultados de ADOMD.NET en algún momento cuando sé cómo hacerlo.


Bueno, lo que está mostrando allí es el resultado de un informe de SSRS y desea acceder a él desde su aplicación, ¿verdad?

Básicamente existen 3 formas en que puede interactuar con SSRS desde su aplicación: el servicio web del servidor de informes (también conocido como SOAP, que es cómo se genera el Administrador de informes), el acceso URL (url normal del informe en el servidor de informes) y el Controles ReportViewer.

Al usar los controles ReportViewer, puede usar el modo de procesamiento local o el modo de procesamiento remoto. El modo de procesamiento remoto es cuando el control recupera un informe completamente procesado de un servidor SSRS. Entonces, como su nombre lo dice, el procesamiento es Remoto.

Como entiendo por su pregunta, no tiene una instancia de SSRS disponible para conectarse, pero tiene su informe. Este es el escenario donde usaría el modo de procesamiento local. En este tipo de modo de procesamiento, los informes se almacenan localmente con una extensión de archivo .rdlc y el control abre una definición de informe, la procesa y luego procesa el informe en el área de visualización.

También necesita agregar el archivo de informe al proyecto de VS y existen algunas restricciones menores, como los informes que solo se pueden mostrar con PDF, Excel y formatos de imagen.