Как изменить свойства кортежа / ячейки вывода MDX через C #? - PullRequest
0 голосов
/ 18 февраля 2011

У меня есть запрос MDX, который я выполняю, используя Adomd.net, где cmd содержит текст команды.

При запуске непосредственно для куба возвращается следующий вывод, только заголовок и целое число, это мера:

TrueCount
   n

Однако, как мне получить доступ к этому показателю / кортежу / номеру через c #?

Я знаю, как я могу получить подпись TrueCount (см. Ниже), но я не знаю, как получить цветущий номер.

//Execute the query, returning a cellset
CellSet cs = cmd.ExecuteCellSet();

//Output the column captions from the first axis
TupleCollection tuplesOnColumns = cs.Axes[0].Set.Tuples;

foreach (var column in tuplesOnColumns)
    if (!column.Members[0].Caption.Contains("All"))
        truecount.Add(new TrueCount() { CountTitle = column.Members[0].Caption });

Любые идеи или указатели очень ценятся - извинения за трудный вопрос.

Ответы [ 2 ]

0 голосов
/ 14 марта 2012

Вам необходимо использовать свойство Cells CellSet, Axes получает только метки.Примерно так:

Count = cs.Cells[column.TupleOrdinal,0].Value

Используйте .FormattedValue, если вы хотите, чтобы значение с правилами форматирования кубов отображалось.

Мне показалось, что проще использовать cs.Axes[0].Positions, а не член кортежей.

0 голосов
/ 21 февраля 2011

Я не использовал эти функции для запуска MDX, но мой опыт работы с ADOMD заключается в том, что заголовки строк и столбцов доступны из другого объекта по отношению к числам в середине. Поэтому я думаю, что вам нужно посмотреть на ваш cs объект, а не на cs.Axes.

В ADOMD вы просто говорите myNumber = cs(x, y).FormattedValue

Надеюсь, это может привести вас в правильном направлении!

...