""

CUADROS DE MANDO SAP BUSINESSOBJECTS

SAP BusinessObjects Dashboards 4.0 Cookbook - Review

IntroducciónSAP BusinessObjects Dashboards 4.0 Cookbook, by Xavier Hacking and David Lai (352 pages, mayo 2011) promises you nothing less than "Over 90 simple and incredibly effective recipes for transforming your business data into exciting dashboards". Does it achieve this objective? Read the full review below to find out.

Si bien tengo experiencia trabajando con BO Xcelsius 2008 (por lo que BO Dashboards solía pasar), no tenía ninguno con BO Dashboards 4.0 antes de leer este libro. Entonces, mis expectativas al respecto eran simples: dime cómo hacer con BO Dashboards 4.0 lo que ya sé hacer con Xcelsius; dame recetas sobre las nuevas funciones y muéstrame algunos consejos adicionales. Te puedo decir ahora: aunque este libro no ha cumplido todas mis expectativas (ya que no está enfocado en la nueva versión 4.0), es realmente bueno.

The book is structured in ten chapters (see the table of contents) containing a dozen recipes each. The recipes follow a steady progression, from simple to advanced recipes. You can of course directly jump to any recipe, but reading the whole book in the proposed order is also a possibility.

Paneles de control de SAP BusinessObjects 4.0

El bueno y el malo

En algunos puntos clave me gustaría ofrecer mi perspectiva sobre las fortalezas y debilidades de esta lectura, lo que me pareció particularmente estimulante y enriquecedor, así como sobre algunos aspectos que, como lector, me hubiera gustado ver integrados .

Que es lo que mas me gusta:

  • Parece que las recetas provienen de una experiencia de la vida real. Los autores no solo le dicen cómo se puede usar un componente, sino que también le dicen en qué circunstancias se usan mejor. Los ejemplos utilizados por los autores tienen mucho sentido.

  • Las recetas elegidas cubren una buena proporción del universo BO Dashboards / Xcelsius. Es una muy buena base para comenzar y avanzar.

  • El primer capítulo trata sobre las mejores prácticas (código de colores y comentarios en la hoja de cálculo, etc.); estrictamente hablando, no recetas, pero el hecho es que esta sigue siendo una muy buena idea.

  • El capítulo sobre complementos muestra de manera fácil cómo extender BO Dashboards.

  • Los enlaces a recursos en línea son pocos pero valen la pena (uno de ellos es, por ejemplo, el muy útil Business Objects Board).

  • El libro es bastante claro y está bien escrito. Los ejemplos son fáciles de seguir gracias a las ilustraciones a todo color.

Lo que no me gusta:

  • Algunas cosas no se describen con suficiente precisión y pueden necesitar algo de tiempo de investigación antes de ejecutar.

  • El índice está abarrotado de muchos términos que no describiría como necesarios (por poner un ejemplo, se enumeran todas las funciones de Excel compatibles, y dudo que alguien busque la entrada titulada "tablero" cuando eso es todo el libro es sobre).

  • A partir de hoy no se puede acceder a algunos de los enlaces de Internet que figuran en el libro.

Lo que me falta:

  • Me hubiera gustado una sección sobre las diferencias entre Xcelsius 2008 y Dashboards 4.0 con una lista de recetas que solo son válidas en este último. Permitiría a los usuarios experimentados centrarse únicamente en las nuevas funciones (en lugar de tener que pasar por todas las recetas). Aquí es donde el libro tiende a quedarse corto, en mi opinión.

  • Para lectores intermedios, un ejemplo más completo de tablero de la vida real podría haber sido una gran adición. Los dos estudios de caso proporcionados en el apéndice A son buenos, pero aún están bastante lejos de lo que me han pedido en la mayoría de los compromisos con clientes.

¿Un libro para quien?

Si bien muchos libros de cocina requieren un buen conocimiento del software / lenguaje de programación correspondiente, este no es el caso aquí. La parte inicial de este libro está dirigida a principiantes y no se requiere experiencia previa en BO Dashboards (o versiones anteriores de Xcelsius). Se requiere cierto conocimiento general de Excel, pero algunas recetas ofrecen consejos útiles al respecto.

Entonces, si eres nuevo en BO Dashboards; quieres comprar este libro Seguro. Llegará mucho más lejos (y mucho más rápido) con este libro que con solo tutoriales en línea y la documentación oficial. Las recetas son realmente claras y se pueden usar para paneles de la vida real.

Tenga en cuenta que también es un libro perfecto para principiantes de Xcelsius 2008: podrá utilizar más del 90% de las recetas del libro, y muchos de los archivos de ejemplo se pueden abrir en él.

