SSAS

¿Cuándo y por qué usar un servidor SSAS intermedio entre SQL Server y Power BI?

Una de las decisiones clave a la hora de diseñar arquitecturas BI robustas es determinar cómo gestionar y procesar de manera eficiente la ingente cantidad datos que vamos a manejar. Aquí es donde la pregunta de si incluir un servidor SQL Server Analysis Services (SSAS) como capa intermedia entre SQL Server y Power BI cobra especial relevancia, sobre todo cuando buscamos soluciones escalables, de alto rendimiento y con un control centralizado. Aunque Power BI, al igual que SSAS, utiliza el motor VertiPaq, los objetivos y capacidades de cada herramienta pueden llegar a justificar el coste extra (recursos y tiempo) de la integración de SSAS en no pocas situaciones.

A lo largo de este artículo trataré de explicar los casos en los que SSAS aporta valor añadido a las arquitecturas BI y analizaremos su utilidad tanto en combinación con Power BI como, en escenarios mucho más específicos como Power BI Report Server (PBIRS). Además, abordaremos cómo estas soluciones contribuyen a la consistencia de los datos, el rendimiento de las consultas y la gobernanza empresarial.

¿Qué es SQL Server Analysis Services (SSAS)?

Empecemos por el principio, ¿qué es SSAS? SQL Server Analysis Services (SSAS) es un componente de Microsoft SQL Server diseñado para proporcionar capacidades analíticas avanzadas mediante la creación de modelos de datos optimizados. SSAS es esencialmente un motor analítico que permite construir modelos tabulares o multidimensionales que los usuarios pueden consultar para obtener insights clave de negocio.

Existen dos variantes principales de SSAS: modelos tabulares y modelos multidimensionales. Aunque ambos ofrecen capacidades de análisis, aunque, los modelos tabulares, introducidos en 2012, se han impuesto como la opción preferida por la mayoría de las organizaciones debido a su simplicidad y rendimiento. Los modelos tabulares utilizan el motor VertiPaq, que permite almacenar datos en memoria de forma comprimida y procesarlos rápidamente. Esto lo hace ideal para escenarios que requieren análisis en tiempo real o procesamiento rápido de grandes volúmenes de datos.

Además de ser un motor analítico, SSAS actúa como un servidor centralizado donde los modelos de datos pueden ser compartidos y consumidos por múltiples herramientas, como Power BI, Excel o cualquier cliente que soporte DAX o MDX. Esta capacidad de centralizar la lógica analítica y permitir el acceso desde diferentes aplicaciones lo convierte en una pieza clave en la gobernanza de datos empresariales.

En términos de seguridad, SSAS permite implementar configuraciones avanzadas como Row-Level Security (RLS), que garantiza que los usuarios solo accedan a la información que les corresponde según sus roles. Esto, junto con su capacidad para manejar grandes volúmenes de datos y consultas complejas, posiciona a SSAS como una solución ideal para arquitecturas de BI empresariales.

SSAS y Power BI: una combinación estratégica para el análisis de datos

Ya hemos visto que el motor VertiPaq es núcleo de las capacidades de análisis en memoria tanto de Power BI como de SSAS Tabular. Este motor está diseñado para gestionar grandes volúmenes de datos y optimizar consultas analíticas complejas. Aunque tanto SSAS como PowerBI comparten esta tecnología, las diferencias entre Power BI y SSAS Tabular son notables. Mientras que Power BI está orientado a usuarios finales que necesitan autonomía en la creación de modelos y reportes, SSAS está diseñado para ser un motor analítico centralizado, ideal para entornos empresariales con necesidades avanzadas de escalabilidad, rendimiento y control.

Esta diferencia de enfoques posiciona a SSAS como un intermediario estratégico en arquitecturas BI. Al encargarse del procesamiento analítico, SSAS permite que Power BI se concentre en la visualización e interacción con los datos, podríamos decir que lo libera de la carga computacional asociada a cálculos pesados y transformaciones complejas.

Beneficios de incluir SSAS en la arquitectura BI

