четверг, 26 июля 2012 г.

Writeback в SSAS 2012. Маленький пример - план-факт(часть вторая)

 

В Tabular модели как-то не сложилось у Microsoft c writeback.  Writeback mdx в  данной модели нет (это подтверждается данной статьей на msdn). Утверждают, что запись в базу доступна через режим DirectQuery + XVelocity, но я этого не смог добиться. Но все по порядку….

Как было в первой части, для проекта берется база AdventureWorks.

Создаем проект 

image

1. Определяем источник данных, добавляем таблицы в модель FactFinance, PlanFinace (таблицы фактов), DimOrganisation, DimDepartamentGroup,DimDate. Создаем связи.

image

2. Создадим показатели в таблице FactFinance - Amount агрегация  Sum и  Average, PlanFinance – Amount агрегация Sum.

Модель создали, вроде бы все ок. А вот теперь  начинается самое интересное.

В Tabular модели есть 4 режима:

  1. DirectQuery  -  запросы отправляются реляционному источнику, кэш при этом не используется.
  2. DirectQueryWithInMemory – запросы  отправляется реляционному источнику, также может использоваться в кэш. Отправка в реляционку первоочередная.
  3. InMemory – запросы отправляются в кэш
  4. InMemoryWithDirectQuery – запросы отправляются в кэш, может использоваться реляционка. Отправка в кэш первоочередная(по умолчанию)

Первые два режима работают с DAX запросами и не поддерживают MDX,  последних два режима как DAX, так и MDX. А теперь самое интересное  - клиент, который может работать с режимами DirectQuery,  это Excel 2013. Если у вас ниже офис, то тогда   с такими режимами может работать PowerView или SSRS.  Ну в принципе это было ожидаемо и я думаю в ближайшем будущем выйду дополнения для 2010 офиса. Также DirectQuery не поддерживают некоторые функции DAX, поэтому прежде чем писать формулы на DAX, включите directquery.

Данные режимы включаются следующим образом:

В свойствах модели  DirectQueryMode  поставить On, если выбудете работать с режимами DirectQuery  или DirectQueryWithInMemory

image

В свойствах проекта выбираем QueryMode:

image

И делаем деплой.

Как обычно проект лежит здесь.

Так как же обратная запись – да в принципе никак. Потому что не один клиент ни в каком режиме не позволил сделать изменения в реляционном источнике. Поэтому вопрос, связанный с обратной записью, остается открытым. Я думаю вряд ли Microsoft оставит такой продукт без данной функции.

Поживем – увидим.

Комментариев нет: