Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Динамический MDX в SSRS 2005
|
|||
|---|---|---|---|
|
#18+
Нужен отчёт, который бы динамически перестраивался по заданным параметрам. Под перестраивался я имею ввиду в элемент SSRS matrix в группирующие поля строчек подставлялись бы разные значения. Вариант с начитыванием всех полей в датасет и дальнейший их отбор с помощью IIf(Parameters!GroupField1.Value=1,Fields!Dim1.Value,Fields!Dim2.Value) не катит, т.к. полей много и итоговый датасет с комбинацией всех полей получается просто гигантским. Соответственно написал динамический mdx. Возникла другая проблема - в датасет надо чётко задавать соответствие возвращаемого поля по его имени. В sql я бы прописал as RowGroup1 в MDX так к сожалению сделать нельзя. Попробовал динамически генерить имя поля, которое для полей из OLAp источника имеет следующий вид: <?xml version="1.0" encoding="utf-8"?><Field xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="Level" UniqueName="[Dim Dimension1].[Dimension1].[Dimension1]" />. Однако если вместо фиксированного значения прописывать данные возвращаемые кодом ничего не работает :(, хотя код проверял возвращает ровно ту же строчку. Следующее что я сделал - это прописал всё в MDX следующим образом: with member Measures.RowGroup1 as [Dim Dimension1].[Dimension1].CurrentMember.Member_Caption member Measures.RowGroup2 as [Dim Dimension2].[Dimension2].CurrentMember.Member_Caption member Measures.RowGroup3 as [Dim Dimension3].[Dimension3].CurrentMember.Member_Caption SELECT non empty { Measures.RowGroup1, Measures.RowGroup2, Measures.RowGroup3, [Measures].[Num] , [Measures].[Amt] } ON COLUMNS , non empty ( [Dim Dimension1].[Dimension1].[Dimension1].MEMBERS ,[Dim Dimension2].[Dimension2].[Dimension2].MEMBERS ,[Dim Dimension3].[Dimension3].[Dimension3].MEMBERS ) ON ROWS Однако этот MDX запрос для комбинации трёх полей выполняется очень долго. Если же убрать ручные меры этот же запрос выполняется мгновенно. Кто-нибудь сталкивался с подобными проблемами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 12:29 |
|
||
|
|

start [/forum/topic.php?fid=31&fpage=65&tid=1535310]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
20ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
21ms |
get tp. blocked users: |
2ms |
| others: | 16ms |
| total: | 93ms |

| 0 / 0 |