Lo sé, aún no te he dicho que ventajas tiene montar SSAS. Pues bien, cuando integras SSAS, el impacto en términos de rendimiento, centralización y escalabilidad es significativo. Su capacidad para manejar grandes volúmenes de datos, centralizar la lógica analítica y gestionar la seguridad de forma avanzada lo convierte en una solución potente para escenarios empresariales complejos.

Uno de los principales beneficios de SSAS es su capacidad para optimizar consultas analíticas a través del motor VertiPaq, que procesa los datos en memoria de manera comprimida. Esto se traduce en tiempos de respuesta significativamente más rápidos en consultas que involucran relaciones complejas, medidas calculadas o grandes cantidades de datos. Este enfoque mejora la experiencia del usuario final y alivia la carga sobre el servidor SQL subyacente frente a por ejemplo unas consultas direct query pero tampoco es ninguna ventaja frente a un Power BI en modo import, en el fondo es lo mismo.

Entonces, lo que sí es una ventaja de SSAS es que permite centralizar los modelos analíticos, asegurando que todas las herramientas y usuarios consuman el mismo conjunto de datos y cálculos. Esta centralización elimina inconsistencias entre departamentos y garantiza que los análisis se basen en las mismas definiciones métricas, lo que es esencial en entornos empresariales con múltiples equipos trabajando en paralelo. Con esta configuración, Power BI actúa como un consumidor de estos modelos, lo que simplifica la gobernanza de los datos y la gestión de los cambios.

Otro aspecto clave es la seguridad. SSAS ofrece un control robusto a través de la seguridad a nivel de fila (Row-Level Security, RLS), que permite definir permisos detallados para los datos. Esto asegura que cada usuario solo tenga acceso a los datos relevantes para su función, garantizando el cumplimiento de las políticas de privacidad y seguridad de la organización.

Casos prácticos de uso de SSAS con Power BI

La integración de SSAS con Power BI se justifica especialmente en entornos donde se manejan grandes volúmenes de datos, múltiples usuarios concurrentes o modelos analíticos complejos. En estos escenarios, SSAS actúa como un motor analítico dedicado que libera a Power BI de la carga computacional, permitiendo que esta última herramienta se concentre en la presentación de los datos.

Por ejemplo, en organizaciones donde los reportes son consultados por decenas o cientos de usuarios simultáneamente, SSAS distribuye eficientemente el procesamiento de las consultas. Esto no solo mejora los tiempos de respuesta, sino que también evita la saturación del servidor SQL transaccional, que puede centrarse en otras tareas críticas del negocio.

Asimismo, en escenarios donde los modelos de datos contienen cálculos avanzados, relaciones de muchos a muchos (no hagáis eso) o jerarquías complejas, SSAS es la herramienta ideal. Su capacidad para procesar y almacenar en memoria estos modelos garantiza que las consultas sean rápidas y precisas, incluso cuando los volúmenes de datos son masivos.

La utilidad de SSAS con Power BI Report Server (PBIRS)

Hay otro caso especial donde SSAS cobra especial relevancia y es en esas organizaciones que necesitan soluciones on-premises. En estos escenarios, SSAS se convierte en un complemento esencial para Power BI Report Server (PBIRS). PBIRS está diseñado para gestionar y publicar reportes de forma local, pero no permite que varios informes accedan al mismo modelo por lo que un SSAS común como fuente de datos se hace imprescindible.

Además, cuando SSAS se combina con PBIRS, se crea una arquitectura en la que el procesamiento analítico es gestionado por SSAS, mientras que PBIRS se encarga de la presentación y administración de los reportes. Esto asegura tiempos de respuesta rápidos incluso en escenarios con alta concurrencia, ya que las consultas complejas se resuelven en el servidor SSAS antes de ser entregadas al usuario.

Por último, el uso de SSAS con PBIRS permite aprovechar sus capacidades de seguridad centralizada. Los permisos configurados en el modelo de SSAS se aplican automáticamente a los reportes alojados en PBIRS, simplificando la administración de la seguridad y asegurando que los datos sensibles estén protegidos.

