Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
А все-таки, как... ??
|
|||
|---|---|---|---|
|
#18+
Есть измерения Период (ГКМДД), и Товар. Есть показатель Сумма. Как можно посчитать входящий и исходящий балансы и обороты на произвольный отрезок времени? На стандартные периоды считается без проблем, а тут вот что-то заткнулся.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 22:18 |
|
||
|
А все-таки, как... ??
|
|||
|---|---|---|---|
|
#18+
А как вы баланс считаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 22:55 |
|
||
|
А все-таки, как... ??
|
|||
|---|---|---|---|
|
#18+
To Gray Rat: Рекомендую в качестве иллюстрации скачать и посмотреть презентацию http://cognos.narod.ru/Kak_sravnit_2_perioda.ppt . В ней пример несколько другой, но один из вариантов решения Вашей задачи состоит в следующем: В Вашем кубе должны быть как минимум 2 показателя - выручка и разность между приходом и расходом. В OLAP-клиенте для вычисления баланса на любую дату Вы просто выделяете с помощью клавиши Ctrl все элементы до этой даты (например все предыдущие года, все предыдущие месяцы текущего года и все предыдущие дни текущего месяца), нажимаете на кнопочку Суммы и одним движением превращаете это в баланс (фактически берется нарастающий итог за всю историю до нужной даты, на которую требуется получить баланс). Ну и потом под эту категорию (сумму дат) подтвскиваете показатель разности между приходами и расходами. С оборотами за любой период - все аналогично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 09:32 |
|
||
|
А все-таки, как... ??
|
|||
|---|---|---|---|
|
#18+
Я предполагаю, что Gray Rat умеет уже считать и обороты и сальдо, он сказал, что проблема другом - в произвольных периодах. А чтобы помочь решить ему проблему надо знать как он считает сальдо. Если продукт не указан, я исхожу из того что это MS AS. Для оборотов - какой период берется это все равно - там просто тупое суммирование, а для сальдо есть вариации, т.к. самая быстрая формула для уже имеющихся в измерении периодов, является не самой универсальной, c произвольным множеством периодов могут возникнуть проблемы - диллема производительности и гибкости :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 10:27 |
|
||
|
А все-таки, как... ??
|
|||
|---|---|---|---|
|
#18+
To backfire: диллема производительности и гибкости Поэтому я предпочитаю для вычисления остатков пользоваться имеющимся измерением времени, и в OLAP-клиенте налету складывать значения за минимальное число отрезков до нужной даты (брать сначала годы, потом - более детальные отрезки, потом - еще более детальные, и наконец - дни/часы). Кстати, расширяя вопрос, с этим г-н Gray Rat столкнется в будущем, когда будет считать число клиентов за произвольный период времени, это актуально для компании, которую он представляет: В случае если используется MS AS, правильно ли я понимаю, что до тех пор пока не выйдет новая версия этого сервера (Юкон), нельзя вычислять подобные показатели? Я как-то из OLAP-клиента PowerPlay цеплялся к MS AS, использовал функцию СВЕРТКА (а не сумма), результат похожий на истину получал, но с другой стороны я слышал, что MS AS не умеет делать свертку показателей типа Count Distinct за произвольный период времени... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 10:52 |
|
||
|
А все-таки, как... ??
|
|||
|---|---|---|---|
|
#18+
Начальный баланс - sum(Ascendants([Periods].CurrentMember), (sum([Periods].FirstSibling :[Periods].CurrentMember, [Measures].[Total])) -[Measures].[Total]) Total = ОборотДебет - ОборотКредит Конечный баланс - соотвественно Начальный баланс - Total Продукт - MS AS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 10:55 |
|
||
|
А все-таки, как... ??
|
|||
|---|---|---|---|
|
#18+
To Gray Rat Esli ya pravilno ponyal, to problema sostoit v tom, chto formula sum(Ascendants([Periods].CurrentMember), (sum([Periods].FirstSibling :[Periods].CurrentMember, [Measures].[Total])) -[Measures].[Total]) rabotaet prekrasno, no esli v kachestve CurrentMember vam nado podstavit ne odin konkretni element izmereniya a ih mnozhestvo, to tut nado podhodit inache. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 12:30 |
|
||
|
А все-таки, как... ??
|
|||
|---|---|---|---|
|
#18+
Нет, я просто никак не могу дойти - как сделать так, чтобы можно было в клиенте (ексель) получить остатки и обороты на произвольный период времени - например с 25.02.2003 по 8.03.2004 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 13:22 |
|
||
|
А все-таки, как... ??
|
|||
|---|---|---|---|
|
#18+
S Excelem tyazhko, bil bi u tebya svoi postroitel MDX-zaprosov, tam bi mozhno bilo logiku menyat v zavisimosti ot togo, yavlyaetsya CurrentMember deistvitelnii Member ili eto {[DateFrom] : [DateTo]}, ya tak i delyayu, a vsluchae Excela - ne ostaetsya ni chego drugogo kak "koryachitsya" i vse eto v CalculatedMember vpihivat - udovolstvie nizhe srednego :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 13:26 |
|
||
|
А все-таки, как... ??
|
|||
|---|---|---|---|
|
#18+
Сделал :) Через задницу, но сделал :) Работает правда довольно медленно (нужна была детализация до уровня документа), но терпимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 20:38 |
|
||
|
А все-таки, как... ??
|
|||
|---|---|---|---|
|
#18+
Работает правда довольно медленно (нужна была детализация до уровня документа), Детализация в конкретно взятом отчете? Или в формуле пришлось спускаться до низов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 21:46 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=32491507&tid=1872665]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 265ms |
| total: | 412ms |

| 0 / 0 |
