0

Я имею таблицу, план, с колоннами p_id,p_name,start_date,end_date,last_updatedРеализация SCD Type 2 с использованием Pentaho чайник (Pentaho Data Integeration 5,2)

Постановка задачи: когда изменения клиента от плана А к плану Б, его end_date соответствующий планировать A обновляется в таблице и в то же время добавляется новая запись для плана B, вставленная в таблицу.

Я создаю хранилище данных, в котором «план» является одним из моих измерений. Теперь, для клиента A, я хочу сохранить историю своего плана в таблице размеров. Я знаю, мы можем решить эту проблему, используя таблицу размеров SCD Type 2. Я использую Инструмент интеграции данных Pentaho 5.2. Я пытаюсь решить эту проблему, используя «размерный поиск/обновление», которая доступна в инструменте. Но проблема в том, что я хочу вставлять значения для «start_date» и «end_date» из моей таблицы плана, а не из того, что установлено в «поиске/обновлении измерения». Поэтому, когда клиент изменяет свой план, его end_date следует обновлять в таблице измерений, и в то же время в таблицу для одного и того же клиента должна быть вставлена ​​новая запись для плана B.

Может ли кто-нибудь предложить наилучший подход для решения этой проблемы? I.e значения для start_date и end_date должны обновляться в таблице измерений, которые исходят из моей таблицы плана, не то, что пентахо-чайник вырождается?

+0

Не могли бы вы объяснить данные вашего источника и цели (DWH), пожалуйста? В противном случае, ваша цель не на 100% ясна для меня .. – mzy

ответ

1

Вы можете использовать шаг UPDATE. Это даст вам возможность обновлять любые столбцы со значениями/полями, которые вам нравятся.

+0

спасибо за ваше предложение .... но один вопрос ... можем ли мы добиться таблицы размеров SCD Type 2 с помощью этого инструмента? Кроме того, можно ли поддерживать управление версиями с помощью этого инструмента? – user3252809

+0

Да, это так! Это то, что делает шаг поиска/обновления измерения. См .: http://wiki.pentaho.com/display/EAI/Dimension+Lookup-Update – AndreiScorus

2

Используя шаг измерения размера/обновления, вы можете указать поле даты как временную метку для разграничения версий. Если вы этого не сделаете, он будет использовать текущую временную метку.

Пример: запись имеет набор атрибутов и конкретную метку времени, позволяет называть ее update_date, из которой действительна новая запись.

Заполните шаг поиска и обновления размера, как обычно, с атрибутами, которые вы хотите отслеживать как «Вставить» в тип обновления, но в поле даты даты введите имя поля даты обновления. Предыдущая версия будет использовать это значение как date_to, тогда как новая версия будет использовать его как date_from.

 Смежные вопросы

  • Нет связанных вопросов^_^