0

使用Microsoft SSAS并且SQLServer 2012我目前正在尝试timeseries通过使用原始源数据库表中的新值来更新我的模型。

Microsoft 教程DMX建议使用和静态值EXTEND_MODEL_CASES更新模型PREDICTION JOIN,为了自动化,我的目标是使用 a 来执行此操作,SELECT FROM但我不确定如何引用我的原始数据源。

编辑:澄清: 以下代码不起作用,因为 SSAS 似乎无法以这种方式访问​​我的数据库表 问题是:如何从 SSAS 中选择数据库表

 SELECT [DumpLocation_Id],
 PredictTimeSeries([TotalDumpCount],5, EXTEND_MODEL_CASES) AS PredictDmpCnt
 FROM
 [DumpForecasting_MIXED]
 NATURAL PREDICTION JOIN 
 ( select * from DumpStatistics3
  where TimeIndex >= (getdate() - 2))
 AS t

我的期望是从插入到我的模型中的表中获得结果集。

假设我的模型包含:

 DumpLocation_id     |  TimeIndex   |   TotalDumpCount  |
 --------------------------------------------------------
  1                  |01-01-2014    |   23
  1                  |02-01-2014    |   13
  1                  |03-01-2014    |   14          

我希望能够从我的数据库表中选择数据:

  DumpLocation_id     |  TimeIndex   |   TotalDumpCount  |
 --------------------------------------------------------
  1                  |01-01-2014    |   23
  1                  |02-01-2014    |   13
  1                  |03-01-2014    |   14    
  1                  |04-01-2014    |   15
  1                  |05-01-2014    |   17

并将其添加到我的模型中,以便将较新的条目输入到我的模型中。

4

1 回答 1

0

我想把我想出的东西放在这里,以防其他人遇到同样的问题:

为了从关系数据库中选择表DMX支持该OPENQUERY语句(这也已在 中实现tsql

OPENQUERY接受一个字符串作为参数,它包含一个tsql查询的等价物。

例子:

OPENQUERY (relDatabaseServer, 'SELECT name FROM example.titles WHERE name = ''NewTitle''');
于 2015-03-13T07:36:03.860 回答