Hitachi Vantara Pentaho Community Forums
Results 1 to 12 of 12

Thread: Tabla hechos->tabla catalogo->tabla catalogo

  1. #1
    Join Date
    Dec 2008
    Posts
    132

    Default Tabla hechos->tabla catalogo->tabla catalogo

    Hola a todos, fijense que tengo mi tabla principal (hechos), la cual se conecta a una tabla catalogo1 mediante un campo, y esa tabla catalogo 1 se conecta a otra tabla catalogo2 donde viene una descripción que requiero.

    Alguien podría indicarme el procedimiento que requiero o como hago esa doble conexión??

    De antemano, muchas gracias.

  2. #2
    Join Date
    Jul 2007
    Posts
    1,013

    Default

    En tu caso en lugar de un diseño "estrella" ("star"), deberías aplicar un diseño "copo de nieve" ("snowflake"). Es muy sencillo de aplicar en Mondrian, aquí tienes un ejemplo:

    http://mondrian.pentaho.org/document...p#Star_schemas

    ¡Saludos!

  3. #3
    Join Date
    Dec 2008
    Posts
    132

    Default

    Gracias nuevamente tdidomenico, leí la página que me hiciste favor de recomendar, y a mi entender seguí los pasos y me quedo de esta forma:

    Code:
    <Dimension type="StandardDimension" foreignKey="FOLIO" name="Bene">
                <Hierarchy name="" hasAll="true" allMemberName="apoyo_id" primaryKey="FOLIO" primaryKeyTable="V_MONTO2" caption="">
                  <Join lefkey="FOLIO" rightAlias="FOLIO" rightKey="FOLIO">
                    <Table name="V_MONTO2" schema="GEQ_PAF" alias="">
                    </Table>
                  <Join lefkey="ID" rightKey="ID">
                    <Table name="SOLICITUD" schema="GEQ_PAF">
                    </Table>
                    <Table name="APOYOS" schema="GEQ_PAF">
                    </Table>
                 </Join>
                 </Join>                
                </Hierarchy>
            </Dimension>
    pero me arroja el siguiente error cuando la intento abrir con el workbench:
    Code:
    Error opening schema - Parsing Error: Could not openfile em31.xml
    In Schema: In Cube: In Dimension: In Hierarchy: In Join: Attribute 'leftkey' is unset
    and has no default value..
    En qué podrá estar el error??

    Gracias
    Last edited by ajuarez; 02-19-2009 at 03:39 PM. Reason: incremente texto

  4. #4
    Join Date
    Jul 2007
    Posts
    1,013

    Default

    Por lo pronto, en que pusiste "lefkey" en lugar de "leftkey"

    ¡Saludos!

  5. #5
    Join Date
    Dec 2008
    Posts
    132

    Default

    jajajaja , ok, ya lo corregí, quedo así:
    Code:
    <Dimension type="StandardDimension" foreignKey="FOLIO" name="Bene">
                <Hierarchy name="" hasAll="true" allMemberName="apoyo_id" primaryKey="FOLIO" primaryKeyTable="V_MONTO2" caption="">
                  <Join leftkey="APOYO_SOL" rightAlias="FOLIO" rightKey="FOLIO">
                    <Table name="V_MONTO2" schema="GEQ_PAF" alias="">
                    </Table>
                  <Join leftkey="ID" rightKey="ID">
                    <Table name="SOLICITUD" schema="GEQ_PAF">
                    </Table>
                    <Table name="APOYOS" schema="GEQ_PAF">
                    </Table>
                 </Join>
                 </Join>                
                </Hierarchy>
            </Dimension>
    pero me sigue arrojando el mismo error, pero dejame explicar lo que entendí, porque igual ahi es donde esta mi error.
    Mi tabla principal o de hechos se llama "V_MONTO2" la cual se conecta primero a "SOLICITUD" y el campo de conexión para ambas tablas es "FOLIO".
    Después necesito que "SOLICITUD" se conecte con "APOYOS" y en este caso el Campo de "SOLICITUD" para conectarse es "APOYO_SOL" y el campo que conecta con ella en "APOYOS" es "ID".

    en base a esto último hice bien mi estructura??

    Gracias nuevamente.

  6. #6
    Join Date
    Jul 2007
    Posts
    1,013

    Default

    La tabla de hechos no debería ser parte de la definición de dimensión. Sólo indicarás por qué campo la dimensión se une con ella.

    Te recomiendo pegarle una mirada al archivo "steelwheels.mondrian.xml" que viene con la plataforma por defecto. Ahí podrás ver cómo se define la tabla de hechos y cómo se relacionan con ella las dimensiones.

    ¡Saludos!

  7. #7
    Join Date
    Dec 2008
    Posts
    132

    Default

    gracias nuevamente, fijate que estoy leyendo steelwheels.mondrian.xml, pero no encuentro un caso parecido al mio, ya que sus estructuras son solo a una tabla, no hacen un brinco doble como el mio... snif snif

  8. #8
    Join Date
    Jul 2007
    Posts
    1,013

    Default

    A lo que me refería para que vieras ahí es cómo no se incluye la tabla de hechos en la dimensión. En tu caso usarías sólo un join dentro de la dimensión, uniendo tus dos tablas "SOLICITUD" y "APOYOS".
    Code:
    <Schema name="MiEsquema">
        <Cube name="MiCubo" cache="true" enabled="true">
            <Table name="V_MONTO2"></Table>
            <Dimension foreignKey="FOLIO" name="MiDimension">
                <Hierarchy hasAll="true" allMemberName="All Members" primaryKey="FOLIO" primaryKeyTable="">
                    <Join leftKey="APOYO_SOL" rightKey="ID">
                      <Table name="SOLICITUD"/>
                      <Table name="APOYOS"/>
                    </Join>
                </Hierarchy>
            </Dimension>
        </Cube>
    </Schema>
    Ese es un ejemplo de cómo deberías armar la parte de la tabla de hechos y la dimensión en tu esquema. Falta la definición de los niveles de la dimensión y los measures, pero confío en que puedas agregarle eso por tu cuenta.

    ¡Saludos!

  9. #9
    Join Date
    Dec 2008
    Posts
    132

    Default

    uoooo, ok ahora lo checo y te comento, gracias!!

  10. #10
    Join Date
    Dec 2008
    Posts
    132

    Default

    Ya esta conectado, ya lo visualicé con el siguiente codigo:
    Code:
    <Dimension type="StandardDimension" foreignKey="FOLIO" name="Familia">
            <Hierarchy hasAll="true" allMemberName="Miembros" primaryKey="FOLIO" primaryKeyTable="SOLICITUD">
                    <Join leftKey="APOYO_SOL" rightKey="ID">
                            <Table name="SOLICITUD" schema="GEQ_PAF">
                            </Table>
                            <Table name="APOYOS" schema="GEQ_PAF">
                            </Table>
                    </Join>
            </Hierarchy>
    </Dimension>
    Lo que no logro es meter el nivel o la etiqueta.
    Saludos

  11. #11
    Join Date
    Dec 2008
    Posts
    132

    Default

    je, ya pude, quedo así:
    Code:
    <Dimension type="StandardDimension" foreignKey="FOLIO" name="Familia">
            <Hierarchy hasAll="true" allMemberName="Miembros" primaryKey="FOLIO" primaryKeyTable="SOLICITUD">
                    <Join leftKey="APOYO_SOL" rightKey="ID">
                            <Table name="SOLICITUD" schema="GEQ_PAF">
                            </Table>
                            <Table name="APOYOS" schema="GEQ_PAF">
                            </Table>
                    </Join>
                    <Level name="fami" table="APOYOS" column="APOYOS" type="String" uniqueMembers="true" levelType="Regular" hideMemberIf="Never" formatter="">
                    </Level>
            </Hierarchy>
    </Dimension>
    Gracias!!!

    PD: si quieres lo puedes cerrar el hilo

  12. #12
    Join Date
    Jul 2007
    Posts
    1,013

    Default

    Bueno, me alegro de que hayas podido hacerlo funcionar, y gracias por escribir la solución completa.

    En cuanto al hilo, por lo general se acostumbra dejarlo abierto por si alguien tiene comentarios relacionados. Sólo en casos particulares donde se puede prestar a confusión pueden llegar a cerrarse.

    ¡Saludos!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.