Выбор внешнего источника данных в DMX
С помощью Microsoft SSAS
а также SQLServer 2012
В настоящее время я пытаюсь обновить мой timeseries
модели с использованием новых значений из моей исходной таблицы базы данных.
Учебники Microsoft для DMX
предлагая использовать EXTEND_MODEL_CASES
обновить модель, используя PREDICTION JOIN
и статические значения, ради автоматизации моя цель состоит в том, чтобы сделать это с помощью 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
и добавьте его в мою модель, чтобы новые записи были введены в мою модель.
1 ответ
Я хотел разместить здесь то, что придумал, на случай, если кто-то столкнется с той же проблемой:
Для того, чтобы выбрать таблицы из реляционной базы данных DMX
поддерживает OPENQUERY
заявление (это также было реализовано в tsql
)
OPENQUERY
принимает строку в качестве аргумента, который содержит эквивалент tsql
запрос.
пример:
OPENQUERY (relDatabaseServer, 'SELECT name FROM example.titles WHERE name = ''NewTitle''');