Re: Оперативный расчет состояния объекта учета на основе транзакций.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Оперативный расчет состояния объекта учета на основе транзакций.

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

Таки мне попалась ссылка ("Accumulation in Bar Chart & using Total"  
<http://community.qlikview.com/forums/p/24315/92933.aspx#92933>) с более  
красивым, а главное универсальным решением, которое подходит как для  
диаграмм, так и для сводных таблиц.

Оказывается, при загрузке данных достаточно создать еще один экземпляр  
таблицы с датами (в моем случае поле Fake_Date), которая не должна быть  
связана с таблицей фактов (пример структуры в файле).

Сводная таблица или диаграмма использует два измерения:
1. Собственно объект наблюдения - в моем случае товар (поле Item);
2. Не связанный с фактами временной ряд - в моем случае дата (поле  
Fake_Date).

Расчет показателя (остаток товара) рассчитывается на основе отдельных  
операций по формуле:

sum(if(Fake_Date>=Posting_Date,Quantity))

Если честно, то совершенно не понимаю как, но оно работает.
Фильтрация по Fake_Date отражает срезы остатков за выбранный период.

--
С уважением,
Михаил Тимошин
###############################################
Вы получили это сообщение, потому что подписаны на список рассылки <[hidden email]>.
Архив списка рассылки: <http://n3.nabble.com/QlikView-Users-f182695.html>.
Для отказа от подписки отправьте письмо по адресу: <[hidden email]>.
Для переключения в режим ДАЙДЖЕСТ отправьте письмо по адресу: <[hidden email]>.
Вопросы администратору отправляйте по адресу: <[hidden email]>.

struct.png (5K) Download Attachment
ItemInventory.qvw (169K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Оперативный расчет состояния объекта учета на основе транзакций.

Evgeny Ivanov
Да уж, всё гениальное - просто)

На самом деле, в моем файле как раз есть поле "Дата", отличное от поля "Дата Учета". Я пытался применить его, используя SET-анализ, но не вышло. А до использования конструкции "sum(if(...)...)" я как-то не дошел. Хотя в более ранних версиях эта конструкция должна была применяться довольно часто, так как SET-анализ появился только в 9-й версии.

Только, применяя поле "Дата", не связанное с другими таблицами, нужно помнить, что Документ-пользователь (Document CAL) не сможет открыть такой документ. Но, видимо, в тех случаях, где нужны остатки (товарные или баланс фин. счета, например), без этого поля не обойтись.

Кстати, вчера был в одной компании, где используется BI-решение от Oracle (не Hyperion). Так вот, они для вычисления оборачиваемости формируют отдельную таблицу остатков (остатки по каждому товару на каждый день).

С уважением,
Евгений Иванов
Руководитель направления BI/BPM решений
Импакт-Софт


-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Михаил Тимошин
Sent: Thursday, February 11, 2010 4:34 PM
To: [hidden email]
Subject: Re: [qvusers]Оперативный расчет состояния объекта учета на основе транзакций.

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

Таки мне попалась ссылка ("Accumulation in Bar Chart & using Total"
<http://community.qlikview.com/forums/p/24315/92933.aspx#92933>) с более красивым, а главное универсальным решением, которое подходит как для диаграмм, так и для сводных таблиц.

Оказывается, при загрузке данных достаточно создать еще один экземпляр таблицы с датами (в моем случае поле Fake_Date), которая не должна быть связана с таблицей фактов (пример структуры в файле).

Сводная таблица или диаграмма использует два измерения:
1. Собственно объект наблюдения - в моем случае товар (поле Item); 2. Не связанный с фактами временной ряд - в моем случае дата (поле Fake_Date).

Расчет показателя (остаток товара) рассчитывается на основе отдельных операций по формуле:

sum(if(Fake_Date>=Posting_Date,Quantity))

Если честно, то совершенно не понимаю как, но оно работает.
Фильтрация по Fake_Date отражает срезы остатков за выбранный период.

--
С уважением,
Михаил Тимошин




###############################################
Вы получили это сообщение, потому что подписаны на список рассылки <[hidden email]>.
Архив списка рассылки: <http://n3.nabble.com/QlikView-Users-f182695.html>.
Для отказа от подписки отправьте письмо по адресу: <[hidden email]>.
Для переключения в режим ДАЙДЖЕСТ отправьте письмо по адресу: <[hidden email]>.
Вопросы администратору отправляйте по адресу: <[hidden email]>.