|
А зачем нужен SOLVE_ORDER.... и прочее
|
|||
---|---|---|---|
#18+
Люди! Подскажите пожалуйста! Вот сижу, изучаю MDX и Microsoft Analisys Services и не могу понять. 1. В конструкции with member ... имеется параметр SOLVE_ORDER. Но не могу понять по BOL зачем он нужен. Думал что он определяет порядок расчёта member перечисленных в WITH. Но меня номера у взаимозависимых member и результат одинаков. 2. А как в MDX Sample Applications вывести несколько Measures. Например есть Measures: - Кол - Деньги Есть измерения - дата - товары Строю такой запрос: select [Товары].members on columns, [Дата].members on rows from [Продажи] where [Measures].[Кол] ... и всё пучком. Но надо вывести и [Measures].[Кол], а может и с десяток других Measures. Куда их вставить? 3. Измерение "Товары" типа parent - child. Я так думал что если применить конструкцию типа [Товары].members, то в MDX Sample Applications они выведутся ввиде иерархии (количество столбцов под измерение будет равно количеству уровней). Но всё измерение выводится в один столбец. Может я что ни так делаю? Заранее благодарен за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2002, 13:37 |
|
А зачем нужен SOLVE_ORDER.... и прочее
|
|||
---|---|---|---|
#18+
1. Если на одну ячейку приходится несколько пользовательских вычислений, то SOLVE ORDER назначает победителя, отвергая остальных. CALCULATION PASS позволяет применить несколько вычислений к одной ячейке и установить порядок их выполнения. 2. select {Measures.[Store Sales], Measures.[Store Cost]} on columns, Product.Members on rows from Sales, какие проблемы? Хотите увидеть меры вместе с временем - select (Time.Members * {Measures.[Store Sales], Measures.[Store Cost]}) on columns, Product.Members on rows from Sales. Что эквивалентно CrossJoin(Time.Members, {Measures.[Store Sales], Measures.[Store Cost]}). В where засунуть несколько членов одного измерения нельзя, п.ч. это противоречит здравому смыслу. Если гипотетически представить себе запрос типа select Time.Members on columns, Product.Members on rows from Sales where {Measures.[Store Sales], Measures.[Store Cost]}, то какие цифры вы ожидаете увидеть на пересечении времени и продукта: выручку или издержки? 3. Да оно не только parent-child, оно и стандартное измерение в один столбец показывает. Только CrossJoin в несколько. Почему? Потому что оно так написано. Excel, например, под каждый раскрытый уровень отводит новый столбец. Перепишите разноску ADOMD.CellSet по MSFlexGrid'у на свой вкус, поигравшись со свойствами LevelDepth / LevelName у Axis.Position.Member. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2002, 00:10 |
|
А зачем нужен SOLVE_ORDER.... и прочее
|
|||
---|---|---|---|
#18+
Спасибо Дед Мазай тебе за ответ. Я ещё только учусь всем этим примудростям, поэтому по поводу п.2., для меня казалось вполне есстественным увидеть на пересечии времени и продукта как издержки, так и выручку. Просто я думал что это всё помещается во Where, а оказывается в оси. Кажется я тогда не понимаю зачем это Where нужно? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2002, 07:23 |
|
А зачем нужен SOLVE_ORDER.... и прочее
|
|||
---|---|---|---|
#18+
Where нужно для того, что бы указать в контексте какого члена(из тех измерений, которые Вы не хотите на оси) вычислять ячейку. Если Вы его не укажите, то вычисление будет использовать то, что называется Default Member, обычно первый член измерения. Например, если у вас еще есть измерение время(2000, 2001, 2002г), и его нет ни на одной из осей, то вычислится кол-во для 2000 года, а не для 2002 как Вы хотели, или если есть у времени "All", то вычислится за все года, а не за 2002. Ирина ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2002, 09:44 |
|
|
start [/forum/topic.php?fid=49&fpage=416&tid=1873622]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
22ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 250ms |
total: | 363ms |
0 / 0 |