¿Tienes experiencia previa con Xcelsius? Aunque muchas de las recetas probablemente no sean tan emocionantes para ti, es probable que te gusten algunas de ellas. Echar un vistazo a la tabla de contenido será suficiente para convencerlo de comprar este libro (o dejarlo a un lado).

Si espera un libro sobre BO Dashboards 4.0, tenga en cuenta que solo algunas recetas son específicas de esta versión.

Conclusión

Aunque el título es un poco engañoso, SAP BusinessObjects Dashboards 4.0 Cookbook es un gran libro para ayudar a cualquier desarrollador de tableros a mejorar sus conocimientos de Dashboards 4.0 / Xcelsius. ¡No te lo pierdas!

Muchas gracias a Pakt Publishing por enviarnos una copia electrónica del libro para su revisión.

PD: tenga en cuenta que solo tuve acceso a la versión de libro electrónico, por lo que no puedo decir nada sobre este libro completo que comprará en una librería.

Loading Status Animation in Xcelsius

A menudo, al desarrollar un panel de control con Xcelsius, tenemos conexiones a una base de datos, ya sea con LiveOffice o QaaWS (Query as a Web Service). Esto nos deja con solo dos opciones para actualizar nuestro panel de control: ya sea que procedamos una vez que todos los componentes de Xcelsius estén cargados o, alternativamente, cambiemos un botón de radio, un cuadro combinado o cualquiera de los componentes relacionados con los objetos de conexión. En ambos ejemplos, cuando tenemos que administrar grandes cantidades de datos, normalmente esperamos hasta que la conexión devuelva nuestra solicitud. Esto puede ser frustrante, especialmente cuando no tenemos ningún indicador para indicar que los datos se están procesando. En este artículo ilustraré una solución conveniente a este problema.

  • En primer lugar, necesitamos crear los objetos que se mostrarán mientras la consulta carga los datos: aconsejaría comenzar creando un rectángulo como capa falsa. Una vez hecho esto, creamos otra imagen que será nuestra animación.

Tenemos muchas animaciones posibles:

View the flash file: Loading Animations in Xcelsius

Así es como aparece la animación:

View the flash file: Xcelsius Animation

  • Luego agrupamos estos dos objetos y los llevamos al frente.

  • En una hoja de cálculo creamos una celda donde vinculamos el estado de la consulta.

  • Llegado a este punto, en propiedades en QaaWs o en la conexión de Live Office seguimos estos pasos:

En la pestaña Uso:

Sección de estado de carga:

  1. En la celda Cargando mensaje, codificamos una "L"
  2. En la celda Mensaje inactivo codificamos una "C"
  3. En la opción Insertar debemos mapear la celda de la hoja de cálculo, en nuestro caso "B1"

  • Finalmente seleccionamos el grupo que habíamos creado previamente, y en la ventana de visibilidad dinámica asignamos el Estado a la celda "B1" y la clave a una "L". Esto significa que mientras se carga la consulta, podemos ver simultáneamente el grupo.

El resultado final es como se muestra a continuación.

Esta estrategia contribuye a proporcionar un entorno amigable para el usuario, en particular en aquellas situaciones de recuperación lenta de datos.

Si tiene alguna pregunta o sugerencia sobre esta solución, no dude en dejar un comentario y con gusto le responderé.

SAP BusinessObjects: a través de los ojos de los críticos y los clientes

In our day-to-day life we are exposed to many purchasing decisions. Going to the supermarket to get some food or buying widgets in an internet shop is no longer a quick and easy task. The diversification of vendors forces us to go through a conscious or unconscious decision making process. It is always interesting to study the reasoning that leads to an action, especially for marketing people, and it is a social phenomenon in constant evolution, ranging from the traditional word of mouth to the most modern surfing of internet forums.

The same happens when a company has the opportunity to make a BI investment and has to choose a vendor that fulfills their particular needs. There are some specialized consulting companies that carry out complex market studies, but the feedback received from clients or contacts is just as influential to the decision making process.

This blog article is focused on the latest studies from Gartner and Forrester regarding SAP BusinessObjects.

The Forrester Wave: Enterprise Business Intelligence Platforms, released during the last quarter of 2010, considers SAP BusinessObjects to be leading the market together with IBM Cognos, Oracle and Information Builders, followed by SAS, Microsoft and MicroStrategy close behind. The 145 criteria used correspond to vendor surveys, product demos and customer reference surveys.  The end result is a graph that situates BI vendors in relation to their current offering and strategy.

SAP BusinessObjects is recognized as having very good BI tools for each job:

  • Crystal Reports as top report writer embedded in thousands of applications;

  • Explorer as a combination of the power of OLAP and the simplicity of search, exploration and analysis;

  • SAP BusinessObjects Dashboards is very popular amongst executives that can visualize the generated flash in disconnected mode and no SAP software installed;

  • BEx being still the most widely used and popular query and analysis tool for SAP BW users;

  • Business Warehouse Accelerator with the speed of in-memory database to provide a powerful DBMS optimized for BI;

  • SAP is also leading in self-service BI software as a service (SaaS) offerings.

