Crear un campo calculado en una dimension SQL Server

12/04/2010 - 16:29 por Alex | Informe spam
Hola! Tengo una estrella montada en SQL Server y tengo una dimension llamada
departamento. Hay dos campos de esa dimension que me interesaria "dividir" y
que fuera un miembro mas de la dimension:
Seria algo asi:
Codigo_Dept--Dept
1-Dept1
2-Dept2
3-Dept3
(((4-Dept2/Dept3)))

Esta dimension junto con otras forma una tabla de hechos por lo que si
La tabla de hechos contiene: la dimension departamento, tiempo, dato y
Cantidad(el valor del cruce)

Si escojo Codigo_Dept=2, Tiempo 10, Dato=Real tengo que cantidad es igual
a 100
Si escojo Codigo_Dept=3, Tiempo 10, Dato=Real tengo que cantidad es igual
a 50
Asi que, escojiendo Codigo_Dept=4, Tiempo 10, Dato=Real debería obtener
que cantidad fuera igual a 2.

Es posible hacer un calculo de este tipo en la tabla departamento?? Me
podeis ayudar?? Gracias!!!
 

Leer las respuestas

#1 Miguel Egea
15/04/2010 - 00:31 | Informe spam
en tus calculos crea uno como este
(esto funciona en adventure works9
CREATE MEMBER CURRENTCUBE.[Product].[Subcategory].[All Products].[Nueva
categoria]
AS
(Product.subcategory.currentmember.lag(1)+Product.subcategory.currentmember.lag(1))/2,
NON_EMPTY_BEHAVIOR = { [Internet Standard Product Cost] },
VISIBLE = 1 ;

en tu caso suponiendo muchas cosas sería
CREATE MEMBER CURRENTCUBE.Departamento.Departamento.[all].[Dep2 mod Dep3]
as
( case when ([departamento].[departamento].&[3],measures.cantidad)<>0
then
([departamento].[departamento].&[2],Measures.Cantidad)/
([departamento].[departamento].&[3],Measures.Cantidad)
else
null
end
)

Saludos Cordiales
Miguel Egea
Solid Quality Mentos
http://www.portalsql.com

"Alex" escribió en el mensaje de
noticias:
Hola! Tengo una estrella montada en SQL Server y tengo una dimension
llamada
departamento. Hay dos campos de esa dimension que me interesaria "dividir"
y
que fuera un miembro mas de la dimension:
Seria algo asi:
Codigo_Dept--Dept
1-Dept1
2-Dept2
3-Dept3
(((4-Dept2/Dept3)))

Esta dimension junto con otras forma una tabla de hechos por lo que si
La tabla de hechos contiene: la dimension departamento, tiempo, dato y
Cantidad(el valor del cruce)

Si escojo Codigo_Dept=2, Tiempo 10, Dato=Real tengo que cantidad es
igual
a 100
Si escojo Codigo_Dept=3, Tiempo 10, Dato=Real tengo que cantidad es
igual
a 50
Asi que, escojiendo Codigo_Dept=4, Tiempo 10, Dato=Real debería obtener
que cantidad fuera igual a 2.

Es posible hacer un calculo de este tipo en la tabla departamento?? Me
podeis ayudar?? Gracias!!!

Preguntas similares