Azure Analysis Services: la evolución hacia la nube

Y ahora que hemos hablado de entornos 100% on-premises no podemos no hablar de los 100% cloud. Esos entornos donde la escalabilidad y flexibilidad son prioritaria. Para estos casos Microsoft tiene una herramienta llamada Azure Analysis Services (AAS) y no es más que una evolución natural de SSAS a la nube de Azure. AAS ofrece las mismas capacidades avanzadas que SSAS Tabular, pero con las ventajas de estar alojado en la infraestructura de Azure. Esto permite a las organizaciones implementar modelos analíticos centralizados sin preocuparse por la gestión del hardware o el mantenimiento de los servidores.

Azure Analysis Services resulta especialmente útil en arquitecturas híbridas, donde los datos se encuentran tanto en la nube como on-premises. Su integración con servicios cloud como Azure Synapse Analytics además de con servicios locales como SQL Server, facilita la construcción de soluciones escalables que pueden crecer dinámicamente según las necesidades del negocio. Además, AAS hereda la seguridad y gobernanza avanzadas de SSAS, lo que garantiza que las organizaciones puedan mantener el control sobre sus datos mientras aprovechan la elasticidad de la nube.

La elección entre SSAS on-premises y AAS dependerá de los requisitos específicos de cada organización. Sin embargo, AAS ofrece una opción atractiva para aquellas que buscan combinar la potencia analítica de SSAS con la flexibilidad y capacidad de expansión de Azure.

Conclusión

El uso de un servidor SSAS como capa intermedia entre SQL Server y Power BI aporta múltiples beneficios en términos de rendimiento, escalabilidad y gobernanza. Su capacidad para procesar grandes volúmenes de datos, centralizar modelos analíticos y gestionar la seguridad lo convierte en una pieza clave en arquitecturas empresariales complejas. Aunque Power BI puede manejar muchos casos de forma autónoma, la inclusión de SSAS garantiza un nivel de eficiencia y control que es difícil de igualar.

Cuando se utiliza con Power BI Report Server (PBIRS), SSAS se convierte en un motor analítico esencial, capaz de manejar consultas complejas y soportar escenarios de alta concurrencia en entornos on-premises. Esto asegura una solución integral para organizaciones que buscan combinar el poder del análisis en memoria con la flexibilidad y seguridad de un entorno local.

En definitiva, la combinación de SSAS, Power BI y PBIRS representa una solución robusta para cualquier organización que busque maximizar el valor de sus datos. 

Si tenéis alguna duda o sugerencia, podéis dejarla en Twitter, por mail o dejarnos un mensaje en los comentarios. Y recuerda que también tenemos un grupo de Telegram y un canal de YouTube a los que te puede unir. ¡Hasta la próxima!

Publicado por Roberto Carrancio en Power BI, 0 comentarios

Buenas prácticas en Power BI Report Server (PBIRS)

Continuamos con los artículos sobre Power BI Report Server, ya hemos visto tanto sus características principales como los consejos de implantación y mantenimiento y hoy, y para cerrar esta semana temática, vamos a hablar de buenas prácticas. Lo primero que tenemos que recordar es que Power BI Report Server (PBIRS) está construido sobre la base de SQL Server Reporting Service (SSRS), una herramienta de reporte de BI de Microsoft con más de 15 años en el mercado. Con esto quiero decir que la mayoría de las cosas que vamos a ver ahora os sonarán familiares si ya habéis administrado SSRS pero si no es así no os preocupéis que para eso lo vamos a ver.

Configuración avanzada de Report Server

Cuando instalamos PBIRS tendremos a nuestra disposición una herramienta de configuración calcada a la de SSRS donde podremos realizar las configuraciones más básicas de este servicio. Sin embargo, esto no es todo,habrá aspectos que configuraremos en el propio servicio web y otros, los más avanzados, para los que necesitaremos un SSMS. Y, en concreto, son tres de estas configuraciones de las que vamos a hablar en este apartado. Configuraciones que, para la mayoría de las empresas pueden funcionar pero, para otras igual no tanto.