According to Forrester, the downside of having all these tools is a poor product integration and a lack of object reuse from product to product, which is supposed to be improved with the new release BI 4.0 in Q1 2011.

Gartner’s Magic Quadrant for Business Intelligence Platforms, released in enero 2011, considers the same leader vendors as Forrester and also adds QlikTech thanks to its recent continued growth. It uses standard criteria divided into two categories: completeness of vision and ability to execute. According to the study, a good strength is to have the largest share of the BI platform market (combination of SAP NetWeaver BW and SAP BusinessObjects) with an installed base over 46,000 customers and one of the largest channel and services ecosystems. Reporting and ad-hoc querying capabilities were rated high by customers, whereas other SAP NetWeaver BW tools were below the market average. However, in regards to OLAP, BEx Analyzer seems to be more widely used than Voyager. The complements to the BI platform are also seen as positive: collaboration and decision support (StreamWork), Text Analysis, search-based data exploration with its Explorer product, and the enterprise information management products with data integration, lineage & impact analysis, and data quality. The vision for an in-memory appliance, HANA, promises to solve many of the perennial performance issues of large complex BI deployments in general (given its SQL and MDX access for third-party BI tools) and SAP BW in particular. As also reported by Forrester, SAP has been one of the first of the leading BI vendors to introduce a SaaS offering, BusinessObjects OnDemand BI. In addition, SAP has also made investments in mobile BI with its Sybase acquisition and the SAP BusinessObjects Explorer iPhone/iPad application.

In the cautions part of the report, Gartner mentions some concerns that customers have about the roadmap after product changes to support optimizations with the SAP Business Applications and NetWeaver BW products, and also a perceived higher cost of ownership. Migration, implementation and integration choices are reported to be confusing by some customers. Finally, ratings for support, software quality and sales experience are unfortunately low compared to other vendors in the survey. This is currently being address by SAP; they are giving more and more importance to Channel Partners like Clariba, which can provide high quality uninterrupted support, much more aligned to the customer needs.

If you have any questions or comments about the Gartner or Forrester summaries mentioned in this article, or would like more information about Clariba’s SAP BusinessObjects services, please leave a comment below or contact us at info@clariba.com.

Xcelsius - Cómo encontrar la ubicación de un clic

Durante el desarrollo de un tablero de Xcelsius para un cliente Clariba, me encontré con dos desafíos interesantes relacionados con la ubicación de un clic en los grficos de perforación.

Encontrar la ubicación de un clic en un gráfico de perforación - Parte 1

Yo estaba trabajando con un gráfico de perforación con dos series y quería saber dónde el usuario había hecho clic (es decir, qué serie y qué posición).

Con una sola serie no habría ningún problema. Xcelsius puede enviar la serie seleccionada a una celda y la posición seleccionada a otra celda. Pero con más de una serie, cada serie todavía puede enviar una posición, pero Xcelsius no permite que todas las series envíen la información al mismo lugar. Así que la información tiene que ser enviada a diferentes lugares. Como resultado, es difícil para el desarrollador saber qué punto se hizo clic en último lugar, ya que la información enviada antes no se elimina.

Solution The idea is to use the series name in a VLOOKUP function to find out which position was sent last.

Para los detalles, he utilizado el archivo Xcelsius adjunto:

Como Xcelsius nos obliga a enviar la información de las diferentes series a diferentes lugares, vamos a hacerlo.

En el archivo adjunto, envié las posiciones a dos lugares diferentes (Drill! B2 para la sección 1, Drill! B3 para la sección 2). Pero, ¿cómo sé qué valor fue enviado por última vez? Simplemente usé el nombre de la serie. He configurado el gráfico para enviar el nombre de la serie a Drill! B5, y yo uso una función VLOOKUP para encontrar la posición relevante (vea la fórmula en la celda Results! B4). Entonces puedo usar esta posición para encontrar la etiqueta (o cualquier otra información relevante) con la función OFFSET (resultados de la celda B1).

Encontrar la ubicación de un clic en dos gráficos de perforación - Parte 2

En el segundo escenario, tenía dos cartas de perforación con los mismos ejes horizontales y la misma serie. Quería saber dónde el usuario había hecho clic (es decir, qué gráfico y qué punto - serie y posición)

