Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
вопрос про scope в yukon
|
|||
|---|---|---|---|
|
#18+
Добрый день. итак, стало стыдно что есть много iif в CM iif( IsLeaf([ItemGroup].[ItemGroup]), Iif([Price] > 0, [Qty]*[Price], null), Sum({[ItemGroup].[ItemGroup].children}) ) (в ItemGroup - 2 уровня) тогда написали так для начала (как смогли, не бейте сильно): CREATE MEMBER CURRENTCUBE.[MEASURES].Sum AS Iif([Price] > 0, [Qty]*[Price], null), VISIBLE = 1; scope([Sum], [ItemGroup].[ItemGroup].[ItemGroup]); This = Sum([ItemGroup].[ItemGroup].children); end scope; scope([Sum], [ItemGroup].[ItemGroup].[All]); This = Sum([ItemGroup].[ItemGroup].children); end scope; вопросы следующие: 1. самый животрепещущий, у нас таких CM несколько десятков, после такого преобразования в script organazer становится очень много строчек - очень трудно разбираться, можно ли как-то сгруппировать 2. можно ли обойтись без end scope (тем более 2 раза). 2`. быстрее ли будет говорить scope(Root()) вместо end scope ? 3. можно ли, быстрее ли написать один scope с проверкой на level ? 4. можно ли? нужно ли стараться для ускорения засунуть Iif([Price] > 0) в scope? я понимаю что вопросов много, и возможно где-то есть простое объяснение. если так, то буду признателен если покажете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2005, 17:54 |
|
||
|
вопрос про scope в yukon
|
|||
|---|---|---|---|
|
#18+
SCOPE statement может работать с mixed granularity, поэтому последние два можно обьединить в один. Но я рекоммендую просто определить физическую меру Sum а не вычисляемую, и написать такой скрипт: SCOPE (Measures.Sum, Leaves(ItemGroup)); This = Qty*Price; END SCOPE; Это будет работать быстрее всего (и не надо никаких Sum) Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2005, 22:29 |
|
||
|
вопрос про scope в yukon
|
|||
|---|---|---|---|
|
#18+
MoshaSCOPE statement может работать с mixed granularity, поэтому последние два можно обьединить в один. Но я рекоммендую просто определить физическую меру Sum а не вычисляемую, и написать такой скрипт: SCOPE (Measures.Sum, Leaves(ItemGroup)); This = Qty*Price; END SCOPE; Это будет работать быстрее всего (и не надо никаких Sum) Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights спасибо. просто и гениально... со скоростью правда лучше не стало и пообще как-то все не очень. но вот пока хотел бы заметить, возможно мы и ошибаемся, но. 1. все начинает сильно тормозить если эта конструкция scope стоит _до_ используемый в ней переменных 2. функции leaves нет в списке all на закладке functions (в Calculations) 3. если написать SCOPE (Measures.Sum, Leaves(ItemGroup)); This = 1; END SCOPE; то он считает Sum - Int32, и если сумма перепрыгавает 32K - получаются отрецательные значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2005, 18:56 |
|
||
|
вопрос про scope в yukon
|
|||
|---|---|---|---|
|
#18+
zmike то он считает Sum - Int32, и если сумма перепрыгавает 32K - получаются отрецательные значения. если сумма перепрыгавает 32K и получаются отрецательные значения, то вы имеете дело с Int16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2005, 20:51 |
|
||
|
вопрос про scope в yukon
|
|||
|---|---|---|---|
|
#18+
backfire zmike то он считает Sum - Int32, и если сумма перепрыгавает 32K - получаются отрецательные значения. если сумма перепрыгавает 32K и получаются отрецательные значения, то вы имеете дело с Int16. согласен, принимается :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2005, 21:11 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=33235029&tid=1871158]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 255ms |
| total: | 371ms |

| 0 / 0 |
