Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
Господа, есть куб, который строится по таблице складских проводок. В кубе есть Calculated Member "Остатки на начало", который вычисляется по рекомендованной на этом форуме формуле: sum(Ascendants([Time].CurrentMember), (sum([Time].FirstSibling :[Time].CurrentMember, [Measures].[ПриходРасход])) - [Measures].[ПриходРасход]) + [Measures].[ПриходРасход] Куб смотрят через OWC PivotTable 10 Все бы хорошо, да вот приспичило пользователям выбирать несколько элементов во временном измерении. Т.е. если например выбрать только один месяц - Январь, то все хорошо: показываются остатки на начало января, оборот за январь А если пользователь выбирает галками Январь и Февраль, то в начальных остатках отображается: [Остаток на начало Января] + [Остаток на начало Февраля], [Оборот за Январь] + [Оборот за Февраль] А пользователь, естественно, ожидает увидеть: [Остаток на начало Января], [Оборот за Январь] + [Оборот за Февраль] Может есть у кого идеи, как можно вывернуться чтобы так работало? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 16:52 |
|
||
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
bio_unitГоспода, есть куб, который строится по таблице складских проводок. В кубе есть Calculated Member "Остатки на начало", который вычисляется по рекомендованной на этом форуме формуле: sum(Ascendants([Time].CurrentMember), (sum([Time].FirstSibling :[Time].CurrentMember, [Measures].[ПриходРасход])) - [Measures].[ПриходРасход]) + [Measures].[ПриходРасход] Куб смотрят через OWC PivotTable 10 Все бы хорошо, да вот приспичило пользователям выбирать несколько элементов во временном измерении. Т.е. если например выбрать только один месяц - Январь, то все хорошо: показываются остатки на начало января, оборот за январь А если пользователь выбирает галками Январь и Февраль, то в начальных остатках отображается: [Остаток на начало Января] + [Остаток на начало Февраля], [Оборот за Январь] + [Оборот за Февраль] А пользователь, естественно, ожидает увидеть: [Остаток на начало Января], [Оборот за Январь] + [Оборот за Февраль] Может есть у кого идеи, как можно вывернуться чтобы так работало? Ну здравствуй. Да у меня было такое тоже. Что я тебе могу сказать. Это связанно не только с работой по иерархии но и по подсчету уникальных сторок в нутри куба. Просто когда ты выбираешь два среза куба (а январь и февраль они и есть) то все что умеет олап это их сложить. Так что если мультиселек то все складиваеться. если они хотять увидеть продажи за 2 месяца и остатки на какой то месяц, то множно только создать вычесляемую ячейку которая им покажет остаток на этот месяц. Т.е. научить их делать эту ячейку или просто поставить им отчет который будет налету считать. Олап то хранит уже ответы, и все тютю гриня как задал шаг так и шагай по нему. Да к стати про УМНЫЙ ЮКОН, он как с мульти селектом умеет работать с подсчетом уникальных значений, и не терять иерархию при мультиселекте, что бы понять кто же там младший??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 17:14 |
|
||
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
OLAPMASTER[quot bio_unit] Т.е. научить их делать эту ячейку или просто поставить им отчет который будет налету считать. Олап то хранит уже ответы, и все тютю гриня как задал шаг так и шагай по нему. Спасибо за быстрый ответ, честно говоря я так и сделал :) при открытии формы делаю AddTotal, перехватываю событие Query и в формулу этого Total'a вместо CurrentMember подставляю самый ранний из выбранных периодов. Да вот только при этом после некоторых манипуляцый с измерениями, перевыбором периодов, падает этот OWC с Exception. Просто тихо падает... Раз на раз не приходится, т.е. один раз может упасть при выборе одних фильтров, другой раз - уже при других Раньше грешил, что может не правильно работают с объектами OWC, но вроде все уже отладил, и остальсь теперь только грешить на сам OWC, что не любит он когда ему в Calculated Member часто программным образом формулу меняют. Вот и решил узнать может это все штатными средствами сделать можно без программирования OWC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 17:25 |
|
||
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
bio_unit OLAPMASTER[quot bio_unit] Т.е. научить их делать эту ячейку или просто поставить им отчет который будет налету считать. Олап то хранит уже ответы, и все тютю гриня как задал шаг так и шагай по нему. Спасибо за быстрый ответ, честно говоря я так и сделал :) при открытии формы делаю AddTotal, перехватываю событие Query и в формулу этого Total'a вместо CurrentMember подставляю самый ранний из выбранных периодов. Да вот только при этом после некоторых манипуляцый с измерениями, перевыбором периодов, падает этот OWC с Exception. Просто тихо падает... Раз на раз не приходится, т.е. один раз может упасть при выборе одних фильтров, другой раз - уже при других Раньше грешил, что может не правильно работают с объектами OWC, но вроде все уже отладил, и остальсь теперь только грешить на сам OWC, что не любит он когда ему в Calculated Member часто программным образом формулу меняют. Вот и решил узнать может это все штатными средствами сделать можно без программирования OWC. Ну вот программирование OWC это ваше просто самоубийство. Я вот так и не овладел этим искуством. И даже не хочется есть продукты которые на лету кубик соберают в памяти и жрут ее немеренно. Вообщем это проблема извечна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 17:33 |
|
||
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
есть формула попроще [src]SUM(PeriodsToDate([Time].[(All)],Time.CurrentMember),[ПриходРасход])/SRC] Но и она вас не спасёт, т.к. (на сколько я понял) поле Time стоит в фильтре, а если там выбрать несколько мемберов, то OWC10 генерит такой mdx (кстати, не поленитесь выложить его сюда), который складывает остатки за разные месяцы. Как вариант надо перетащить поле Time в заголовки строк или столбцов, данных будет немного поболе, зато остаток правильный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 17:38 |
|
||
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
OLAPMASTER Ну вот программирование OWC это ваше просто самоубийство. Я вот так и не овладел этим искуством. И даже не хочется есть продукты которые на лету кубик соберают в памяти и жрут ее немеренно. Вообщем это проблема извечна. Честно говоря не вижу разницы между опеределением Calculated Member на сервере и добавлением вычисляемого поля в PivotTable. По-моему, и то и другое вычисляется на клиенте. Или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 17:40 |
|
||
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
OLAPMASTERДа к стати про УМНЫЙ ЮКОН, он как с мульти селектом умеет работать с подсчетом уникальных значений, и не терять иерархию при мультиселекте, что бы понять кто же там младший??? Мультиселект обрабатывает OWC, который не силён в MDX, и всё что остаётся юкону - это быстро обработать "кривой" MDX. Т.е. юкон не поможет в этом случае, а вот OWC12 - может быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 17:40 |
|
||
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
Dmitry Biryukovесть формула попроще [src]SUM(PeriodsToDate([Time].[(All)],Time.CurrentMember),[ПриходРасход])/SRC] Но и она вас не спасёт, т.к. (на сколько я понял) поле Time стоит в фильтре, а если там выбрать несколько мемберов, то OWC10 генерит такой mdx (кстати, не поленитесь выложить его сюда), который складывает остатки за разные месяцы. Как вариант надо перетащить поле Time в заголовки строк или столбцов, данных будет немного поболе, зато остаток правильный. Да, именно так, поле Time в фильтре и OWC складывает отстатки за разные месяцы. А вот как mdx в OWC посмотреть я не знаю. Вроде mdx должен возвращаться свойством CommandText, но оно почему-то все время пустое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 17:43 |
|
||
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 17:45 |
|
||
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 17:47 |
|
||
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
Dmitry Biryukovесть формула попроще Код: plaintext Но и она вас не спасёт, т.к. (на сколько я понял) поле Time стоит в фильтре, а если там выбрать несколько мемберов, то OWC10 генерит такой mdx (кстати, не поленитесь выложить его сюда), который складывает остатки за разные месяцы. Как вариант надо перетащить поле Time в заголовки строк или столбцов, данных будет немного поболе, зато остаток правильный. Господа, Дальнейшее исследование выяснило, что я ошибался насчет того, что если на Time стоит мультифильтр, то начальные остатки за несколько выбранных периодов складываются. Сумма в начальном остатке как оказалось зависит от того какая формула в Calculated member ОстНаНачалоКол. Если формула: Код: plaintext 1. Если формула: Код: plaintext 1. Если выбран один период, т.е. мультифильтра нет, то обе формулы дают одинаковые значения начальных остатков. При установленом мультифильтре генерится такой MDX: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Если мультифильтр не установлен, то MDX такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. т.е. при мультифильре я так понимаю OWC создает какой-то member где агрегированны выбранные периоды. Интересно как в этом случае обрабатывается [Период].CurrentMember в формуле? На что ссылается CurrentMember? Может кто знает как в этом случае построить формулу, чтобы вместо CurrentMember выбрать самый ранний период? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 11:51 |
|
||
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
Интересно, что это значит? Код: plaintext 1. 2. По какому ключевому слову в BOL искать про это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 14:15 |
|
||
|
OWC, PivotTable, выбор нескольких временных периодов и начальные остатки
|
|||
|---|---|---|---|
|
#18+
авторПо какому ключевому слову в BOL искать про это? Про что конкретно? Если в общем то "Using WITH to Create Calculated Members". Если по наполнению то "Aggregate" Но BOL насыщенностью пояснений не блещет. Так шо лучше Споффффорда отыскать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 15:47 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=32880778&tid=1871867]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 397ms |

| 0 / 0 |
