在 MDX 查询中使用变量
using variables in MDX query
我有一个 MDX 查询如下
SELECT NON EMPTY
{[Measures].[Total Value] }
DIMENSION PROPERTIES CHILDREN_CARDINALITY,
PARENT_UNIQUE_NAME ON COLUMNS,
NON EMPTY
{
CROSSJOIN(
{[Supplier].[Supplier Name].[All]},
{[Warehouse].[Warehouses].[All]},
{[Buyer].[Business Unit].[All]}
),
CROSSJOIN(
{[Supplier].[Supplier Name].[All].Children},
{[Warehouse].[Warehouses].[All].Children},
{[Buyer].[Business Unit].[All].Children}
)
}
DIMENSION PROPERTIES CHILDREN_CARDINALITY,
PARENT_UNIQUE_NAME ON ROWS FROM [InventoryAge]
WHERE ( [Calendar].[Report Days].[All Members].&[All].&[WantInReport].&[2].&[20141031] )
我在 SSIS 包中使用此查询并提取数据。我想使用 SSIS 包参数将值“20141031”(该值等于当前日期)传递给查询。我怎样才能做到这一点
MDX 不接受参数。 SSRS 有一些 hack 可以解决这个问题,但对于 SSIS,您需要将查询放到表达式中并从那里填充日期。
看起来像这样:
...
PARENT_UNIQUE_NAME ON ROWS FROM [InventoryAge]
WHERE ( [Calendar].[Report Days].[All Members].&[All].&[WantInReport].&[2].&["
+ @[User::MyStringDate] + "] )"
编辑:我还应该指出,您可以在 MDX 中找到今天的日期,在计算成员中使用它并将其与您的查询交叉连接。这里有一些关于它的更多信息:
http://sqlblog.com/blogs/mosha/archive/2007/05/23/how-to-get-the-today-s-date-in-mdx.aspx
我有一个 MDX 查询如下
SELECT NON EMPTY
{[Measures].[Total Value] }
DIMENSION PROPERTIES CHILDREN_CARDINALITY,
PARENT_UNIQUE_NAME ON COLUMNS,
NON EMPTY
{
CROSSJOIN(
{[Supplier].[Supplier Name].[All]},
{[Warehouse].[Warehouses].[All]},
{[Buyer].[Business Unit].[All]}
),
CROSSJOIN(
{[Supplier].[Supplier Name].[All].Children},
{[Warehouse].[Warehouses].[All].Children},
{[Buyer].[Business Unit].[All].Children}
)
}
DIMENSION PROPERTIES CHILDREN_CARDINALITY,
PARENT_UNIQUE_NAME ON ROWS FROM [InventoryAge]
WHERE ( [Calendar].[Report Days].[All Members].&[All].&[WantInReport].&[2].&[20141031] )
我在 SSIS 包中使用此查询并提取数据。我想使用 SSIS 包参数将值“20141031”(该值等于当前日期)传递给查询。我怎样才能做到这一点
MDX 不接受参数。 SSRS 有一些 hack 可以解决这个问题,但对于 SSIS,您需要将查询放到表达式中并从那里填充日期。
看起来像这样:
...
PARENT_UNIQUE_NAME ON ROWS FROM [InventoryAge]
WHERE ( [Calendar].[Report Days].[All Members].&[All].&[WantInReport].&[2].&["
+ @[User::MyStringDate] + "] )"
编辑:我还应该指出,您可以在 MDX 中找到今天的日期,在计算成员中使用它并将其与您的查询交叉连接。这里有一些关于它的更多信息: http://sqlblog.com/blogs/mosha/archive/2007/05/23/how-to-get-the-today-s-date-in-mdx.aspx