Con Xcelsius no es posible enviar el nombre del gráfico en algún lugar. Cada serie puede enviar una posición (o valor, fila o columna), pero Xcelsius no permite que todas las series envíen la información al mismo lugar. Este es el mismo desafío que la Parte 1 en que la información tiene que ser enviada a diferentes lugares. Como resultado, el desarrollador no sabe qué punto se hizo clic en último lugar, ya que la información enviada antes no se elimina.

Solution The idea is to send rows with position and graph name (instead of sending only the position), and to use the series name in a VLOOKUP function to find out which row was sent last.

Para los detalles de la solución he utilizado el archivo adjunto Xcelsius:

Cuando el usuario hizo clic en un punto de un gráfico, quería que el gráfico enviara 2 datos: el nombre del gráfico y la posición (en el eje horizontal). En lugar de enviar sólo el valor o la posición, configuré los gráficos para enviar una fila (las columnas también funcionan). La fila enviada tenía las dos piezas de datos en ella. En el archivo de ejemplo configuré el diagrama de cantidad para enviar los datos de Drill! E2: F3 y el gráfico de valores para enviar los datos de Drill! E5: F6.

Cuando se hace clic en la primera serie, los datos se envían a Drill! B2: C2; La segunda serie se envía a Drill! B3: C3.

Así que ahora tenemos los nombres de los gráficos en Drill! B2: B3 y las posiciones en Drill! C2: C3. Pero, ¿cómo sabemos a qué fila se hizo clic últimamente? Para ello usamos el nombre de la serie. He configurado cada gráfico para enviar el nombre de la serie a Drill! B5. Ahora, si hago clic en el cuadro Cantidad, en el punto Sección 2 / Mes 2, entonces "Sección 2" será enviado a Drill! B5, y Drill! E3: F3 será enviado a Drill! B3: C3.

Entonces simplemente coloco la información. Encontré el nombre del gráfico con una función VLOOKUP en el nombre de la serie (fórmula en la celda Results! B1), la posición con otro VLOOKUP (resultados de la celda! B5) y el mes con OFFSET en la posición.

Esto ha sido un rápido vistazo a las formas de encontrar la ubicación de un clic en gráficos de perforación ... Me gustaría saber si alguien más ha encontrado una solución para retos similares. Si tiene algún comentario o ideas, no dude en dejar un comentario a continuación.

Cargando solución de mensajes para Xcelsius

Uno de los problemas más desafiantes que enfrentan los desarrolladores de Xcelsius todos los días está relacionado con el rendimiento de los dashboards. A veces se puede mejorar el rendimiento cambiando las propiedades de conexión, cambiando las consultas, reduciendo los componentes de Xcelsius o reduciendo las fórmulas dentro de la hoja de Excel que rellena el panel de control.

Sin embargo, incluso después de hacer estos ajustes, es posible que el tablero de mandos todavía puede tomar más tiempo de lo esperado para cargar. De hecho, el cálculo de algunas fórmulas críticas tales como SUMIF o VLOOKUP puede tomar varios segundos para actualizar los valores. Pero en lugar de explicar a los usuarios que el tablero está calculando localmente los valores y que simplemente tienen que esperar un poco, ¿por qué no mostrarles el progreso de carga en acción ...

Lo que he creado es un botón "habilitar" para nuestros filtros que mostrará el mensaje de carga durante un período de tiempo definido antes de mostrar los datos. Tenga en cuenta que se trata de una activación de Excel y no de consultas (incluso si se puede adaptar fácilmente utilizando algunas de las salidas como disparadores para las conexiones de datos).

Los componentes que he utilizado son los siguientes:

  • Combobox 1: This is filtering only the labels and sending the selected one to a destination (using filtered rows settings).
  • Combobox 2 (behind 1): This filters the entire table only when the play button sends values greater than 0 (so it is in PLAY mode) and less than our max time (in this case 6 seconds). It uses filtered rows and sends the output to a destination. Note: it filters the value 1 from the column with a formula that says: IF what I selected from combobox 1 is equal to what I see in the related column of my source table, then 1 else 0.
  • Spreadsheet Table: I needed an output control to show the values, but of course in real life this could be any other component.
  • Play control: This manages both our loading message and the combobox 2. It has the auto rewind option enabled but neither the auto play nor the auto replay. We should calculate the time that we need to show our loading message and set the play control to that value (or that value +1. it depends on the logic you want to use).
  • Background: This is meant to create the real loading effect that thanks to the “Block mouse events” option avoids any inappropriate clicks of our users while the dashboard is thinking.
  • Text label: This says “Loading…” but could say something else. The important thing is that the user needs to understand that the dashboard is calculating the values.
  • Horizontal progress bar: I used this control that shows the output values of the play button to have more loading effect.

Note: the last three components have been chosen within the out of the box ones to keep things simple. In a real case I would use some flash animations or the loading component that has been released by Donald MacCormick within the xcomponents solution.

