Reply – Re: Импорт аналитических измерений из navision
Your Name
Subject
Message
or Cancel
In Reply To
Re: Импорт аналитических измерений из navision
— by Evgeny Ivanov Evgeny Ivanov

Добрый день, Миша.

 

На мой взгляд, parent-child иерархия здесь неприменима. Тут больше подойдет стандартная иерархия (уровень 1, уровень 2, уровень 3…), чтобы можно было скрывать и раскрывать разные уровни в сводной таблице. Но измерения с типом «сумма» портят картину, поэтому надо немного усовершенствовать схему. Я бы сделал такую конечную таблицу:

id

name

level

level 1 id

level 1 name

level 2 id

level 2 name

level 3 id

level 3 name

1000

Центры ответственности

1

1000

Центры ответственности

 

 

 

 

2000

Cost

2

1000

Центры ответственности

2000

Cost

 

 

2010

Администрация

3

1000

Центры ответственности

2000

Cost

2010

Администрация

2200

Маркетинг

3

1000

Центры ответственности

2000

Cost

2200

Маркетинг

9100

Москва

1

9100

Москва

 

 

 

 

2010

<Название 2010>

2

9100

Москва

2010

<Название 2010>

 

 

2100

<Название 2100>

2

9100

Москва

2100

<Название 2100>

 

 

2200

<Название 2200>

2

9100

Москва

2200

<Название 2200>

 

 

2300

<Название 2300>

2

9100

Москва

2300

<Название 2300>

 

 

2400

<Название 2400>

2

9100

Москва

2400

<Название 2400>

 

 

2850

<Название 2850>

2

9100

Москва

2850

<Название 2850>

 

 

2900

<Название 2900>

2

9100

Москва

2900

<Название 2900>

 

 

4100

<Название 4100>

2

9100

Москва

4100

<Название 4100>

 

 

4200

<Название 4200>

2

9100

Москва

4200

<Название 4200>

 

 

4300

<Название 4300>

2

9100

Москва

4300

<Название 4300>

 

 

4600

<Название 4600>

2

9100

Москва

4600

<Название 4600>

 

 

2010

<Название 2010>

3

9100

Москва

2010

<Название 2010>

2010

<Название 2010>

2100

<Название 2100>

3

9100

Москва

2100

<Название 2100>

2100

<Название 2100>

2200

<Название 2200>

3

9100

Москва

2200

<Название 2200>

2200

<Название 2200>

2300

<Название 2300>

3

9100

Москва

2300

<Название 2300>

2300

<Название 2300>

2400

<Название 2400>

3

9100

Москва

2400

<Название 2400>

2400

<Название 2400>

2850

<Название 2850>

3

9100

Москва

2850

<Название 2850>

2850

<Название 2850>

2900

<Название 2900>

3

9100

Москва

2900

<Название 2900>

2900

<Название 2900>

4100

<Название 4100>

3

9100

Москва

4100

<Название 4100>

4100

<Название 4100>

4200

<Название 4200>

3

9100

Москва

4200

<Название 4200>

4200

<Название 4200>

4300

<Название 4300>

3

9100

Москва

4300

<Название 4300>

4300

<Название 4300>

4600

<Название 4600>

3

9100

Москва

4600

<Название 4600>

4600

<Название 4600>

 

При желании можно добавить поля «parent id» и «parent name», но я пока не вижу в этом особого смысла.

Связь с таблицей фактов происходит через поле id, которое, кстати, не является первичным ключом в данной таблице. В сводной таблице можно использовать поля «level 1 name», «level 2 name», «level 3 name». Количество уровней должно динамически определяться скриптом.

 

Если использовать только эту таблицу, то разные уровни всегда будут отображаться в разных полях, поэтому не получится сделать единый список всех значений с отступами (как в NAV). Если такая потребность все-таки есть, то нужно добавить такую таблицу:

 

id

code

1000

1000

1000

2000

1000

2010

1000

2200

2000

2000

2000

2010

2000

2200

2010

2010

2200

2200

9100

9100

9100

2010

9100

2100

9100

2200

9100

2300

9100

2400

9100

2850

9100

2900

9100

4100

9100

4200

9100

4300

9100

4600

 

В этом случае связь с таблицей фактов должна происходить не через id, а через code.

Тогда для измерения с отступами можно использовать следующее выражение:

=repeat(‘  ‘, level - 1) & name

 

 

Ну вот как-то так. Конечно, получается немного громоздко, зато можно представлять измерения в различном виде.

 

Что касается реализации этого дела, если есть измерения с типом «сумма», то без парсинга поля «группировка» тут не обойтись.

Нужна ли помощь в реализации?

 

С уважением,

Евгений Иванов

Руководитель направления BI/BPM решений

Импакт-Софт

 

 

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Михаил Тимошин
Sent: Thursday, August 26, 2010 2:07 PM
To: List qvusers
Subject: [qvusers]Импорт аналитических измерений из navision

 

Добрый день, Женя.

 

Нужна идея по технике импорта аналитических измерений из навизьона.

 

Имеется таблица (Dimension Value) вида:

 

Код   Название                Измерение Тип Значение  Группировка

1000  Центры ответственности       От-Сумма

2000    Cost                                   От-Сумма

2010        Администрация                Стандартное

2200        Маркетинг                    Стандартное

3000    Cost, Total                      До-Сумма                                 2000..3000

9000  Центры ответственности       До-Сумма                                 1000..9000

9100  Москва                                   Сумма                                    2010|2100|2200|2300|2400|2850|2900|4100|4200|4300|4600

 

Нужно получить что-то вроде:

 

Код   Название                Предок код  Предок название

1000  Центры ответственности       1000              Центры ответственности

2000  Cost                                     1000              Центры ответственности

2000  Cost                                     2000              Cost

2010  Администрация                            1000              Центры ответственности

2010  Администрация                            9100              Москва

2010  Администрация                            2000              Cost

2010  Администрация                            2010              Администрация

 

Ну и так далее..

 

Хотя не уверен, удобно ли это будет?

 

Жду предложений. Только письменно - устно я ничего не пойму.

 

--

С уважением,

Михаил Тимошин   

###############################################

Вы получили это сообщение, потому что подписаны на список рассылки <[hidden email]>.

Архив списка рассылки: <http://qlikview-users.182695.n3.nabble.com/>.

Для отказа от подписки отправьте письмо по адресу: <[hidden email]>.

Для переключения в режим ДАЙДЖЕСТ отправьте письмо по адресу: <[hidden email]>.

Вопросы администратору отправляйте по адресу: <[hidden email]>.