Ssis 在MDX查询中使用变量
我有一个MDX查询,如下所示Ssis 在MDX查询中使用变量,ssis,sql-server-2008-r2,mdx,Ssis,Sql Server 2008 R2,Mdx,我有一个MDX查询,如下所示 SELECT NON EMPTY {[Measures].[Total Value] } DIMENSION PROPERTIES CHILDREN_CARDINALITY, PARENT_UNIQUE_NAME ON COLUMNS, NON EMPTY { CROSSJOIN( {[Supplier].[Supplier Name].[All]}, {[Warehouse]
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有一点技巧来解决这个问题,但是在SSIS的情况下,您需要将查询放到一个表达式中,并从那里填充日期 它看起来像这样:
...
PARENT_UNIQUE_NAME ON ROWS FROM [InventoryAge]
WHERE ( [Calendar].[Report Days].[All Members].&[All].&[WantInReport].&[2].&["
+ @[User::MyStringDate] + "] )"
编辑:我还应该注意,您可以在MDX中找到今天的日期,在计算成员中使用该日期,并将其与您的查询交叉连接。以下是关于这方面的更多信息:
我过去常采用今天的约会方式