The formula I used to show the loading message (and enable combobox 2 as already explained) says the following: IF the output value of the play control is greater then 0 and less than the maximum I need, then 1 else 0.

Espero que encuentre esta solución útil y fácil de implementar. Siéntase libre de revisar el archivo SWF para ver un ejemplo de cómo funciona la solución de carga de mensajes y descargar la prueba XLF en el archivo zip siguiente. Avísame si tienes alguna pregunta o comentario.

SWF file: loading message_solution

XLF file: test_v3

Dashboards de SAP BusinessObjects que se ejecutan en Android

Mientras que los usuarios de Apple y Blackberry luchan por encontrar maneras de visualizar las últimas versiones de contenido flash con sus dispositivos a través de varias aplicaciones y plug-ins, Google con su filosofía de código abierto, parece estar en primera posición en esta carrera.

La versión más reciente de Android v2. 2 ("Froyo") basada en Linux Kernel 2.6. 32, soporta nativamente la tecnología flash de Adobe utilizada por SAP BusinessObjects Dashboards (anteriormente Xcelsius) y SAP BusinessObjects Explorer. La diferencia es que permite la visualización interactiva de Dashboards, informes de WebIntelligence y espacios de exploración sin la necesidad de una aplicación de terceros, a diferencia de iPhone, iPad y Blackberry.

This means that your company can leverage the effort spent building Xcelsius dashboards by providing mobile employees with a very powerful and interactive interface to make business decisions in the field. It is clear that not all dashboards would be suitable for mobiles and screen dimensions should be taken into account when developing, however below you will see an example which was not specifically designed for mobile but actually fits perfectly in my HTC Legend.

Dashboards en Android

Adobe anunció oficialmente el octubre 25, 2010 que el sistema operativo Android de Google 2.2 ya incluye el plug-in Flash Player 10.1 y el nuevo HP Palm Pre 2, pero aún no dijo cuándo lanzará las versiones para El sistema operativo BlackBerry, el Windows Phone de Microsoft, el sistema operativo Symbian o el MeeGo de Nokia / Intel.

Apple ha insistido en que los dispositivos basados ​​en iOS como el iPhone y el iPod touch nunca ofrecerán un reproductor Flash. En cambio, la empresa está buscando en otra dirección, sorprendentemente hacia un estándar abierto esta vez: HTML5.

Por último, en el lado del proveedor de BI, también es interesante observar que, como resultado de una creciente demanda de contenido de BI en dispositivos Apple, SAP BusinessObjects, que solía endosar una aplicación llamada Roambi Mobile Dashboards por MeLLmo, Inc. Desarrollando su propia solución para una experiencia interactiva de BI que seguramente tendremos que vigilar.

Si tiene algún comentario sobre el desarrollo de paneles para dispositivos móviles, no dude en dejar una nota a continuación.

Consejos para instalar Xcelsius 2008 con Office 2010

Mientras que Microsoft Office 2010 ha estado disponible para la venta al por menor desde junio 2010, la versión más reciente de Xcelsius (2008 SP3 FP3. 3) aún no es oficialmente compatible. En este momento se supone que se debe ejecutar con Office 2003, XP o 2007. Pero tal vez le interese saber qué ocurre si intenta instalar Xcelsius 2008 en un equipo que sólo tiene Office 2010 ...

Para empezar, obtendrá el siguiente mensaje:

Información del instalador de Microsoft
Información del instalador de Microsoft

En realidad, Xcelsius 2008 funcionará bien con Office 2010. La única pregunta es, ¿cómo deshacerse de este problema de instalación? Una solución posible es instalar una versión anterior de Excel, instalar Xcelsius y, a continuación, quitar el Excel más antiguo. Pero se necesita tiempo y es probable que no tenga ningún archivo de instalador para una versión anterior de Office.

El propósito de este post es, por tanto, permitirle realizar la instalación de Xcelsius 2008 con Office 2010 de una manera rápida y eficiente. El principio de la solución es evitar que el instalador compruebe la presencia de Office en el equipo al ajustarlo.

Requisitos previos:

  • An Xcelsius installer file. For this article I’ve downloaded the file xcelsiusent2008sp3.exe from SAP Business Objects Software Downloads.
  • Una clave de licencia disponible en service.sap.com/support - Claves y solicitudes
  • InstEd, a free MSI editor
  • A software able to extract data from zip-formatted files. 7zip works fine and is free – also for commercial use.

Pasos:

