Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Фильтр в MDX
|
|||
|---|---|---|---|
|
#18+
Есть куб с двумя измерениями [Дата] и [Дата состояния], при запросе получаю результат, в котором для каждого члена измерения [Дата] присутствует несколько членов измерения [Дата состояния], хочу ограничить множество только данными с максимальной "Датой состояния" для каждой даты. Пример: select { [Measures].[Задолж на конец], [Measures].[Просроч на конец] } on 0, non empty ( [Дата документа].[Год - Месяц - День].[Год].&[2006].&[2].children , [Дата состояния].[Дата сост].children) on 1 from [Сводный] Получаю: Задолж на конец Просроч на конец 01.02.2006 2006-02-26 00:00:00 158103847,09 73018138 01.02.2006 2006-03-03 00:00:00 158101550,58 73015841 01.02.2006 2006-03-14 00:00:00 158101550,58 73015841 19.02.2006 2006-02-20 00:00:00 9149483 39226797 20.02.2006 2006-02-21 00:00:00 9907350 39156475 20.02.2006 2006-02-22 00:00:00 836303 0 20.02.2006 2006-02-26 00:00:00 836303 0 21.02.2006 2006-02-22 00:00:00 10153984 39698789 25.02.2006 2006-02-26 00:00:00 6987442 36896083 25.02.2006 2006-02-27 00:00:00 836303 0 26.02.2006 2006-02-27 00:00:00 10393962 39557761 27.02.2006 2006-02-28 00:00:00 11338678 41069744 28.02.2006 2006-03-13 00:00:00 12998524 38136687 Хочу получить 01.02.2006 2006-03-14 00:00:00 158101550,58 73015841 19.02.2006 2006-02-20 00:00:00 9149483 39226797 20.02.2006 2006-02-26 00:00:00 836303 0 21.02.2006 2006-02-22 00:00:00 10153984 39698789 25.02.2006 2006-02-27 00:00:00 836303 0 26.02.2006 2006-02-27 00:00:00 10393962 39557761 27.02.2006 2006-02-28 00:00:00 11338678 41069744 28.02.2006 2006-03-13 00:00:00 12998524 38136687 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 11:50 |
|
||
|
Фильтр в MDX
|
|||
|---|---|---|---|
|
#18+
напишите СМ типа Head(Order(...,...),1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 16:40 |
|
||
|
Фильтр в MDX
|
|||
|---|---|---|---|
|
#18+
Dmitry Biryukovнапишите СМ типа Head(Order(...,...),1) В этом случае берется последний член 2-го измерения не зависимо от 1-го измерения, на самом деле для каждой даты из 1-го измерения свой набор - и соответственно дата из 2-го измерения должна быть своя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 08:37 |
|
||
|
Фильтр в MDX
|
|||
|---|---|---|---|
|
#18+
Laptiev Dmitry Biryukovнапишите СМ типа Head(Order(...,...),1) В этом случае берется последний член 2-го измерения не зависимо от 1-го измерения, на самом деле для каждой даты из 1-го измерения свой набор - и соответственно дата из 2-го измерения должна быть своя.неправильно вы пишете СМ. используйте nonemptycrossjoin. можете привести текст запроса? а если можно эти два измерения объединить в одно попробуйте custom rollup ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 12:44 |
|
||
|
Фильтр в MDX
|
|||
|---|---|---|---|
|
#18+
К примеру with member cd as tail(nonemptycrossjoin([Дата документа].[Год - Месяц - День].currentmember, [Дата состояния].[Дата сост].children),1).item(0).item(1).name ,non_empty_behavior={[Measures].[Задолж на начало],[Measures].[Движение задолж]} select {[Measures].[Задолж на начало],[Measures].[Движение задолж], cd} on 0, non empty ([Дата документа].[Год - Месяц - День].[Год].&[2006].&[2].children) on 1 from [Сводный] Получаю: Задолж на начало Движение задолж cd 01.02.2006 67965614758,3698 (null) 2006-03-15 00:00:00 19.02.2006 (null) 345736942 2006-03-15 00:00:00 20.02.2006 (null) 984137005 2006-03-15 00:00:00 21.02.2006 (null) 716622540 2006-03-15 00:00:00 25.02.2006 (null) 1110919578 2006-03-15 00:00:00 26.02.2006 (null) 1092538732 2006-03-15 00:00:00 27.02.2006 (null) 2640388434 2006-03-15 00:00:00 28.02.2006 (null) 5633464581 2006-03-15 00:00:00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 13:10 |
|
||
|
Фильтр в MDX
|
|||
|---|---|---|---|
|
#18+
а Сводный - это случайно не виртуальный куб? попробуйте в nonemptycrossjoin добавить физическую меру (Движение задолж ?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 13:36 |
|
||
|
Фильтр в MDX
|
|||
|---|---|---|---|
|
#18+
Laptiev Dmitry Biryukovнапишите СМ типа Head(Order(...,...),1) В этом случае берется последний член 2-го измерения не зависимо от 1-го измерения, на самом деле для каждой даты из 1-го измерения свой набор - и соответственно дата из 2-го измерения должна быть своя. Если куб не виртуальный, то попробуйте использовать запрос типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. писал в лоб, так что со скобками мог и намудрить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 14:06 |
|
||
|
Фильтр в MDX
|
|||
|---|---|---|---|
|
#18+
MSAS 2005 - куб из нескольких measures group - я так понимаю, что это и есть аналог виртуального куба. Запрос with member cd as tail(nonemptycrossjoin([Дата документа].[Год - Месяц - День].currentmember, [Дата состояния].[Дата сост].children, {[Measures].[Движение задолж],[Measures].[Задолж на начало]},3 ),1).item(0).item(1).name ,non_empty_behavior={[Measures].[Задолж на начало],[Measures].[Движение задолж]} select {[Measures].[Задолж на начало],[Measures].[Движение задолж], cd} on 0, non empty ([Дата документа].[Год - Месяц - День].[Год].&[2006].&[2].children ) on 1 from [Сводный] Получил Задолж на начало Движение задолж cd 01.02.2006 67965614758,3698 (null) 2006-03-15 00:00:00 19.02.2006 (null) 345736942 2006-02-20 00:00:00 20.02.2006 (null) 984137005 2006-02-26 00:00:00 21.02.2006 (null) 716622540 2006-02-22 00:00:00 25.02.2006 (null) 1110919578 2006-02-27 00:00:00 26.02.2006 (null) 1092538732 2006-02-27 00:00:00 27.02.2006 (null) 2640388434 2006-03-15 00:00:00 28.02.2006 (null) 5633464581 2006-03-15 00:00:00 Что вобщем то и хотел, огромное спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 14:08 |
|
||
|
Фильтр в MDX
|
|||
|---|---|---|---|
|
#18+
backfire Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Видимо проблема в его "виртуальности"? Такой запрос выдал аналогичный результат, но когда вставил в NonEmptyCrossJoin measures - все получилось правильно, однако пришлось вытащить их с 0-й оси, что не очень красиво выглядит в результате, остановился на варианте с CM, как советовал уважаемый Dmitry Biryukov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 14:32 |
|
||
|
Фильтр в MDX
|
|||
|---|---|---|---|
|
#18+
кого интересует эта красота, вопрос в производительности, интересу ради, поделитесь, что у вас, быстрее работает, с CM или без него? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 14:50 |
|
||
|
Фильтр в MDX
|
|||
|---|---|---|---|
|
#18+
c Generate быстрее отработало, однако красота увы нужна, потому что я скармливаю результаты запроса в скрипт который умеет работать с четко определенной структурой с 1-м уровнем в столбцах и 1-м уровнем в строках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 15:12 |
|
||
|
Фильтр в MDX
|
|||
|---|---|---|---|
|
#18+
Laptievc Generate быстрее отработало, однако красота увы нужна, потому что я скармливаю результаты запроса в скрипт который умеет работать с четко определенной структурой с 1-м уровнем в столбцах и 1-м уровнем в строках. за результат - большое спасибо. а на счет генерации текста запроса - вы хозяин - вам виднее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 17:13 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=33602532&tid=1870437]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 423ms |

| 0 / 0 |
