|
Вопрос по OLAP - подскажите...
|
|||
---|---|---|---|
#18+
У меня настроен КУБ, который считает партии товара (из 1С). Задача: нужно по Приходным накладным определять даты оприходования товара, потом вычислять по Расходным накладным сколько товаров отгрузили на данный момент и считать ск-ко осталось не проданным, но с вышедшим сроком хранения. Срок хранения - задается пользователем. Вот примерно всё ! Подскажите, возможно - ли это сделать средствами ОЛАПА и если да, то подскажите плз. путь решения. Спасибо !!! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2002, 14:52 |
|
Вопрос по OLAP - подскажите...
|
|||
---|---|---|---|
#18+
А можно ближе к теме: какие измерения и меры существуют в кубе? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2002, 15:14 |
|
Вопрос по OLAP - подскажите...
|
|||
---|---|---|---|
#18+
Прошу прощения, что не среагировал сразу - был на больничном. Хотелось бы вернуться к поднятой теме, вот те данные, которые мне необходимо получить на выходе: ================================================================ Менеджер | Товар | Продажа | Остаток | Остаток просроченный || ---------------------------------------------------------------- |Наим.|ед.|Кол.|Сум.|Кол.|Сум.|Кол.|Сум.| Процент || ================================================================ Как считать первые 4 колонки - вроде понятно, а вся проблема заключается в том, как определить: истек ли срок хранения? Дата оприходования определяется по дате Приходной Накладной. Срок хранения нужно КАК-ТО проставлять пользователем, а потом вычислять: Если ТекущаяДата - ДатаОприходования > СрокаХранения, тогда выводить данный товар в 5 - ю колонку. Подскажите, как лучше это сделать ???? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2002, 07:46 |
|
Вопрос по OLAP - подскажите...
|
|||
---|---|---|---|
#18+
Отчетная форма - это результат выполнения запроса. Чтобы помочь Вам правильно составить запрос, мне нужно понимать, к чему его адресовать. Поскольку структуру куба Вы привести не хотите, мне остается импровизировать. У Вас, очевидно, есть справочник товара с полями Товар и Срок хранения. У Вас также должна быть таблица фактов, отслеживающая приход / расход товара вида (ID, Дата, Товар, Движение, Дата_Прихода). Поле Дата_Прихода уточняет, за какую именно дату товар расходуется. Т.е. понятно, что если у нас до этого один и тот же товар поступал вчера и позавчера, то при его расходе мы должны оговорить, который из них конкретно сегодня расходуется. Т.о. Дата_Прихода = Дата, если Движение > 0, и Дата <=, если Движение < 0. Т.е. Дата_Прихода выступает в нашем случае атрибутом товара - коль скоро товары устаревают, лежа на складе, нужно их различать не т.по наименованию, но и по дате поступления. Тогда измерение Товар получает еще один нижележащий уровень - Дата_Прихода. Срок_хранения кладем как member property уровня Товар. Вот запрос, к-й дает то, что нужно with member Measures.Expired as 'sum(filter(Product.CurrentMember.Children, datediff("d", cdate(Product.CurrentMember.Name), cdate(Time.CurrentMember.Name)) > cint(Product.CurrentMember.Parent.Properties("Expiration"))), Measures.[NarIt])' select Descendants(Product, ID) on rows, crossjoin({Measures.Expired}, Descendants(Time, Day)) on columns from Activity Пояснения. Measures.NarInt - это calculated member, к-й считает Приход / Расход нарастающим итогом по времени. Ввиду элементарности здесь не расшифровывается. Измерение Product состоит из 2-х уровней - ID (товара) и Дата Прихода. Уровень ID имеет custom property Expiration - срок годности данного товара. Сalculated member Measures.Expired суммирует для данной даты нарастающий итог прихода / расхода для всех товаров разного времени поступления внутри данного наименования у к-х разница между текущей датой и сроком поступления превышает срок хранения. Это и будет Ваш Остаток Просроченный. Идея, надеюсь, ясна. Возможно, структуру куба и сам запрос можно выстроить более оптимально, но это уже отдельное время (которое, как известно, деньги ) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2002, 18:29 |
|
Вопрос по OLAP - подскажите...
|
|||
---|---|---|---|
#18+
Спасибо, но вся проблема заключается в том, что срок хранения - у меня не реквизит товара. Его нужно где то проставлять. В качестве OLAP-клиента у меня выступает EXCEL, поэтому срок хранения м. было бы например проставлять пользователем в ячейке, но вопрос : как ее передавать кубу при пересчете. Жду предложения или пути решения !!! Заранее спасибо !!! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2002, 06:40 |
|
Вопрос по OLAP - подскажите...
|
|||
---|---|---|---|
#18+
Спасибо, но вся проблема заключается в том, что срок хранения - у меня не реквизит товара. Его нужно где то проставлять. В качестве OLAP-клиента у меня выступает EXCEL, поэтому срок хранения м. было бы например проставлять пользователем в ячейке, но вопрос : как ее передавать кубу при пересчете. Жду предложения или пути решения !!! Заранее спасибо !!! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2002, 07:31 |
|
Вопрос по OLAP - подскажите...
|
|||
---|---|---|---|
#18+
Это неправильно. Срок хранения должен быть атрибутом товара и учитываться в операционном источнике по издоженным выше соображениям. В противном случае можно, конечно, сделать member property Срок Хранения, привязав его к какой-нибудь fake column в товаре, сделать Товар write-enabled измерением и обновлять member property из клиента. Но это неэлегантно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2002, 10:43 |
|
Вопрос по OLAP - подскажите...
|
|||
---|---|---|---|
#18+
Я понимаю, что это некорректно, более того - к товару привязан реквизит "Срок хранения", но стоит такая задача: выбрать группу товаров, задать им срок хранения (тот, который начальник сам захочет) - извне, а уже потом - пересчитывать куб, с учетом этого значения !!! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2002, 11:14 |
|
|
start [/forum/topic.php?fid=49&fpage=418&tid=1873730]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
3ms |
others: | 14ms |
total: | 167ms |
0 / 0 |