2011-12-27 3 views
0

Итак, у меня есть следующий запрос MDX, который выполняется против куба примера AdventureWorks.MDX, CellSet содержит метаданные?

SELECT NON EMPTY ([Date].[Fiscal Semester of Year].[Fiscal Semester of Year],{[Measures].[Internet Order Count], [Measures].[Average Unit Price]}) ON 0, 
NON EMPTY([Product].[Status].[Status] ,[Customer].[Country].[Country]) ON 1 
FROM [Adventure Works] 

Это дает результат, который выглядит как:

 H1  H2 H1 H2 
    X1 X2 X1 X2 X1 X2 X1 X2 
A A1 
A A2 
A A3 
B A1  numbers 
B A2 
B A3 

CellSet имеет различные биты метаданных, но ни один из них не описывает эту структуру, насколько я могу судить. Это, кажется, не включает полезные вещи, такие как имена измерений или имена измерений и т. Д.

Любые подсказки? Если я выполнил вышеуказанный запрос в Management Studio, он будет для меня удобным. Это потому, что он умный с его разбором MDX или потому, что он обращается к некоторым метаданным, которых я еще не нашел?

Как в стороне, я могу запросить куб через соединение и получить много информации, связанной с кубом, но мне нужен способ связать это с результатом моего запроса.

Скорее всего, у меня будет CellSet, но не исходный MDX, который сгенерировал его.

Благодаря

+0

Может решить мою собственную проблему: в CellSet.Axis.Set.Hierarchy * представляет собой весь груз информации, которая, как представляется, актуальной.. – Ian

ответ

1

попробовать что-то вроде этого:

CellSet cs = cmd.ExecuteCellSet(); 
Axis columns = cs.Axes[0]; 
TupleCollection columnTuples = columns.Set.Tuples; 
for (int i = 0; i < columnTuples.Count; i++) 
{ 
    string caption = columnTuples[i].Members[0].Caption; 
} 
Axis rows = cs.Axes[1]; 
TupleCollection rowTuples = rows.Set.Tuples; 
foreach (Position rowPos in rows.Positions) 
{ 
    string caption = rowTuples[rowNum].Members[0].Caption; 
} 
+0

Да, это то место, где я оказался в конце. Я попал в ловушку, когда я представил третье измерение, но на самом деле он все еще работает, если вы просто возьмете одну проекцию. Спасибо. – Ian

Смежные вопросы