/
O3 xQuerys para O3 BI Server

O3 xQuerys para O3 BI Server

La metadata de artefactos de O3 se encuentra almacenada en eXist-DB, que se ubica dentro de la instalación de O3BI en el directorio /exist-db. Aquí se encuentra la definición de vistas, la relación entre cubos y roles asociados, las expresiones calculadas que se usan en vistas, restricciones aplicadas sobre cubos, programaciones, etc.

Dado que eXist-DB es una base de datos XML, se debe utilizar xQuerys para obtener información relevante respecto a los mencionados artefactos y sus relaciones.

Aquí se explica cómo establecer conexión con la base eXist de la instalación de O3BI. Luego se presentan algunos ejemplos.

Según la consulta a realizar debemos navegar dentro de la estructura de recursos (click en los elementos de la columna Resources).

Ejemplos

1. xQuery para obtener los cubos de un rol.
Una vez establecida la conexión con la base eXist, moverse hasta o3bi/domains/default/current/runtime:

Presionar 

En el cuadro de texto pegar las siguientes expresiones:

declare namespace dc='http://purl.org/dc/terms';
declare namespace bn="
http://ns.ideasoft.biz/schemas/o3/metadata/BusinessNomenclature/2012-03";
declare namespace vd="
http://ns.ideasoft.biz/o3bi/schema/ViewDefinition/2011-01";
declare namespace sec="
http://ns.ideasoft.biz/o3bi/schema/Security/2011-01";
declare namespace cd="
http://ns.ideasoft.biz/o3bi/schema/CubeDefinition/2011-01";

let $roleName:="Administrators"
return /cd:cubeDefinition[.//cd:accessRestrictions/cd:roleName=$roleName]/cd:cubeName

Presionar Submit

El resultado se muestra en el panel inferior:


2. xQuery para obtener las expresiones calculadas de un servidor y para cada expresión, en qué vistas están aplicadas (desde o3bi/domains/default/current/runtime también):

declare namespace vd="http://ns.ideasoft.biz/o3bi/schema/ViewDefinition/2011-01";
for $i in distinct-values(/vd:viewDefinition//dataComponents/@name)
	return <expression><name>{$i}</name><views>{/vd:viewDefinition[.//dataComponents/@name=$i]/vd:viewLabel}</views></expression>

El resultado es un archivo .xml

3. xQuery para obtener las restricciones aplicadas sobre vistas de cubos (desde o3bi/domains/default/current/runtime también):

declare namespace cd="http://ns.ideasoft.biz/o3bi/schema/CubeDefinition/2011-01";
 
/cd:cubeDefinition[not(empty(cd:accessRestrictions/cd:profileName/text()))]

4. xQuery para obtener vistas por cubo con el fin de obtener su fecha de creación, propietario, modificación y quien modifico

declare namespace cd="http://ns.ideasoft.biz/o3bi/schema/CubeDefinition/2011-01";
declare namespace dc="http://purl.org/dc/terms";
declare namespace vd="http://ns.ideasoft.biz/o3bi/schema/ViewDefinition/2011-01";
declare namespace sec="http://ns.ideasoft.biz/o3bi/schema/Security/2011-01";

declare function local:vistasPorNombreDeCubo($cubeName as xs:string) {
let $cubeUrn:=/cd:cubeDefinition[.//dc:title=$cubeName]/dc:dublinCore/dc:identifier/text()
return  /vd:viewDefinition[.//vd:cube/dc:identifier=$cubeUrn]
};

declare function local:vistaPorNombre($viewNameList as xs:string*) {
/vd:viewDefinition[.//dc:title=$viewNameList]
};


declare function local:viewSimpleAuditData($viewDefList as node()*) {

for $view in $viewDefList
return  <viewDef>
{ $view/vd:viewName },
{ $view/vd:viewLabel },
{ $view/dc:dublinCore/dc:creator },
{ $view/dc:dublinCore/dc:created },
{ $view/dc:dublinCore/dc:modifier },
{ $view/dc:dublinCore/dc:modified }
  </viewDef>
};


(:
local:vistaPorNombre(("ConNulos", "SalesByLocation")
local:vistasPorNombreDeCubo("Demo")
:)
local:viewSimpleAuditData(local:vistaPorNombre(("ConNulos", "SalesByLocation")))


Related content

Cómo Migrar la Base de Datos de Liferay
Cómo Migrar la Base de Datos de Liferay
Read with this
HowTo Borrar Respaldos de exist-db
HowTo Borrar Respaldos de exist-db
More like this
O3 BI Establecer conexión con eXist-DB
O3 BI Establecer conexión con eXist-DB
Read with this
How To Cambiar Nombre de Cubos en la URN
How To Cambiar Nombre de Cubos en la URN
More like this
Procedimiento de respaldo de Bases de Datos
Procedimiento de respaldo de Bases de Datos
More like this
Cómo configurar RBAC de O3BI con Diferentes Bases de Datos
Cómo configurar RBAC de O3BI con Diferentes Bases de Datos
More like this