MDX,如何传递变量/参数? SSAS?

时间:2012-04-16 18:39:29

标签: variables parameters ssas mdx

这是我的代码 但是如何将SSA的参数替换为@anioct和@cedis? @ anioact =是一个整数年,而@cedis可能是很多数字中的一个 我做坏事吗?它工作我替换@parameter的实际数字它确实有效。

with
member Enero as
(
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)].&[1],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
-
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)-1].&[1],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])

)

member Febrero as
(
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)].&[2],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
-
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)-1].&[2],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
)

member Marzo as
(
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)].&[3],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
-
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)-1].&[3],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])

)

member Abril as
(
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)].&[4],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
-
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)-1].&[4],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])

)

member Mayo as
(
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)].&[5],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
-
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)-1].&[5],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
)

member Junio as
(
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)].&[6],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
-
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)-1].&[6],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
)

member Julio as
(
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)].&[7],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
-
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)-1].&[7],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])

)

member Agosto as
(
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)].&[8],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
-
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)-1].&[8],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])

)

member Septiembre as
(
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)].&[9],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
-
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)-1].&[9],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])

)

member Octubre as
(
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)].&[10],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
-([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)-1].&[10],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])

)

member Noviembre as
(
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)].&[11],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
-([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)-1].&[11],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
)

member Diciembre as
(
([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)].&[12],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])
-([Dim Tiempos].[Año-Mes].[Año].&[(@anioact)-1].&[12],([Measures].[venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt])


)

select {Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre} on columns,
FILTER(
{[Dimrutas].[Ruta].Members},
(([Measures].[Venta]),[Dimregion].[Puntovta].&[(@cedis)],[Dimproductos].[Categoria].&[Agua 20 Lt]) > 0
)ON ROWS

from CuboBebidas
where ([Dimproductos].[Categoria].&[Agua 20 Lt],[Dimregion].[Puntovta].&[(@cedis)])

1 个答案:

答案 0 :(得分:0)

你应该真的使用设计师来做到这一点,但试试:

STRTOSET(@anioact, CONSTRAINED)