Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
AS2K(5). CM. Можно ли такое реализовать?
|
|||
|---|---|---|---|
|
#18+
Use Case: Создаем в измерении времени СM, например, CurrentYear. По какой формуле вычисляется не важно. Важно что во время выполнения запросов ему соотевтствует вполне определенный элемент с уровня Year. Аналогично для CurrentMonth и т.п. в идеальном случае в ResultSet должен фигурировать физический элемент [2006], хотя в MDX запросе (скрипте) упоминается [CurrentYear]. Зачем все это надо? 1. DrillDown и Through 2. WriteBack. 3. etc. Отцы AS всегда уповали, что все должно быть на сервере. Вот я этого тоже хочу, но сейчас вышеизложенный функционал реализован в "клиентском" коде, а в идеале все это на сервере заложить. Посылам например запрос select {[Time].[CalenderYear].[CurrentYear], [Time].[CalenderYear].[PrevYear]} on columns ...., а получаем в CellSet на оси {[Time].[CalenderYear].[Year].[2006], [Time].[CalenderYear].[Year].[2006]} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 13:19 |
|
||
|
AS2K(5). CM. Можно ли такое реализовать?
|
|||
|---|---|---|---|
|
#18+
backfireUse Case: Создаем в измерении времени СM, например, CurrentYear. По какой формуле вычисляется не важно. Важно что во время выполнения запросов ему соотевтствует вполне определенный элемент с уровня Year. Аналогично для CurrentMonth и т.п. в идеальном случае в ResultSet должен фигурировать физический элемент [2006], хотя в MDX запросе (скрипте) упоминается [CurrentYear]. Зачем все это надо? 1. DrillDown и Through 2. WriteBack. 3. etc. Отцы AS всегда уповали, что все должно быть на сервере. Вот я этого тоже хочу, но сейчас вышеизложенный функционал реализован в "клиентском" коде, а в идеале все это на сервере заложить. Посылам например запрос select {[Time].[CalenderYear].[CurrentYear], [Time].[CalenderYear].[PrevYear]} on columns ...., а получаем в CellSet на оси {[Time].[CalenderYear].[Year].[2006], [Time].[CalenderYear].[Year].[2006]} А named sets попробуй, тогда, правда, писать надо (пример дан для AS2K5) with set [CurrentYear] as [Time].[CalenderYear].[Year].[2006] set [PrevYear] as [Time].[CalenderYear].[Year].[2005] select {[CurrentYear],[PrevYear]} on columns ...., Владислав Беляев ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 19:05 |
|
||
|
AS2K(5). CM. Можно ли такое реализовать?
|
|||
|---|---|---|---|
|
#18+
Или, просто задать это как DefaultMember на соответствущем атрибуте и писать Код: plaintext Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 21:14 |
|
||
|
AS2K(5). CM. Можно ли такое реализовать?
|
|||
|---|---|---|---|
|
#18+
Беляев backfireUse Case: Создаем в измерении времени СM, например, CurrentYear. По какой формуле вычисляется не важно. Важно что во время выполнения запросов ему соотевтствует вполне определенный элемент с уровня Year. Аналогично для CurrentMonth и т.п. в идеальном случае в ResultSet должен фигурировать физический элемент [2006], хотя в MDX запросе (скрипте) упоминается [CurrentYear]. Зачем все это надо? 1. DrillDown и Through 2. WriteBack. 3. etc. Отцы AS всегда уповали, что все должно быть на сервере. Вот я этого тоже хочу, но сейчас вышеизложенный функционал реализован в "клиентском" коде, а в идеале все это на сервере заложить. Посылам например запрос select {[Time].[CalenderYear].[CurrentYear], [Time].[CalenderYear].[PrevYear]} on columns ...., а получаем в CellSet на оси {[Time].[CalenderYear].[Year].[2006], [Time].[CalenderYear].[Year].[2006]} А named sets попробуй, тогда, правда, писать надо (пример дан для AS2K5) with set [CurrentYear] as [Time].[CalenderYear].[Year].[2006] set [PrevYear] as [Time].[CalenderYear].[Year].[2005] select {[CurrentYear],[PrevYear]} on columns ...., Владислав Беляев Довольно привлекательная идея, стоит покопать ее глубже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 23:01 |
|
||
|
AS2K(5). CM. Можно ли такое реализовать?
|
|||
|---|---|---|---|
|
#18+
MoshaИли, просто задать это как DefaultMember на соответствущем атрибуте и писать Код: plaintext Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights И что дальше? Например я могу написать Код: plaintext Но Код: plaintext Не катит, вот если его бы на каждом уровне можно было задать... Короче я не вижу особого развития этой идеи :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 23:05 |
|
||
|
AS2K(5). CM. Можно ли такое реализовать?
|
|||
|---|---|---|---|
|
#18+
Почему SELECT {Year.DefaultMember, Year.DefaultMember.Children, Year.DefaultMember.PrevMember} ON 0 FROM ... "не катит" ? Вы можете поподробнее обьяснить, а то при такой постановке задачи приходится гадать... backfireвот если его бы на каждом уровне можно было задать... Это именно то что я и предложил - определить его для каждого атрибута. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 23:28 |
|
||
|
AS2K(5). CM. Можно ли такое реализовать?
|
|||
|---|---|---|---|
|
#18+
А как по вашему может работать Year.DefaultMember.Children, без указания user defined hierarchie???? Ведь Year это attribute hierarchie, которая по определению состоит из 1 уровня Из какой иерархии он будет брать элементы? По определению .DefaultMember Returns the default member of a dimension or hierarchy. А мне надо иметь CurrentYear, CurrentDay, CurrentMonth. Даже если я их благополучно объявлю для каждой attribute hierarchie, я не смогу в одном сете свести {Year.DefaultMember, Month.DefaultMember, Day.DeafultMember} а мне надо иметь возможность иметь в одном сете (на одной оси) {TimeDim.YMD.YearLevel.CurrentYear, TimeDim.YMD.MonthLevel.CurrentYear, TimeDim.YMD.DayLevel.CurrentDay} (YMD это User defined hierarchie) Теперь еще один философский вопрос. Дано: TimeDim.Year.[2006] обозначает физически всегда и без вариантов то же самое, что и TimeDim.YMD.YearLevel.[2006] Вопрос: Как, не стреляя из пушки по воробьям (желательно на чистом MDX), получить из TimeDim.Year.CurrentMeber -> TimeDim.YMD.YearLevel.[2006]? Или еще в более общем виде FunctionXY(HierarchieM, MemberN), where HierarchieM это user defined hierarchie, содержащая свом уровнем attribute hierarchie, которой принадлежит MemberN. p.s. Да и как то боязно "to rape" DefaultMeber, ведь он несет дополнительную нагрузку в виде "фильтр по умолчанию". Если я перенацелю в каждой attribute hierarchie defaultmember на то что мне иногда надо, я должен буду расплачиваться указанием в явном виде All-member всегда , там где я о нем и не вспоминаю, что собственно является main stream здравого MDX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 02:36 |
|
||
|
AS2K(5). CM. Можно ли такое реализовать?
|
|||
|---|---|---|---|
|
#18+
Точная формулировка задачи уже на 80% содержит решение. Вы, уважаемый backfire совершенно справедливо требуете от других полной постановки вопроса, пожалуйста не забывайте об этом сами :) Свести в одном сете члены разных иерархий нельзя, поэтому Вам надо использовать YMD иерархия. backfireДано: TimeDim.Year.[2006] обозначает физически всегда и без вариантов то же самое, что и TimeDim.YMD.YearLevel.[2006] Это всегда так - так же как и 2+2=4, поэтому это избыточное условие. backfire Вопрос: Как, не стреляя из пушки по воробьям (желательно на чистом MDX), получить из TimeDim.Year.CurrentMeber -> TimeDim.YMD.YearLevel.[2006]? Код: plaintext backfireДа и как то боязно "to rape" DefaultMeber ... Если я перенацелю в каждой attribute hierarchie defaultmember на то что мне иногда надо, я должен буду расплачиваться указанием в явном виде All-member всегда, Это хороший аргумент. Конечно зависит от Вашей задачи. В некоторых аппликациях предпочитается ставить default time member в текущее время, ну а в некоторых нет. Похоже что в Вашем случае идея г-на Белява является оптимальной. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 06:13 |
|
||
|
AS2K(5). CM. Можно ли такое реализовать?
|
|||
|---|---|---|---|
|
#18+
MoshaТочная формулировка задачи уже на 80% содержит решение. Вы, уважаемый backfire совершенно справедливо требуете от других полной постановки вопроса, пожалуйста не забывайте об этом сами :) Если коротко, то как я уже говорил в первом сообщении, мне необходимо перевести определение current членов с "клиентского кода" на серверный. BackfireВопрос: Как, не стреляя из пушки по воробьям (желательно на чистом MDX), получить из TimeDim.Year.CurrentMeber -> TimeDim.YMD.YearLevel.[2006]? Mosha Код: plaintext Честно говоря не понял, что Вы хотели сказать, приведя это выражение в ответ на мой вопрос. Пожалуйста, Не могли бы Вы прокомментировать это подробнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 11:09 |
|
||
|
AS2K(5). CM. Можно ли такое реализовать?
|
|||
|---|---|---|---|
|
#18+
backfireЧестно говоря не понял, что Вы хотели сказать, приведя это выражение в ответ на мой вопрос. Пожалуйста, Не могли бы Вы прокомментировать это подробнее. Конечно, я попробу1 обьяснить. Допустим, что у нас установлено на атрибуте Year в качестве CurrentMember значение 2006. Соответсвенно, это отразится и во всех иерархиях в которые входит атрибут Year, в том числе YTD. Но, как Вы заметили, поскольку и по другим атрибутам (Month, Day) их CurrentMember может и не быть [All Months] или [All Days], то надо их туда принудительно отправить, поскольку Вам надо получить именно 2006 год именно в иерархии YTD. Отправить атрибуты в All, это тоже самое что и подняться по уровням иерархии, поэтому я и применил функци1 Ancestor, остановившись на нужном уровне, а именно Year. P.S. И как я уже говорил выше, предложение г-на Беляева построить named sets, видимо самое лучшее. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 11:45 |
|
||
|
AS2K(5). CM. Можно ли такое реализовать?
|
|||
|---|---|---|---|
|
#18+
Mosha backfireЧестно говоря не понял, что Вы хотели сказать, приведя это выражение в ответ на мой вопрос. Пожалуйста, Не могли бы Вы прокомментировать это подробнее. Конечно, я попробу1 обьяснить. Допустим, что у нас установлено на атрибуте Year в качестве CurrentMember значение 2006. Соответсвенно, это отразится и во всех иерархиях в которые входит атрибут Year, в том числе YTD. Но, как Вы заметили, поскольку и по другим атрибутам (Month, Day) их CurrentMember может и не быть [All Months] или [All Days], то надо их туда принудительно отправить, поскольку Вам надо получить именно 2006 год именно в иерархии YTD. Отправить атрибуты в All, это тоже самое что и подняться по уровням иерархии, поэтому я и применил функци1 Ancestor, остановившись на нужном уровне, а именно Year. P.S. И как я уже говорил выше, предложение г-на Беляева построить named sets, видимо самое лучшее. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights Спасибо, теперь понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 12:13 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=33468526&tid=1870682]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 337ms |

| 0 / 0 |
