Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: andrrreasss от 28 апреля 2018, 09:04:22

Название: Игнорирование измерения
Отправлено: andrrreasss от 28 апреля 2018, 09:04:22
Всем день добрый.  Что-то никак не соображу как сделать относительно простую задачу. Как проигнорировать одно из измерений? Пример такой, в плановых данных есть цифры только по одному из измерений, во втором NULL. В фактических, по двум измерениям.

Надо получить таблицу

Измерение1, Измерение2, ТутКолВоИзПлана, ТутКолВоИзФакта.

Как на первом скрине.

Я добавляю в формулу Sum(TOTAL <Измерение1> {$<[ВидОперации]={'План'}>} [Количество])

Но у меня добавляются записи с NULL по второму измерению. А они мне не нужны.

Код для тестовых данных

[ТаблицаФактов]:
Load * Inline [

Период|ВидОперации|Категория|ТоварнаяГруппа|Количество
2018-04-26|План|Аксессуары|NULL|4
2018-04-26|План|Белье|NULL|7
2018-04-26|План|Кожгалантерея|NULL|5
2018-04-26|План|Обувь|NULL|9
2018-04-26|План|Одежда|NULL|8
2018-04-26|План|Сумки|NULL|11
2018-04-26|Факт|Аксессуары|Перчатки|2
2018-04-26|Факт|Белье|Носки|1
2018-04-26|Факт|Кожгалантерея|Кошелек|1
2018-04-26|Факт|Обувь|Кеды|2
2018-04-26|Факт|Одежда|Джинсы|1
2018-04-26|Факт|Сумки|Клатч|2] (delimiter is '|');
Название: Re: Игнорирование измерения
Отправлено: admin от 28 апреля 2018, 11:16:42
Все верно выводит.
для ядра клика null всего лишь товарная группа.
Нарисуйте в Excel, что необходимо получить?
Название: Re: Игнорирование измерения
Отправлено: andrrreasss от 28 апреля 2018, 12:06:08
Получить надо таблицу как на первом скрине.

Например есть план:

Обувь - 10

Есть факт:

Обувь, размер 41 - 1
Обувь, размер 42 - 3
Обувь, размер 45 - 2

Нужна таблица:

Обувь, 41 размер, план-10, факт 1
Обувь, 42 размер, план-10, факт 3
Обувь, 45 размер, план-10, факт 2




Название: Re: Игнорирование измерения
Отправлено: admin от 28 апреля 2018, 12:35:00
Тогда либо модель разбить на две таблицы со связью по Дата-категория, либо сформировать одну таблицу с разнесенной суммой плана по категории на факт. То есть применить ту же самую связь в скрипте.
Название: Re: Игнорирование измерения
Отправлено: admin от 14 мая 2018, 08:10:51
Пример с двумя таблицами:


[ТаблицаФактов]:

Load * Inline [
Период|ВидОперации|Категория|ТоварнаяГруппа|Количество
2018-04-26|План|Аксессуары|NULL|4
2018-04-26|План|Белье|NULL|7
2018-04-26|План|Кожгалантерея|NULL|5
2018-04-26|План|Обувь|NULL|9
2018-04-26|План|Одежда|NULL|8
2018-04-26|План|Сумки|NULL|11
2018-04-26|Факт|Аксессуары|Перчатки|2
2018-04-26|Факт|Белье|Носки|1
2018-04-26|Факт|Кожгалантерея|Кошелек|1
2018-04-26|Факт|Обувь|Кеды|2
2018-04-26|Факт|Одежда|Джинсы|1
2018-04-26|Факт|Сумки|Клатч|2] (delimiter is '|');

План:
NoConcatenate
load Период,Категория,Количество as КоличествоПлан Resident ТаблицаФактов where ВидОперации='План';
Факт:
NoConcatenate
load Период,Категория,ТоварнаяГруппа,Количество as КоличествоФакт Resident ТаблицаФактов where ВидОперации='Факт';
DROP Table ТаблицаФактов