Entradas

Mostrando entradas de abril, 2013

Funciones Lógicas en DAX

Imagen
DAX ( Expresiones de análisis de datos ) es un lenguaje basado en fórmulas pensado para definir cálculos personalizados en tablas de PowerPivot.   DAX usa alguna de las funciones de Excel y añade otras pensadas para trabajar con datos relacionales y realizar agregaciones dinámicas. Las funciones DAX, atendiendo a su uso o tipo de cálculo, pueden dividirse en grupos (lógicas, matemáticas, tiempo, etc).  Veamos hoy las más sencillas, las funciones lógicas y su uso: AND (valor1; valor2;...)  : Compara todos los argumentos y si todos son verdaderos devuelve True. En caso contrario devuelve False. OR (valor1; valor2;...)  : Compara todos los argumentos y si alguno es verdadero devuelve True, y si no se cumple devuelve False. FALSE() : Devuelve el valor lógico False. TRUE() : Devuelve el valor True. NOT(valor) : Cambiar False a True o True a False según el uso. IF(criterio; verdadero; falso) : Devuelve la expresión verdadero si el criterio se cumpl

Funciones Analíticas en Oracle I

Imagen
Oracle tiene una gran variedad de funciones analíticas que mejoran la capacidad de desarrollo Business Intelligence. Mediante ejemplos veamos cómo pueden ayudarnos. ROLLUP es una extensión de la cláusula group by y permite el cálculo de subtotales y totales para los grupos datos.  La sintaxis es la siguiente: Group by rollup (campo1, campo2) Por ejemplo, supongamos que tenemos una tabla de DEPARTAMENTOS donde se recogen las distintas áreas departamentales de nuestra empresa y otra tabla de EMPLEADOS donde recoge toda la información de los trabajadores, su rango salarial, sueldo bruto y departamento al que pertenece, y queremos obtener el total de los sueldos de los empleados por departamento para cada rango salarial. Usando la opción ROLLUP podemos obtener el resultado deseado con una sencilla consulta: select d.departamento, e.rango, sum(e.sueldo_bruto) as total from departamentos d, empleados e where d.id_departamento=e.id_empleado group by ROLLUP (

Uso de la función RANKX (DAX)

Imagen
La función RANKX devuelve la clasificación de un número (ranking) en una lista de números para cada fila de la tabla. Supongamos que tenemos en nuestro modelo una tabla compuesta por los distintos departamentos o tiendas de nuestra empresa y las ventas contables de cada departamento (FACT_VENTAS_CONTABLES): Para añadir un indicador, por ejemplo, de Ranking de ventas contables hacemos lo siguiente: Creamos un indicador que sea el sumatorio del total de ventas de la tabla:   TOTAL_IMPORTE_VENTAS_CONTABLES:=SUM([IMPORTE_VENTAS_CONTABLES]) Creamos el indicador de Ranking con la función RANKX:    Ranking Ventas Departamento (Ventas         Contables):=IF(NOT(ISBLANK([TOTAL_IMPORTE_VENTAS_CONTABLES])); RANKX(FILTER(ALL(FACT_VENTAS_CONTABLES);[TOTAL_IMPORTE_VENTAS_CONTABLES]);[TOTAL_IMPORTE_VENTAS_CONTABLES];;;DENSE);BLANK()) La función DAX para obtener el ranking la complicamos un poco más atendiendo al criterio de que no muestre el ranking en aquellos casos

Herramientas Data Mining

Imagen
Data Mining es una categoría de herramientas de análisis open-end. En lugar de hacer preguntas, se toma estas herramientas y se pregunta algo "interesante", una tendencia o una agrupación peculiar, por ejemplo. El proceso de Data Mining extrae los conocimientos guardados o información predictiva desde el DataWarehouse sin requerir pedidos o preguntas específicas. Las herramientas Mining usan algunas de las técnicas de computación más avanzadas para generar modelos y asociaciones como redes neurales, detección de desviación, modelamiento predictivo y programación genética. Data Mining es un dato conducido, no una aplicación-conducida. RapidMiner (anteriormente, YALE, Yet Another Learning Environment) es una de estas herramientas para el análisis y minería de datos. Permite el desarrollo de procesos de análisis de datos mediante el encadenamiento de operadores a través de un entorno gráfico. Se usa en investigación educación, capacitación, creación rápida de prototipos y e

Recuperar el proyecto de un Cubo de Analysis Services

Imagen
Una vez desarrollado y desplegado un cubo de Analysis Services solemos olvidarnos, si este no sufre modificaciones constantes, del proyecto de Visual Studio. Hay veces, incluso, que llegamos a perder el proyecto por lo que cualquier modificación de la estructura del cubo se hace imposible. Para estos casos nos viene de maravilla la  ingeniería inversa . Lo que hacemos es conectarnos al servidor de Analysis Services e importar toda la definición de la base de datos a un nuevo proyecto de Analysis Services. Hacer esto no es difícil aunque puede ser un proceso lento, y para hacerlo simplemente debemos crear un nuevo proyecto (New Project) desde Visual Studio Business Intelligence indicando que vamos hacer una importación de una base de datos de Analysis Services: Una vez creado el proyecto se nos pedirá que indiquemos la ruta del servidor y la base de datos de Analysis Services que queremos importar. Y con esto habremos recuperado el proyecto de forma completa incluidos l

Cognos: Añadir comentarios a un informe

Imagen
Documentación detallada en la que se explica cómo añadir un comentario a un informe. Pulsa para ver la documentación

PowerPivot sin origen de datos externo

Imagen
La forma de trabajar natural de PowerPivot es conectarnos a un origen de datos externo, ya bien sea una base de datos, un cubo, o un fichero externo (excel, texto, csv, ...): Pues bien, existe otra posibilidad que es tomar como conexión de origen datos el mismo fichero Excel sobre el que estamos trabajando. Supongamos que tenemos una hoja de datos con la siguiente información: Desde la pestaña PowerPivot pulsamos sobre el botón de Crear tabla vinculada . De forma automática se seccionara la tabla que vamos a tomar como origen de datos. En este punto es importante marcar la casilla " Mis datos tienen cabeceras " si queremos que se tomen las cabeceras de la tabla. Al Aceptar los datos serán vinculados al entorno de desarrollo PowerPivot donde podremos modelar la información, añadir cálculos, incluir formulas DAX, crear KPIs, crear ordenaciones, ocultar datos, filtrar, etc. Una vez tengamos la información modelada pulsamos sobre el botón

Bloquear el uso de TOAD en Oracle

Imagen
TOAD for Oracle de  Quest Software  esta considerada como una de las herramientas más útiles para los DBAs, permitiendo tanto el desarrollo PL/SQL como la Administración y Monitorización de la BBDD. En aquellos sistemas con información sensible puede ser interesante limitar el acceso de herramientas como el TOAD a la BBDD. Un DBA puede limitar el acceso de esta herramienta a través de la inclusión de un sencillo disparador: CREATE OR REPLACE TRIGGER BLOQUEAR_TOAD AFTER LOGON ON DATABASE DECLARE v_prog sys.v_$session.program%TYPE; BEGIN SELECT program INTO v_prog FROM sys.v_$session WHERE audsid = USERENV('SESSIONID') AND audsid != 0 -- No chequea conexiones SYS AND rownum = 1; IF UPPER(v_prog) LIKE '%TOAD%' OR UPPER(v_prog) LIKE '%T.O.A.D%' THEN RAISE_APPLICATION_ERROR(-20000, 'TOAD no tiene permisos para acceder a la BBDD'); END IF; END; Lógicamente para crear este disparador se deberá disponer de permisos

Roles de seguridad en Analysis Services

Imagen
Documento explicativo de como implementar roles de seguridad en Microsoft Analysis Services . Pincha en el  enlace  para descargar.

Un caso de uso de PowerPivot

Imagen
Ejemplo de fichero Excel con PowerPivot sobre un modelo de base de datos de RRHH. Descargar fichero de ejemplo en el siguiente  enlace

Simulando Virtual Private Databases

Imagen
Oracle tiene una característica de seguridad llamada Virtual Private Databases (VPDs) que viene incluida como parte del paquete Oracle Avanced Security. Las Virtual Private Databases permiten a los administradores de la base de datos crear procedimientos almacenados que de forma automática agregan una cláusula where a una consulta. Por poner un ejemplo, si un usuario inicia sesión en una Virtual Private Databases con cualquier herramienta cliente que le permita el acceso y ejecuta la consulta SELECT * FROM DIVISA_CAMBIO podrá obtener resultados completamente distintos a los de otro usuario que haya accedido. Es decir, podríamos limitar el acceso a la tabla para que cada usuario únicamente pueda ver los cambios de divisa de su continente o zona de países. En el resto de bases de datos, aunque esta funcionalidad no esta implementada, podremos simularla en base a vistas sobre la tabla a consultar y el usuario de conexión. Por ejemplo: Empezamos creando la tabla de permi

Introducción al Catálogo de Oracle

Imagen
Oracle cuenta con una serie de tabla y vistas, de solo lectura, que conforman una estructura denominada catálogo o diccionario de datos.  EL diccionario de datos es creado cuando la base de datos es creada (el script de creación de estas tablas y vistas, CATALOG.SQL, se encuentra por defecto en el directorio RDBMSADMIN ). Para reflejar con exactitud el estado de la base de datos en todo momento, el diccionario de datos es automáticamente actualizado por Oracle en respuesta a acciones específicas como podría ser por ejemplo la modificación de la estructura de la base de datos. La principal función del catálogo de Oracle es almacenar toda la información de la estructura lógica y física de la base de datos: Definiciones de todos los esquemas en la BD (tablas, índices, vistas, clusters, sinónimos, secuencias, procedimientos, funciones, paquetes, triggers,etc). Espacio asignado y actualmente ocupado por un esquema. Usuarios de la base de datos. Privilegios y roles

Tablas Externas en Oracle 9i

Imagen
Una, entre las muchas características que se han integrado en Oracle 9i es la capacidad de crear las tablas externas. Una tabla externa es una tabla donde la estructura se define dentro de la base de datos pero que sus datos residen externamente en uno o más archivos en el sistema operativo.  Estas tablas son muy similares a las tablas regulares en Oracle, a excepción que los datos no se almacenen  en los datafiles de Oracle, si no en ficheros del sistema operativo, y estos no son manejados por la base de datos. Las tablas externas en esta versión tienen algunas limitaciones importantes: No es posible realizar operaciones DML sobre estas tablas (insert, update o delete). No se pueden definir índices en la tabla. No soporta archivos más grandes de 2GB. A pesar de estas limitaciones, las ventajas que podemos obtener sobre el uso de estas tablas son muy considerables, ya que son tablas estáticas,en las que el usuario solo puede acceder a los datos pero no modificarlos. 

TRABAJANDO CON ORACLE FORMS 10G

Imagen
La herramienta Forms, incluida dentro ORACLE DEVELOPER SUITE (DS) nos permite atacar nuestra base de datos de producción para facilitar a los usuarios un acceso transparente a los datos almacenados en la misma. Forms Developer 10g es una evolución de las anteriores herramientas de desarrollo que Oracle Corporation ya tenía en el mercado(Oracle Developer 2000 y posteriormente Oracle Developer 6i). En todas las versiones se sigue una misma metodología de programación, por lo que no es difícil para el programador pasar de una versión a la siguiente con unos mínimos costes de tiempo. Sin embargo la mayor diferencia la notaran los usuarios finales que utilicen nuestros desarrollos ya que en las últimas versiones el entorno de trabajo se realiza a través de un navegador Web exclusivamente y no sobre ventanas. Veamos un ejemplo en el que diseñaremos un formulario de inicio de aplicación, configurando todos los parámetros necesarios para poder trabajar en un entorno cómodo. L

Dashboard en Excel

Imagen
Simular un gráfico tipo velocímetro en Microsoft Excel para crear cuadros de mandos. Ver ejemplo en el enlace  Velocimetro.xls

SERVICIOS HETEROGENEOS en Oracle

Imagen
Pulsa en el enlace para ir a la documentación de  Servicios Heterogeneos en Oracle Publicación con ejemplos sobre la creación y uso de Servicios Heterogeneos en Oracle.

Backup y Recuperación en Frío (ORACLE)

Imagen
Un backup es una copia de estructuras y datos de la base de datos que tiene como finalidad el poder llegar a recuperar en el tiempo nuestra base de datos en el caso de un fallo en el sistema. Para establecer la estrategia de backup a utilizar se debe tomar en cuenta la naturaleza de los datos, en que momento se modifica esa información y que crítica es esa información en nuestro negocio. En Oracle, la base de datos esta compuesta por varios grupos de archivos a los cuales se les asigna funciones específicas: Datafiles : Ficheros que contienen las tablas, índices y clusters de la base de datos, es decir, que son los encargados de almacenar la información. Estos archivos pertenecen a un único Tablespace y pueden estar distribuidos en varios discos. Logfiles : Encargados de almacenar las transacciones que ocurren dentro de la base de datos. Control files : Son los ficheros que almacenan la estructura física de base de datos. Parameter Files : son los ficheros d

Modelado tabular (SSAS tabular)

Imagen
Los modelos tabulares son bases de datos "en memoria" de Analysis Services.   Gracias a los algoritmos de compresión avanzados y al procesador de consultas multiproceso, el motor analítico en memoria xVelocity (VertiPaq) ofrece un acceso rápido a los objetos y los datos de los modelos tabulares para aplicaciones cliente de informes como Microsoft Excel y Microsoft Vista de alimentación. Los modelos tabulares admiten el acceso a los datos mediante dos modos: modo de almacenamiento en caché y modo DirectQuery .   En el modo de almacenamiento en caché , puede integrar datos de varios orígenes como bases de datos relacionales, fuentes de distribución de datos y archivos de texto planos.   En el modo DirectQuery , puede omitir el modelo en memoria, lo que permite a las aplicaciones cliente consultar los datos directamente en el origen relacional (SQL Server). Los modelos tabulares se crean en Herramientas de datos de SQL Server (SSDT) mediante las nueva