Extraer a Xcelsius
Extraer a Xcelsius
  1. El archivo de instalación de Xcelsius es un archivo zip. Extraer los datos de ella.
  2. Download the latest version of InstEd and install it on your computer.
  3. Realice una copia de seguridad del archivo "Xcelsius.msi" ubicado en la carpeta "paquete". Si comete algún error con el archivo msi, podrá recuperarlo.
  4. Abra con InstEd el archivo "Xcelsius.msi". En la parte izquierda de la pantalla, en la pestaña "Tablas", haga clic en "LaunchCondition". En el lado derecho verá una lista de condiciones que están marcadas.
  5. Elimine la fila que se refiere a Office (comienza con "(EXCELl10 OR OUTLOOK10") y guarde el archivo.
  6. Ahora ejecute el archivo "Xcelsius.msi" que acaba de modificar. No debería tener ningún mensaje de error con respecto a Office. Acepte el acuerdo de licencia (aunque no se muestre), escriba su nombre / organización / clave (clave de licencia) y elija las opciones que necesita. Después de copiar algunos archivos, el programa le dirá que ha terminado de instalar Xcelsius.
  7. Es posible que encuentre otro problema durante la primera ejecución del programa: aunque ingresó un código de clave válido, Xcelsius lo considera como caducado. Ingresar el código clave nuevamente no resolverá el problema. El truco es ejecutar Xcelsius como administrador (muestre la opción haciendo clic con el botón derecho en el icono del programa).

Ahora ingresar el código de clave dará lugar a la apertura de Xcelsius.

Nota: las pruebas se realizaron en Windows 7. Si te encuentras con otros comportamientos en diferentes plataformas, por favor avísame!

Mejora del rendimiento de los archivos Xcelsius con OpenOffice

During the past few months my coworkers and I have been working with Xcelsius on a regular basis to develop dashboard for our customers. Sometimes we face challenges when we generate a swf file from an xlf file in Xcelsius and we don’t know why. Other times, Xcelsius crashes during the generation of the swf file. Even when the swf generates correctly, we occasionally see dashboard performance issues (i.e. when we execute the Xcelsius swf file, the load time is very slow).  However, we have found a trick that can be used to resolve these issues.

In this post I will explain the results of two tests that we did to reduce xlf file sizes followed by the steps you can follow to achieve these results.

The main idea of this trick is to reduce the size of the xlf file using OpenOffice software. Let me start by showing you the test results:

For the purpose of this test, we created an Xcelsius file called TestCompression.xlf

Primero exportamos el archivo xls del archivo Xcelsius seleccionando Datos -> Exportar:

We then saved the xls file. As you can see in the screenshot below, this generated a 2,264 KB xls file, so our objective was to decrease this file size.

Next we opened the xls file with Microsoft Excel and without modifying anything we saved it using another name. We repeated the same steps but this time with OpenOffice. In the image below you can see the decrease in size of the xls file. The size difference between the original xls file and the OpenOffice xls file is quite significant.

Finalmente importamos el nuevo archivo xls a Xcelsius seleccionando Datos -> Importar

In the screenshot below you can see that we decreased the xlf file size using the OpenOffice xls, but the change wasn’t very significant. TestCompression-OpenOffice.xlf is 1,117 KB, compared to the original TestCompression.xlf which was 1,236 KB.

As a result, we decided to test with another xlf file, which included hard coded data, to see if the compression would be more significant. For the second test, we achieved the following results after completing the same steps as outlined above.

In this screenshot we can see a significant decrease in the file size of the OpenOffice xlf with hard coded data. The original file TestCompression2.xlf file was 1,241 KB and the final TestCompression2-OpenOffice.xlf file was less than half the size (577 KB).

As a result of these two tests, we observed the following:

  • Each time we modify an Excel Sheet inside Xcelsius, the size of the xls file increases.
  • When the original xls is very large, the decrease in size is more substantial when we use OpenOffice.
  • If we have hard coded data in the Excel file, we notice a greater size decrease than if we have QaaWs (Query as a Web Service) or Live Office Connections in the Excel sheet.

From now on, each time we attempt to generate a swf and we have made modifications (to data or Excel formulas) inside the Xcelsius Excel Sheet, we follow these best practice steps:

  1. Export from Xcelisus to xls file
  2. Open xls with OpenOffice
  3. Save it as xls file with new name
  4. Import to Xcelsius

In terms of speed, we notice changes in the swf loading process especially if most of our data is hard coded.

Finally find below a summary of the results obtained:

 

If you have experienced a similar situation with your Xcelsius files, I would be interested to hear how you have managed to reduce the file size. Also if you have any suggestions or feedback about my methods in this post, feel free to leave a comment below.

Cuadros de mando en tiempo real - lecciones aprendidas

