jueves, junio 30, 2005

Configurar el usuario ASP.NET para PowerPlay de Cognos

Cuando se tenga que trabajar con la herramienta de PowerPlay de Cognos a través de una página web (ASP), será necesario habilitar en el sistema operativo al usuario ASP.Net para el manejo de la herramienta.

Para tal efecto se deben seguir los siguientes pasos:

  1. Abrir "Panel de Control"
  2. Ir a "Herramientas Administrativas"
  3. Abrir "Servicios de componentes"
  4. En Servicios de componentes ir a "Mi PC" --> "Configuración DCOM"
  5. Buscar el componente "Cognos PowerPlay Application"
  6. Clic derecho e ir a propiedades pestaña "Seguridad"
  7. En Permisos de inicio y activación eliga "Modificar..."
  8. Añada el usuario ASP.NET y otorgue los privilegios necesarios.
  9. Para el caso de Windows 2000 digite en ejecutar "dcomcnfg" y continue con los pasos 5 hasta el 8.
Luego de esto el usuario ASP.Net estará habilitado para trabajar con el PowerPlay desde la web.

martes, junio 28, 2005

Creación de un reporte mediante Script VB

El siguiente código genera un reporte que tiene todas las provincias como filas, y todas las categorías de la dimensión Ventas como columnas (obj.Columns.Item(1))

*********************************************
1 Dim objSet obj = CreateObject("CognosPowerPlay.Report")
2 obj.Open("D:\001Proyectos\ReportCN_mv.ppr")
3 obj.ExplorerMode = false
4 obj.Rows.Remove
5 dim listCat
6 set listCat = obj.CategoryList()
7
8 listCat.Add 3, "Ubigeo", "Departamento", "Provincia"
9 obj.Rows.Add listCat
10
11 If obj.Columns.Item(1).CanDrillDown Then
12 obj.Columns.Item(1).DrillDown
13 End If
14
15 obj.Save
16 obj.Close
17 Set obj = Nothing
*********************************************

Para este ejemplo se plantea que se tiene un reporte con solo un registro habilitado, que en realidad es una medida (Measure) que corresponde a las ventas (Venta).

Descripción:
============
1.- Se crea el objeto de tipo Reporte.
2.- Se abre el reporte existente
3.- ExplorerMode, si es Verdadero se restringe algunas funciones del reporte, si es falso se habilitan todas las funciones y propiedades en el reporte.
4.- Borramos todas las filas del reporte.
5.- Definimos un objeto de una lista de categorías.
6.- Pasamos al objeto la lista de categorías del objeto reporte.
8.- Agregamos a la lista de categorías todas las categorias que pertenecen al nivel de "Provincia" de la dimensión Ubigeo. objetoCategoriaLista.Add recibe de parámetros el número del nivel y los nombres de las categorías hasta donde se quiere llegar.
9.- Adicionamos la lista de categorías al reporte.
11.- Verificamos si se puede realizar un drill down en la dimensión, o nivel, que existe en el reporte.
12.- Realizamos el DrilDown en ese nivel. DrillDown despliega todas las categorías que existen en el nivel especificado.
15.- Guardamos el reporte. Save guarda el reporte actual, tal y como está definida al momento de abrir el reporte.
16.- Se cierra el objeto reporte.

lunes, junio 27, 2005

Modificar un Reporte existente mediante VB Script

Se tiene un reporte y se desea agregar una dimensión al reporte:
Tenemos el siguiente scripts (*.vbs):

'Abrimos un reporte vacio y lo sobreescribimos
Dim obj
Set obj = CreateObject("CognosPowerPlay.Report")
'Abrimos el reporte
obj.Open("D:\001Proyectos\MyNewReport.ppr")
'Declaramos modo de uso
obj.ExplorerMode = false
'Declaramos una lista de categorias
dim listCat
set listCat = obj.CategoryList()
'Adicionamos la dimensión a la lista
listCat.Add 1, "Tiempo"
'Adicionamos la lista al reporte
obj.Columns.Add listCat
'Guardamos el reporte
obj.Save
obj.Close
Set obj = Nothing

En el ejemplo tenemos:
CreateObject("Nombre") .- Declaramos que el objeto a crearse es del tipo Reporte ("CognosPowerPlay.Report")
Open(ruta) .- Esta función es propia de un objeto de tipo reporte y abre el reporte que se especifica en la ruta.
ExplorerMode .- Define como se hará uso el reporte. Si es Verdadero, el reporte estará limitado en algunas funciones, si es Falso, el reporte tiene todos los métodos y propiedades habilitados.
CategoryList .- Permite crear un objeto de tipo "Lista de categorias" en la cual se pueden agregar distintas categorias de las dimensiones de un cubo.
listCat.Add 1, "Tiempo".- Agregamos en la lista la dimensión "Tiempo". El número 1 especifíca el nivel donde en que se encuentra el nombre especificado. En este caso tendremos q se adiciona al reporte los años 2003 y 2004 que son las categorias (hijos) en que se abre "Tiempo" (que está en el nivel 1).
Columns.Add listCat .- Con esta función agregamos la lista de categorias, con los cambios respectivos, como columnas al reporte.
obj.Save .- Grabamos el reporte. En este caso sobreescribimos el reporte existente, para cambiar el nombre o ruta existe la función SaveAs.