none
Recuperar datos de Consulta MDX RRS feed

  • Pregunta

  • Buenas tardes,

    Verán soy nuevo en el uso de cubos de datos y no estoy familiarizado con las consultas MDX, he investigado sobre como recuperar datos desde un cubo de datos de Oracle Hyperion ESSBASE desde una aplicación en C# usando el framework adomd.net, ya he logrado hacer la conexión con el cubo y también he ejecutado una consulta que tengo de ejemplo.

    El objetivo de esto es poder extraer algunos datos (sumarizados) del cubo y guardarlos en una base de datos, mi duda es sobre como leer los datos recuperados por la consulta que se ejecuta, el resultado de la consulta los guardo en un Objeto CellSet, y accedo a los valores con el siguiente ciclo

    CellSet reader = null;
    reader = command.ExecuteCellSet();

    CellCollection celdas = reader.Cells;
    foreach (Cell c in celdas)
    {
    richTextBox2.Text += c.CellProperties.Find("Value").Value + "\n";
    }

    Con eso obtengo datos numéricos que corresponden a los valores de cada mes del año, sin embargo, esos valores no se a que mes corresponden ya que usando el ciclo solo recupero por ejemplo:

    1234.765

    1234.5443

    ....

    pero quisiera obtener el siguiente resultado, ya que supongo que en el objeto CellSet se guarda tambien a que mes corresponde cada valor.

    Enero    1234.765

    Febrero 1234.5443

    ..

    Me seria fácil relacionar el primer resultado con enero, el segundo con febrero, pero en ocasiones la consulta puede recuperar de 0 a 12 datos, y, ¿cómo se a que mes corresponde cada valor?

    La consulta que ejecuto es la siguiente:

    SELECT NON EMPTY { [TOTAL VENTAS] } ON COLUMNS,

    NON EMPTY { GENERATE(HIERARCHIZE({[Por Mes]}), DESCENDANTS([Meses].CurrentMember, [Meses].Levels(2))) }

    DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS

    FROM REG.VENTAS

    WHERE ([2011], [GERENCIA], [ESTADOS], [AREAS], [Resultados])

    Espero me puedan ayudar.

    Saludos



    • Editado Alfredo Ruiz miércoles, 26 de junio de 2013 18:59
    miércoles, 26 de junio de 2013 18:52