|  | 
| 
Вопрос по 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&msg=32023986&tid=1873730]: | 0ms | 
| get settings: | 9ms | 
| get forum list: | 13ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 47ms | 
| get topic data: | 10ms | 
| get forum data: | 2ms | 
| get page messages: | 41ms | 
| get tp. blocked users: | 1ms | 
| others: | 250ms | 
| total: | 381ms | 

| 0 / 0 | 