Hay algunos escenarios en los que se requiere un ritmo rápido para el monitoreo de datos. Aquí es donde entran los paneles de control en tiempo real. Un panel de control en tiempo real puede mostrar información con un alto grado de frecuencia. Esta información es utilizada por el público para tomar decisiones rápidas para corregir el comportamiento de ciertas tendencias previsibles. Los cuadros de mando en tiempo real también pueden activar alertas basadas en umbrales empresariales que permiten al público reaccionar rápidamente basándose en información actualizada al minuto.

La inteligencia de negocios en tiempo real es relevante para múltiples industrias y departamentos. Los paneles de control se pueden usar para monitorear el desempeño del centro de llamadas, el uso del sistema de TI, la seguridad de los datos, los precios dinámicos y la optimización del inventario e incluso apoyar la detección de fraude y los esfuerzos de administración de riesgos. Basado en nuestra experiencia en la construcción de un panel de control en tiempo real para monitorear los datos del centro de llamadas, este artículo destacará los consejos y lecciones aprendidas para cualquier persona que esté llevando a cabo un proyecto similar.

ETL

Scheduling Frequency In reality the dashboard is not real time. It is a batch job with a very short refresh/update frequency. In our case it was 1 minute, which is also a limitation on Data Services batch jobs. It is important to know these limitations and also to know how fast your entire ETL batch job can run.

Si la duración total del trabajo por lotes> la frecuencia de ejecución del trabajo por lotes, se crean procesos superpuestos que inmediatamente pueden causar dos problemas:

  1. Sobrecarga el servidor o genera ralentizaciones de refresco

  2. Crear inconsistencias en sus datos si su ETL no hace correctamente bloques y colas de proceso de escritura a las tablas de DB.

Run Optimization Given the need presented above: batch job total duration < batch job run frequency, you must search for the optimal setting to run your batch job. In Data Services there are some situations that can easily speed up your job execution but there is a delicate balance you must consider. One example is the memory method it uses to run the batch job, which can be selected from:

  • Página

  • En memoria

Página

Además, siempre que tenga un proceso de comparación de tablas, el rendimiento se puede optimizar ejecutando la comparación como un proceso separado.

Comparación de tablas

El método In se ejecuta más rápido cuando el servidor tiene suficientes recursos de RAM, sin embargo, si su servidor no tiene suficiente RAM libre, se sobrecargará y no podrá ponerse al día con nuevos procesos de desove, ejecutándose cada vez más en la memoria física hasta que cause un error. Bloqueo completo del servidor.

Gato

Memory management Tomcat, under determined circumstances, does not perform well with memory management and garbage collection. When executing several QAAWS every minute the memory it uses can build up very quickly. Any Tomcat service on a 32bit Windows environment will have a limitation of 1.2 GB of memory to allocate. Tomcat becomes unstable when it reaches that limit and new requests are still coming in at a constant rate.

Hay varios ajustes en Tomcat y JVM memoria que se puede hacer para optimizar esto.

Un ejemplo de estos ajustes es los límites de memoria que se pueden establecer cuando se inicia Tomcat; Estos se pueden establecer mediante el registro de Windows o modificadores de tiempo de ejecución.

Cache Optim flag The QAAWS application that comes bundled with Business Objects has a limitation set to cache data requests. When the same request is done in short periods of time the cache data is sent instead of running the query again. To avoid this and get new data every time, you need to disable this functionality on the dsws application properties:

dswsproperties

Para desactivarlo, debe establecer el indicador qaaws.cache_dpresult.optim como false.

caché qaaws

Restart Script In order to keep Tomcat service from memory overloads it is a good practice to schedule an overnight restart that will force garbage collection. The script can be very basic or contain additional cleanup tasks.

Guión

HTML Container Placing the flash file on  html container will allow you to execute some actions prior and during the flash file execution. You can run javascripts, pass mandatory flash variables (i.e. suppressing tomcat error messages when running qaaws), etc.

El contenedor html más básico para un archivo flash xcelsius se verá de la siguiente manera:

Contenedor flash Xcelsius

Auto refresh Java script As mentioned before, an HTML container will allow you to run javascript programs on the Explorer window executing your xcelsius flash file. Many applications can be given to javascript but one of them could be the browser page auto-refresh function. With the refresh you can wipe out outdated errors from screen.

No Error flash Variable The no error flash variable is a new functionality on Xcelisus SP4. It allows you to set the pop-up error windows off in cases where the error is not directly related to Xcelsius logic, i.e. Tomcat outages, scheduled system restarts, etc.

Para añadir esta funcionalidad a cualquier panel de Xcelsius, primero debe agregar la entrada de la variable flash a su archivo xlf.

Variables de Flash

Finalmente, también es necesario pasar la variable al SWF como se indica en el ejemplo del código contenedor HTML anterior.

I hope these lessons learned are helpful to anyone working on a real time dashboard. Feel free to leave a comment or question below if you need more information on any of the tips provided in this post.

