Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
выражение: IIf(ISLeaf([Номенклатура]) and IsLeaf([Склад]),IIF(isleaf([Дата]), IIF([Measures].[Остаток на дату]>0,1,null),Sum([Дата].Children)),null) выводятся результаты если выбран только один член измерения [Дата], например квартал, если выбрано 2 квартала, то уже ничего не выводиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2004, 11:27 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
Что значит "выбрано 2 квартала" ? Это типа в Excel в Page Filter сделано Multi-Member selection ? Если да, то к сожалению - by design. Текучий член в измерении Дата становится calculated member, поэтому IsLeaf([Дата]) уже не то, да и Дата.Children вернет пустой сет... Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2004, 23:53 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
Моше И тут нам как воздух не зватает функционала, чтобы: 1. Member.Calculated:bool 2. Member.DependsFrom:Set (Calculated Member возвращает Set от которого он зависит. Наверняка под капотом MDX-Query Engine есть такой фунционал) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2004, 16:16 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
Попутно вопрос Моше Есть ли планы в MDX сделать что то более удобное чем убогий iif и другие VB-Script функции (Mid, Val, etc.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2004, 16:19 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
backfire 1. Member.Calculated:bool Вам эта информация нужна непосредственно из МDX? Если нет,то можно использовать Member Proeprty MEMBER_TYPE и соответсвенно в Adomd.Net и АДОМД Member.Type. Ирина ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2004, 10:17 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
Ирина backfire 1. Member.Calculated:bool Вам эта информация нужна непосредственно из МDX? Если нет,то можно использовать Member Proeprty MEMBER_TYPE и соответсвенно в Adomd.Net и АДОМД Member.Type. Ирина ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights Спасибо за информацию о Adomd[.Net], но я выразил пожелания к МДХ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2004, 10:31 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
backfire Иринаможно использовать Member Proeprty MEMBER_TYPE Спасибо за информацию о Adomd[.Net], но я выразил пожелания к МДХ. Ну так Ира наверноe и имела в виду MDX, просто мы уже настолько давно с Юконом живем, что забыли что в AS2K не все работает так же :) Ну а в Юконе можно написать Код: plaintext Но это все неправильно с другой точки зрения. Проверка на то является ли member calculated или не calculated это подход чинить симптомпроблемы а не саму проблему. И у такой затычки проблем будет больше чем она решит. Принципиально правильное решение, это - Пользователь: Вместо приведенного calculated member который проверяет на IsLeaf а потом суммирует Sum, надо использовать cell calculation со scope на Leaves. Он будет прекрасно сам аггрегировать - Excel: Вместо того чтобы создавать calculated member для multi-member selection, надо использовать set in WHERE clause - Analysis Services: Правильно отрабатывать функции типа CurrentMember когда есть set in WHERE clause. Mosha's Blog at sqljunkies.com ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2004, 12:19 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
MoshaНу а в Юконе можно написать Да и в AS2K если постараться можно из MDX проверить является ли member calculated или нет, да только ни к чему все это... Mosha's Blog at sqljunkies.com ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2004, 12:26 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
backfireЕсть ли планы в MDX сделать что то более удобное чем убогий iif и другие VB-Script функции (Mid, Val, etc.). Смотря что считать убогостью IIF. На мой взгляд, убогость состоит именно в том что такая функция как IIF существует. Я считаю, что если MDX expression содержит IIF, это значит что оно неправильно написано, и его надо переписать. Я понимаю, что это не всегда возможно, но убежден, что это возможно практически всегда. Если же под убогостью считать nested IIF's, то в Юконе мы проимлементили CASE operator, согласно спецификации OLEDB for OLAP. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2004, 12:40 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
Mosha - Пользователь: Вместо приведенного calculated member который проверяет на IsLeaf а потом суммирует Sum, надо использовать cell calculation со scope на Leaves. Он будет прекрасно сам аггрегировать - Excel: Вместо того чтобы создавать calculated member для multi-member selection, надо использовать set in WHERE clause - Analysis Services: Правильно отрабатывать функции типа CurrentMember когда есть set in WHERE clause. Mosha's Blog at sqljunkies.com ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights Ха, жизнь прекрасна в Юконе, а в Шилоне мы не можем использовать Set под WHERE :-( по поводу CellCalculation: - CellCalculation "славится" скоростью исполнения (по крайней мере в AS2K), изменилась ли картина в Yukon? Или CellCalculation - тормоз по оределению? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2004, 12:50 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
Mosha backfireЕсть ли планы в MDX сделать что то более удобное чем убогий iif и другие VB-Script функции (Mid, Val, etc.). Смотря что считать убогостью IIF. На мой взгляд, убогость состоит именно в том что такая функция как IIF существует. Я считаю, что если MDX expression содержит IIF, это значит что оно неправильно написано, и его надо переписать. Я понимаю, что это не всегда возможно, но убежден, что это возможно практически всегда. Если же под убогостью считать nested IIF's, то в Юконе мы проимлементили CASE operator, согласно спецификации OLEDB for OLAP. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights CASE в Юконе это радует. как написать без IIF следующее в AS2K Имеем тривиальный куб "остатков". Набивший оскомину CalculateMember для остатка Код: plaintext Если имеется 2 измерения времени, то надо писать IIF для определения того по какому из временных измерений CurrentMember отличен от AllMember. Как это сделать без IIF? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2004, 12:58 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
MoshaЧто значит "выбрано 2 квартала" ? Это типа в Excel в Page Filter сделано Multi-Member selection ? Если да, то к сожалению - by design. Текучий член в измерении Дата становится calculated member, поэтому IsLeaf([Дата]) уже не то, да и Дата.Children вернет пустой сет... Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights Тогда как можно это все реализовать, что то мне в голову не приходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2004, 14:03 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
backfireCellCalculation "славится" скоростью исполнения (по крайней мере в AS2K), изменилась ли картина в Yukon? Или CellCalculation - тормоз по оределению? Не вдаваюсь в дискуссию про производительность Cell Calculations могу точно сказать одно: Когда функциональность cell calculations эмулируется с помощью calculated members как в начале треда - IIF(IsLeaf(<member>), <expr>, SUM(<member>.children)) - то производительность Cell Calculations будет выше. backfireЕсли имеется 2 измерения времени, то надо писать IIF для определения того по какому из временных измерений CurrentMember отличен от AllMember. Как это сделать без IIF? Я не очень понял задачу (а что если он по обеим измерениям отличен от All, а почему есть 2 измерения времени с одинаковой формулой на обоих и т.д.). Но в принципе IIF's которые проверяют на каком level находится CurrentMember - они самые плохие :) Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 02:18 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
max_spbtiТогда как можно это все реализовать, что то мне в голову не приходит Думаю, что в Вашем случае, достаточно поменять SOLVE_ORDER calculated membera, так чтобы он оказался ниже чем тот который генерит Excel. Поскольку Excel не выставляет SOLVE_ORDER, т.е. по умолчанию 1, то Вам надо попробовать поставить отрицательный SOLVE_ORDER. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 04:27 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
Mosha backfire[quot backfire]Если имеется 2 измерения времени, то надо писать IIF для определения того по какому из временных измерений CurrentMember отличен от AllMember. Как это сделать без IIF? Я не очень понял задачу (а что если он по обеим измерениям отличен от All, а почему есть 2 измерения времени с одинаковой формулой на обоих и т.д.). Но в принципе IIF's которые проверяют на каком level находится CurrentMember - они самые плохие :) Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights Попытаюсь прояснить подробнее. В кубе есть 2 измерения времени: ГМД: Год->Месяц->ДеньМесяца ГНД: Год->Неделя->ДеньНедели т.к. в Европе работают с ISOweeк, то для этих измерений надо держать 2 разные таблицы измерений, ибо существует требование, чтобы годы месяцы и недели были полные, а Год в ISOweek не совпадает с нормальным годом: тогда пишем для "остатка" Код: plaintext 1. 2. вариант "а что если он по обеим измерениям отличен от All" не рассматриается. а почему есть 2 измерения времени с одинаковой формулой на обоих я не понял, что Вы имеете ввиду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 10:29 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
backfireвариант "а что если он по обеим измерениям отличен от All" не рассматриается. Ну это выглядит как-то не очень серьезно. А что если они оба на All - тоже не рассматривается ? Вообще постановка задачи, что если пользователь делает срез по calendar year, то ему остатки по calendar year, а если по ISOWeek то пересчитать остатки по ISOWeek, на мой взгляд не очень. Один calculated member делает и то и другое и третье - а потом невозможно понять что именно от там насчитал. Я бы создал 2 calculated members, один в YWD, другой в YMD, и заодно они бы считали не только running sum для ПриходРасход, но и для всех остальных мер. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 10:48 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
Очень интересно про один СМ для всех мер. Я знаю один из приемов как это можно сделать - с помощью создания вирутального измерения. Не подскажете ли свой метод? Очень интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 11:52 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
max_spbtiвыражение: IIf(ISLeaf([Номенклатура]) and IsLeaf([Склад]),IIF(isleaf([Дата]), IIF([Measures].[Остаток на дату]>0,1,null),Sum([Дата].Children)),null) выводятся результаты если выбран только один член измерения [Дата], например квартал, если выбрано 2 квартала, то уже ничего не выводиться Народ вас понесло не в ту степь, ситуация такая: Есть измерение [Дата], пользователь выбирает два значения, т.е. в Excel ставиться 2 галки у кварталов, соответственно после этого выражение не считается, привыборе одного квартала -- все работает нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 12:53 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
max_spbti max_spbtiвыражение: IIf(ISLeaf([Номенклатура]) and IsLeaf([Склад]),IIF(isleaf([Дата]), IIF([Measures].[Остаток на дату]>0,1,null),Sum([Дата].Children)),null) выводятся результаты если выбран только один член измерения [Дата], например квартал, если выбрано 2 квартала, то уже ничего не выводиться Народ вас понесло не в ту степь, ситуация такая: Есть измерение [Дата], пользователь выбирает два значения, т.е. в Excel ставиться 2 галки у кварталов, соответственно после этого выражение не считается, привыборе одного квартала -- все работает нормально уже было же сказано, что это неработает потому что, .children для calculated member не возыращает ожидаемого вами результата. А то что Excel делает из двух выбранных кварталов calculated meber, так это by design ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 13:26 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
ВжикОчень интересно про один СМ для всех мер. Я знаю один из приемов как это можно сделать - с помощью создания вирутального измерения. Не подскажете ли свой метод? Очень интересно. СМ для всех мер? или измерений? не расскажите ли подробнее о "с помощью создания вирутального измерения"? можно в другом топике. Не понял ваш вопрос. Не подскажете ли свой метод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 13:29 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
Поясняю: есть СМ для расчета выручки от продаж и прибыли от продаж. Хочется сравнивать их с предыдущим месяцом, например в процентном выражении (могут быть и другие потребности в анализе, например нарастающий итог и т.п.). Для этого быстро делаем для выручки СМ Процент выручки от предыдущего периода, для прибыли делаем СМ Процент прибыли от предыдущего периода. Потом захотели сравнивать иные меры с предыдущим периодом - создаем на них еще по СМ. Однако, можно не создавать СМ для каждой меры, а создать один СМ Процент от меры предыдущего периода, который будет работать для всех мер. Для реализации подобного функционала мне известен прием на основе дополнительного измерения. В MS SSABI рассматривается несколько иной подход. Mosha пишет, что он тоже может сделать один СМ для всех мер: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 13:55 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
MoshaЯ бы создал 2 calculated members, один в YWD, другой в YMD, и заодно они бы считали не только running sum для ПриходРасход, но и для всех остальных мер. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights Спасибо большое, вы мне действительно очень помогли. Остается вопросы. Каким способом можно: а) при дизайне "маркировать" меры, которые для "остатка" не имеюm смысла (Расход / Приход) от тех которые имеют смысл (Приход - Расход) б) в СM на временном измерении различать то что сделано в п. а) в) и желательно без IIF и еще в AS2K. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 14:30 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
ВжикМеня интересует его подход для данного функционала. Экспромтом мне представляется сл. при генерации MDX пишем Код: plaintext 1. или Код: plaintext 1. это мое видение. Может быть Моша предложит что-то более красивое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 14:39 |
|
||
|
Помогите, бага или фича уже не могу понять
|
|||
|---|---|---|---|
|
#18+
коррекция очепяток :-) Экспромтом мне представляется сл. при генерации MDX пишем [TimeYMD].[остаток] as sum(PeriodsToDate([TimeYMD].[(All)],"здесь будет выражение для члена измерения TimeYMD"), [Measures].CurrentMeasure) или [TimeYWD].[остаток] as sum(PeriodsToDate([TimeYWD].[(All)],"здесь будет выражение для члена измерения TimeYWD"), [Measures].CurrentMeasure) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 14:40 |
|
||
|
|

start [/forum/topic.php?fid=49&fpage=377&tid=1872093]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 274ms |
| total: | 418ms |

| 0 / 0 |
