在DMX中选择外部数据源

时间:2014-11-14 14:21:20

标签: sql sql-server ssas dmx-ssas

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

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

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

SELECT FROM

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

说我的模型包含:

 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          

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

1 个答案:

答案 0 :(得分:0)

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

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

OPENQUERY将一个字符串作为参数,其中包含等同于tsql个查询。

示例:

OPENQUERY (relDatabaseServer, 'SELECT name FROM example.titles WHERE name = ''NewTitle''');