Desafío SAP Xcelsius para resultados de encuestas de la comunidad: mejores prácticas

I entered the SAP Xcelsius Challenge for Community Poll Results to flex my Xcelsius skills and also offer some fresh options for dashboarding to the SAP SDN community. I’m pleased to report that my submission received an honorable mention in the competition. Thanks to everyone who voted!

En esta publicación explicaré las herramientas, los objetivos, el contenido y la estructura con los que decidí trabajar para este desafío y mis pasos de mejores prácticas para desarrollar un panel de control de Xcelsius.

1. Selección de herramienta

Comencé definiendo el objetivo de alto nivel y seleccionando la herramienta que mejor se adapta. SAP Crystal Dashboard Design (anteriormente conocido como Xcelsius) es una gran herramienta y plataforma, obviamente para el tablero de instrumentos, pero no es para todos los propósitos. SAP BusinessObjects ofrece una amplia gama de herramientas que pueden resolver escenarios específicos; estos están bien integrados y, a menudo, una combinación de dos o más es la mejor solución.

2. Propósito y metas detalladas

¿Por qué estoy construyendo un tablero? ¿Qué información me interesa?

Además de mostrar los resultados de la encuesta, mi objetivo era permitir el análisis del rendimiento de los continentes, regiones y países que participan en los Juegos Olímpicos de Invierno, con un enfoque en los juegos en Vancouver.

En mi opinión, hacer y responder las preguntas anteriores es muy importante y a menudo se pasa por alto a favor de definir primero los KPI. Sin establecer un objetivo claro, no habría podido decidir qué KPI fue más o menos útil que otros. Con eso definido, procedí a responder las siguientes preguntas.

3. Contenido

¿Cómo puedo lograr el objetivo anterior? ¿Cuáles son los mejores indicadores de desempeño? ¿Cómo puedo mostrar estos KPI?

Posibles KPI

  • Numero de medallas

  • Numero de medallas de oro

  • Número ponderado de medallas (oro * 3 + plata * 2 + bronce)

  • Número de medallas / población

  • Número de medallas ganadas por país / Número total de medallas

Posibles opciones de visualización para KPI

  • Tendencias: ¿Qué tendencia de indicador sería mejor ver?

  • Comparaciones: ¿cuáles serían las dimensiones para comparar? 

Elegí el KPI más común: Número de medallas. Pero como verá, este KPI único se puede mostrar de varias maneras. Una forma menos tradicional, en términos de los Juegos Olímpicos, es la agrupación por dimensión geográfica. Esto ofrece una vista única, sin mencionar que me permite mostrar mi complemento DrillChart.

4. Estructura

¿Cómo puedo organizar mejor mi contenido? 

En este punto, decidí resumir qué información tenía y tratar de encontrar un lugar para mi contenido en la pantalla:

  • Los resultados obligatorios de la encuesta: gráfico de barras verticales.

  • Número de medallas por región: gráfico de barras horizontales

El cuadro de Encuesta tiene todos los deportes enumerados, por lo que le da la oportunidad de usarlo también como selector. Pensé que sería bueno conectar estos dos gráficos y permitir que el usuario analizara también el número de medallas por deporte. Aunque podría no ser tan claro como una barra de navegación horizontal que abarca el encabezado del tablero, opté por usarlo, con un subtítulo claro, para guardar algo de espacio en la pantalla.

El orden de selección sería: Deporte → Región, por lo que coloco los Resultados de la encuesta en el lado superior izquierdo, donde el espectador generalmente comienza a escanear la pantalla. Utilicé los dos colores de los juegos de Vancouver, verde y azul, para hacer una distinción clara entre la encuesta y el análisis de medallas.

Tablero de los Juegos Olímpicos 1

Los dos cuadros principales consumen aproximadamente la mitad de la pantalla, y todavía tenía mucho que mostrar:

  • Líneas de tendencia

  • Distribución de medallas: oro, plata, bronce

  • Agregaciones históricas

  • Comparación con el juego anterior.

Toda la información anterior depende de las selecciones del usuario (Deporte - Continente / Región) y proporciona más información sobre los datos. Usé micro-gráficos debajo del gráfico principal de medallas para mostrar los detalles.

Tablero de los Juegos Olímpicos 2

5. Implementación

La parte final es el desarrollo real. Afortunadamente, esto es sencillo, y mucho más rápido, cuando el diseño funcional y el diseño están bien definidos, aunque este siempre es un proceso iterativo con algunas modificaciones.  

I was happy to practice a little bit on this example, and would be happy to hear your feedback! And if you are looking for some creative dashboarding expertise, Clariba has a wealth of experience and very talented consultants in this area. Feel free to contact us at info@clariba.com.

EspañolEnglish