Para acceder a estas configuraciones nos conectaremos a nuestro PBIRS desde nuestro Management Studio (SSMS) usando la opción de conexión a SQL Server Reporting Service (SSRS). Una vez conectados abriremos las propiedades de la instancia y accederemos a las propiedades avanzadas. Aquí, entre otras, podremos encontrar la siguientes configuraciones:

Power BI Report Server Advanced Config

EnableMyReports

La configuración “Enable and disable My Reports» nos permite a los administradores activar o desactivar la funcionalidad de «Mis informes». Esta función, desactivada por defecto, ofrece a los usuarios la posibilidad de crear un espacio personal dentro del servidor donde pueden guardar y gestionar sus propios informes. Esto es similar al concepto Mi espacio de trabajo que tienen los usuarios dentro del servicio Power BI. Habilitar Mis informes es una excelente manera de fomentar la BI de autoservicio y puede ser beneficioso para fomentar la personalización y la autonomía de los usuarios, permitiéndoles trabajar de manera más eficiente sin sobrecargar los espacios compartidos del servidor. No obstante, dejarlo desactivado puede ser preferible en entornos donde la uniformidad y el control sobre los informes es una prioridad.

ExecutionLogDaysKept

ExecutionLogDaysKept es otra configuración importante que define cuántos días se conservan los registros de ejecución de informes en el servidor. Estos logs son fundamentales para el análisis de rendimiento y la solución de problemas, ya que contienen información detallada sobre cada ejecución de informes. Ajustar esta configuración nos permite a los administradores balancear entre la retención de información suficiente para análisis detallados y la gestión eficiente del espacio de almacenamiento. Por defecto esta propiedad está establecida en 60 días, un periodo de retención más largo puede ser útil para auditorías y análisis históricos, sobre todo si tienes informes que se ejecutan sólo una vez al mes o menos. Por otro lado, un periodo más corto puede ayudar a optimizar el rendimiento del servidor. 

EnablePowerBIReportExportUnderlyingData

Por último, la configuración EnablePowerBIReportExportUnderlyingData controla si los usuarios tienen permiso para exportar los datos subyacentes de los informes de Power BI. Esta opción es crucial para mantener la seguridad y privacidad de los datos. Permitir la exportación puede ser necesario para usuarios que requieran analizar la información fuera de la plataforma, pero también puede suponer un riesgo si los datos son sensibles. Por ello, esta configuración debe ser ajustada con cuidado, asegurando que solo los usuarios adecuados tengan acceso a esta funcionalidad y que se cumplan las políticas de seguridad de la organización. 

Si me preguntáis por mi opinión, yo soy totalmente partidario de deshabilitar esta opción. Además, un abuso de la descarga de información en horas de mucha actividad de usuarios puede suponernos un verdadero quebradero de cabeza.

Seguridad a nivel de carpetas en Report Server

Llegamos a una de las principales diferencias entre Power BI Report Server y el servicio en la nube de Power BI. Mientras en el cloud tenemos Workspaces que sirven como entornos aislados colaborativos para que los equipos desarrollen contenido de Power BI al unísono. Después creamos aplicaciones para facilitar la entrega del contenido a los usuarios. Estos conceptos no existen en Power BI Report Server. En PBIRS tendremos que usar carpetas.

Las carpetas dentro de Power BI Report Server (y SSRS) se comportan como carpetas dentro de un sistema de archivos. La seguridad a nivel de carpeta se puede aplicar para restringir el acceso a todo el contenido de la carpeta. Además, al igual que un sistema de archivos, se puede crear una jerarquía de carpetas. Esto es diferente a la naturaleza aplanada de App Workspaces dentro del servicio Power BI. 

Gestión de los permisos

Estemos alojando informes en el servicio o en PBIRS, debemos realizar una planificación cuidadosa desde el principio para proteger adecuadamente su contenido. Normalmente, tiene sentido crear carpetas para diferentes departamentos o equipos de la empresa como, por ejemplo, ventas, contabilidad, marketing, etc…

