【问题标题】:Using an SSIS variable in a DataFlow task在 DataFlow 任务中使用 SSIS 变量
【发布时间】:2011-12-22 18:14:55
【问题描述】:

我有一个 SQL Execute 任务,它让我得到一个年份列表并将它们保存到一个对象变量中,比如说“年份”。 然后我有一个接收 thah 变量的 ForEach 循环计数器,在该计数器内我有一个 DataFlow 任务,我想做的是在 Dataflow 任务中使用那个“Years”变量,因为我需要在我的查询中使用那个年份列表.

关于如何做到这一点的任何建议? 哦,我的 DataFlow 任务中的查询是 MDX 查询。

谢谢

【问题讨论】:

  • 执行 SQL 任务加载一个变量,Years。您使用 ForEach 循环分解该对象并将当前值分配给第二个变量 CurrentYear。问题是如何在数据流中使用 CurrentYear(原始类型),还是尝试使用 Years(对象类型)?
  • 由于我想在 MDX 查询中使用变量的值,我认为使用字符串会更容易。如何使用 foreach 循环将值分配给另一个变量,然后在 Dataflow 任务中使用它?

标签: ssis mdx foreach-loop-container dataflowtask


【解决方案1】:

由于您需要动态构建 MDX 查询并将计数器中的特定年份附加到其中,因此您需要:

  1. 首先创建一个名为MDX_Query的新字符串变量。
  2. 然后确保“Evaluate as expression”选项设置为 True
  3. 现在为该变量创建一个表达式,该表达式基本上是您的 MDX 查询,并将您的 @Years 变量附加到它。类似于
    "MDX query text goes here where SalesYear.["+ @[User::Years_Variable]+"]"
  4. 现在在您的 Foreach 循环任务中,如果您创建了 SQL 查询任务,请确保您的“SQL 源类型”设置为变量并将“源变量”设置为 MDX_Query

【讨论】:

    猜你喜欢
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    相关资源
    最近更新 更多