Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Блин, нарвался на ситуевину, этот MS AS не считает итоги по-человечески!! Есть виртуальный куб. Состоит из двух одинаковых по структуре кубов. И в этом вирт. кубе есть две меры - Оборот1 и Оборот2. от первого и второго куба соответственно. И мера Оборот2 должна иметь приоритет. Т.е., если Оборот2 ненулевой, то надо в вирт.кубе брать его, если Оборот2 нулевой (а такое может быть), то берем Оборот1. Пишу в Calc.Member простую штуку - iif(Оборот2>0,Оборот2,Оборот1). Казалось бы куда проще! Но эта зараза неправильно суммирует, когда все измерения свернуты! Т.е. общая сумма ВСЕГДА выдается только по мере Оборот2, хотя она часто бывает нулевая. Т.е. вывожу какое-нить измерение в строки, и вижу сумму внизу не ту, которая получается, если сложить все измерения вручную! Че за бред, как с этим побороться, всю башку блин уже сломал!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 12:34 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
razlichaite NULL i 0. t.e. vam snachala nado proverit Оборот2 na NULL, a potom na 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 13:27 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Чччеерт, тундра, я ж про это думал вчера, вот поторопишься, что называется... Спасибо! Но я правда очень сильно торопился ;-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 14:09 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Вот я рано то обрадовался.. И на NULL проверял и IsEmpty и > 0 - все засунул. Ни хрена, считает по-старому :-(. Никакого эффекта! Код: plaintext 1. Че тут не так то? Если не NULL И не пусто И >0 - то Оборот2, иначе оборот1. Почему он сумму считает только по оборот2!!! Даже когда вместо него подставляется оборот1 ?!?! P.S. По-отдельности оставлять not NULL, IsEmpty и >0 пробовал! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 14:26 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Пашка, а почему бы тебе не разрулить эту ситуацию в самой таблице фактов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 17:22 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Мне так здается, что у него 2 таблицы фактов, но я бы их все равно через вьюху поженил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 17:32 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Две, ага, таблицы. Да, конечно, была идея разрулить на уровне таблиц, но по многим причинам этого делать не следует. Вьюхи по 30 млн. строк мне не нравятся...:) Да и другие причины есть. В общем хочу в олапе это сделать. Щас вот думаем над правильным текстом калк.мембера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 17:43 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Была аналогичная проблема со сложным условием в IIF. К сожалению, "победил" только использованием вложенных IIF каскадом, особо не было времени разбираться, и хотя получилось некрасиво, но зато результат начало выдавать правильно. Может глюк MS AS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 17:54 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Я не поленился и сделал у себя на примере так Код: plaintext Прекрасно все работает. У вас состав измерений в виртуальном кубе какой? Все измерения присутствуют в обоих кубах, или есть какое что только в одном физическом кубе есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 19:37 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Вьюхи по 30 млн. строк мне не нравятся Зря. Ничего в этом криминального нет, если только не сумасшедший их строил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 19:40 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Да нет, работает то оно работает, но только на конечных уровнях (Leaf). А вот если сумму по строкам или по столбцам смотреть в клиенте (Excel, ProClarity), то считается только мо мере Оборот2. Т.е. наверное придется на разных уровнях использовать разные формулы подсчета. Пока других предложений нет (ну, кроме вьюх). А куб такой: Виртуальный куб. Измерения Компания, Филиал, Дата, КаналСбыта. Измерения все равноправные, т.е. я имею в виду, что в каждом филиале одинаковый набор компаний. Меры такие (обычные, аддитивные): Оборот1 и оборот2. Оборот1 есть всегда, Оборот2 - лишь по некоторым компаниям и в некоторых филиалах. И задача простая - при наличии Оборота2 брать его, если его нет - то брать Оборот1. Чтобы было совсем понятно, на экране я вижу следующее: Код: plaintext 1. 2. 3. 4. 5. 6. А все потому, что по Компании2 есть оборот2, вот только он в общую сууму и попадает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 09:35 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Пашка, по-моему Вы получаете именно то что просите, если в одном из листьев NULL, это ведь не значит что у его родителя NULL. Например, если у оборот_2 в январе 5, феврале NULL, марте 5, то в первом квартале 10, а не NULL, правильно? T.e. нужно более хитрое вычисляемое измерение сделать, которое будет считать сумму само. Ирина ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rightsг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 10:28 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Ирина, но ведь 10 - это только сумма по полю Оборот2! Чтобы это посчитать я мог ваще не делать Calc.Mamber, просто сложить все обороты2, так ведь? :-)) А я то хочу, чтобы в феврале подставился оборот 1 (ведь Оборот 2 - NULL)!!!! И формулу то я правильную написал, только не работает она на итоговых уровнях, что, на мой взгляд - нелогично ;-\. Сейчас думаю над формулой, которая бы работала на Уровне All по-одному, а на уровне Leaf по-другому. Пока не придумывается, ведь измерений то у меня 4, надо как-то все их обработать ;-\ Чтобы при любой комбинации выбранных измерений получалась правильная сумма... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 10:41 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Я не правильно выразилась, Вы получаете то, что написанно в формуле. На нижнем уровне: 5(из оборот_2), 8(из оборот_1), (из оборот_2)5, на итоговом уровне оборот 10 уже подсчитан системой(5+5) и он не NULL, поэтому получаем 10. Все логично и вы движетесь в правильном направлении. Ирина <BR> <BR>---------------------------------------------------- <BR>This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 10:58 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
Nakonec to ya ponyal vashu problemu, Pavel. T.e. problema vasha bila sovsem ne v formule. Vasha formula schitala pravilno, vot tolko vi hoteli sovsem drugogo. To chto vi hotite videt - nado reshat na urovne DWH. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:14 |
|
||
|
Люди, спасайте! Срочно!
|
|||
|---|---|---|---|
|
#18+
To backfire: На DWH то и дурак сделает (даже я), а я на MDX хочу :-)) Я уже на самом деле все сделал вручную, потому что срочно надо было, но куб то до ума надо довести, и ваще... зацепило :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 13:22 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=32498097&tid=1872662]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
135ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 461ms |

| 0 / 0 |