Aunque en Power BI Report Server (PBIRS), también podemos definir la seguridad en elementos individuales (por ejemplo, un único informe), normalmente no es una práctica. En implementaciones grandes, podemos encontrarnos con decenas o cientos de informes y mantener individualmente los permisos sería una pesadilla. Del mismo modo tenemos que huir de los permisos a usuarios individuales y, siempre que sea posible, utilizar grupos de usuarios. Si llevamos esto a rajatabla, podremos proteger múltiples informes relacionados y habilitar su uso para un subconjunto de usuarios sin complicaciones. 

En la mayoría de los casos, también recomiendo que os ciñais a una estructura de carpetas plana. De este modo, no solo será más fácil proteger las carpetas, también PBIRS coincidirá lógicamente con la estructura plana de Workspaces en el servicio Power BI. Esto nos facilitará la tarea de migración o  transferencia del contenido de Power BI Report Server (PBIRS) al servicio Power BI en la nube si alguna vez queremos hacerlo.

Reutilizar un modelo de datos en Report Server

Una de las limitaciones de Power BI Report Server (PBIRS) frente al servicio de Power BI en la nube es la capacidad de utilizar un mismo modelo de datos para diferentes informes. Así, mientras que en Power BI en la nube todos nuestros informes pueden acceder a un mismo modelo, si tenemos 12 informes que usan el mismo modelo de datos, en Power BI Report Server (PBIRS) tendremos que mantener 12 copias del modelo de datos. Esto, no hace falta que os lo diga, es un problema a la hora de actualizar los modelos y puede generar una discrepancia de datos entre los informes, que, en el mejor de los casos, nos provocará una reprimenda por parte de los usuarios. 

Sin embargo, nosotros que somos DBAs y sabemos de bases de datos y, sobre todo, de servicios de SQL Server, sabemos que podemos aprovecharnos de las capacidades de SQL Server Analysis Services para almacenar nuestras bases de datos dimensionales y, desde los informes de Power BI simplemente acceder a ese único origen de datos compartido para todos los reportes.

Analysis Services es una excelente opción si ya tenemos una inversión en SQL Server y sus componentes de BI, que la tendremos si hemos licenciado PBIRS con la licencia de SQL Server Enterprise. Sin embargo, si estamos implementando Power BI Report Server gracias al licenciamiento de Power BI Premium, también podemos aprovechar los conjuntos de datos que residen en la capacidad Premium como modelos de datos reutilizables.

Podemos establecer una conexión desde nuestros informes de Power BI a un conjunto de datos Premium como si fuera un modelo de Analysis Services. Para ello, debemos asegurarnos de que nuestra capacidad Premium tenga habilitada la lectura en la configuración del extremo XMLA.

Conclusión

En resumen, Power BI Report Server (PBIRS) es una herramienta muy potente, que, si se configura y gestiona adecuadamente, puede convertirse en un pilar fundamental para la inteligencia de negocio en tu organización. Desde la configuración avanzada para habilitar funciones como «Mis informes» o controlar la exportación de datos subyacentes, hasta la gestión cuidadosa de la seguridad a nivel de carpetas y la reutilización de modelos de datos, podemos optimizar cada aspecto de PBIRS para alinearlo con las necesidades y políticas de nuestra empresa. Implementar estas buenas prácticas no solo mejorará el rendimiento y la seguridad de nuestro entorno de reportes, sino que también facilitará futuras migraciones al servicio Power BI en la nube, asegurándonos que nuestra infraestructura de BI está preparada para el crecimiento y el cambio.

Si tenéis alguna duda o sugerencia, podéis dejarla en Twitter, por mail o dejarnos un mensaje en los comentarios. Y recuerda que también tenemos un grupo de Telegram y un canal de YouTube a los que te puede unir. ¡Hasta la próxima!

Publicado por Roberto Carrancio en Cloud, Power BI, Rendimiento, 0 comentarios