Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Custom rollup formula
|
|||
|---|---|---|---|
|
#18+
Добрый день. В MS SQL2000 Analysis server создан куб, в нем мера (culculated member), которая вычисляет среднее значение и два измерения. Надо чтобы итог по одному измерению продолжал вычисляться как среднее, а по другому считался бы как сумма. И чтобы итог по обоим измерениям считался бы как сумма средних (т.е. сначала итог по первому измерению, затем по второму). Если это можно сделать, задав Custom rollup formula для второго измерения, то какое MDX выражение указать? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2006, 11:11 |
|
||
|
Custom rollup formula
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2006, 12:34 |
|
||
|
Custom rollup formula
|
|||
|---|---|---|---|
|
#18+
Dmitry Biryukov Код: plaintext avg здесь - это название меры? Если да, то итог по второму измерению не получился равным сумме. Т.е. если значения меры по второму измерению 2 и 1, то итог по нему оказался равным 1, а не 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2006, 15:08 |
|
||
|
Custom rollup formula
|
|||
|---|---|---|---|
|
#18+
Measures.avg - это calculated member, который вычисляет среднее значение. Приведите текст воих CM, custom rollup, запросов, ожидаеиіх результатов и полученных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2006, 17:29 |
|
||
|
Custom rollup formula
|
|||
|---|---|---|---|
|
#18+
CM AvgQuantity: [Measures].[Quantity]/[Measures].[cnt] custom rollup для Dim2: Sum([Dim2].CurrentMember.Children,Measures.AvgQuantity) В собранном кубе (просматривается в экселе) при некотором значении по Dim1 имеется два member по Dim2 и для них значения CM AvgQuantity равны 1 и 2. Ожидается, что итог по Dim2 будет равен 3. А он оказался = 1. Однако требуемый куб удалось создать симметричным образом (переносом расчета среднего из Measures в custom rollup, а суммы в Measures). Т.е. я создал custom rollup для Dim1 с расчетом среднего: Avg([Dim1].CurrentMember.Children, [Measures].CurrentMember), а в агрегирующей функции для меры оставил обычную сумму ([Measures].[Quantity] сделал visible, а CM с расчетом среднего удалил вообще). И теперь итог по Dim2 стал равен 3. И в итогах по обоим измерениям тоже сумма. В BOL по поводу Custom Rollup Formulas сказано: "A custom rollup formula applies to all the members (except calculated members) in a level." Может быть дело в этом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2006, 18:57 |
|
||
|
Custom rollup formula
|
|||
|---|---|---|---|
|
#18+
Barry_more В BOL по поводу Custom Rollup Formulas сказано: "A custom rollup formula applies to all the members (except calculated members) in a level." Может быть дело в этом? И если дело в том, что нелзя custom rollup использовать с CM, то возникает вопрос: а нельзя ли как-нибудь получать в итогах среднее без применения CM? Уж больно хочется именно расчет среднего оставить в итогах по одной из мер. (Потому что на самом деле в кубе должна быть еще одна мера M2, и в итогах для M2 по обоим измерениям должна быть сумма. Т.е. в итогах для М1 по Dim1 должно быть среднее, по Dim2 должна быть сумма; в итогах для М2 по обоим измерениям должна быть сумма. Если бы удалось итоги для М1 находить как среднее, то задав custom rollup в виде суммы для Dim2, можно было бы создать нужный куб (итоги для М2 определилим как сумму)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2006, 19:43 |
|
||
|
Custom rollup formula
|
|||
|---|---|---|---|
|
#18+
Barry_moreВ собранном кубе (просматривается в экселе) при некотором значении по Dim1 имеется два member по Dim2 и для них значения CM AvgQuantity равны 1 и 2. Ожидается, что итог по Dim2 будет равен 3. А он оказался = 1.Custom rollup formula работает немного не так. если Dim имеет несколько уровней, то итог по родителю будет суммой детей. Но для того чтобы для каждого члена итог был суммой по членам другого измерения (как Вы описали) - это надо СМ или СС. единицу вы увидели от того, что после применения Custom rollup formula Quantity стал равен cnt Искомую вами сумму средних надо было посмотреть в какой-нибудь физической мере. Barry_more Однако требуемый куб удалось создать симметричным образом (переносом расчета среднего из Measures в custom rollup, а суммы в Measures). Т.е. я создал custom rollup для Dim1 с расчетом среднего: Avg([Dim1].CurrentMember.Children, [Measures].CurrentMember), а в агрегирующей функции для меры оставил обычную сумму ([Measures].[Quantity] сделал visible, а CM с расчетом среднего удалил вообще). И теперь итог по Dim2 стал равен 3. И в итогах по обоим измерениям тоже сумма. если мера физическая, то вы получили среднюю сумму, а не сумму средних. (при определённых условиях они равны, и Вы могли не заметить) Barry_more В BOL по поводу Custom Rollup Formulas сказано: "A custom rollup formula applies to all the members (except calculated members) in a level." Может быть дело в этом? здесь имелись в виду СМ, у которых parent dimension != Meaures ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2006, 22:58 |
|
||
|
Custom rollup formula
|
|||
|---|---|---|---|
|
#18+
Barry_more Barry_more В BOL по поводу Custom Rollup Formulas сказано: "A custom rollup formula applies to all the members (except calculated members) in a level." Может быть дело в этом? И если дело в том, что нелзя custom rollup использовать с CM можно. только надо разобраться с Solve Order Barry_more то возникает вопрос: а нельзя ли как-нибудь получать в итогах среднее без применения CM? Уж больно хочется именно расчет среднего оставить в итогах по одной из мер. (Потому что на самом деле в кубе должна быть еще одна мера M2, и в итогах для M2 по обоим измерениям должна быть сумма. Т.е. в итогах для М1 по Dim1 должно быть среднее, по Dim2 должна быть сумма; в итогах для М2 по обоим измерениям должна быть сумма. Если бы удалось итоги для М1 находить как среднее, то задав custom rollup в виде суммы для Dim2, можно было бы создать нужный куб (итоги для М2 определилим как сумму)). напишите Rollup с IIF, зависящим от Measures.CurrentMember. или Calculated cells. посмотрите что быстрее работать будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2006, 23:02 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=33579280&tid=1870492]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 390ms |

| 0 / 0 |
