none
Porcentaje de ventas

    Pregunta

  • Es una pregunta un poco tonta, pero bueno.

     

    Pongamos que quiero sacar un porcentaje, para que me calcule sobre un total, las ventas, que correspondan a la dimension por la que este mirando los datos:

     

    Cliente    ventas  % ventas

    1            2000            7

    2            4500        12.5 

    2           6500        loquesea  (esta linea serian los totales)

     

    Es decir, sacar un calculo, que haga:  100*2000/6500

     

    Lo digo porque no se como hacer referencia al total de dicha medida (6500 o lo que fuera)

     

     

    miércoles, 22 de junio de 2011 13:44

Respuestas

  • Cuando quieres crear un cálculo que es el porcentaje de algo sobre algo has de definir sobre que. En este caso es el porcentaje de ventas por cliente.

    Imaginemos tu dimension Clientes como una dimension con una jerarquia que también se llama clientes. [Clientes].[Clientes], y tus ventas Measures.ventas

    WITH pctSobreTotal as

       iif((Clientes.Clientes.currentmember.parent,Measures.ventas)=0, null , Measures.ventas / (Clientes.Clientes.currentmember.parent,Measures.ventas) )

    select {Measures.Ventas,Measures.PctjSobreTotal} on columns,

      Clientes.clientes.clientes on rows

    from tucubo


    Comparte lo que sepas, aprende lo que no sepas (FGG) http://www.portalsql.com
    miércoles, 22 de junio de 2011 14:23
  • en una jerarquía se refiere al miembro inmediatamente superior, en este caso (una jerarquía de solo dos niveles) el nivel superior es el "All", 
    Comparte lo que sepas, aprende lo que no sepas (FGG) http://www.portalsql.com
    miércoles, 22 de junio de 2011 14:52

Todas las respuestas

  • Cuando quieres crear un cálculo que es el porcentaje de algo sobre algo has de definir sobre que. En este caso es el porcentaje de ventas por cliente.

    Imaginemos tu dimension Clientes como una dimension con una jerarquia que también se llama clientes. [Clientes].[Clientes], y tus ventas Measures.ventas

    WITH pctSobreTotal as

       iif((Clientes.Clientes.currentmember.parent,Measures.ventas)=0, null , Measures.ventas / (Clientes.Clientes.currentmember.parent,Measures.ventas) )

    select {Measures.Ventas,Measures.PctjSobreTotal} on columns,

      Clientes.clientes.clientes on rows

    from tucubo


    Comparte lo que sepas, aprende lo que no sepas (FGG) http://www.portalsql.com
    miércoles, 22 de junio de 2011 14:23
  • ok gracias por la respuesta.

     

    Osea que necesito definir el calculo por cada dimension, no puedo crear uno "generico".

     

    En los unicos casos que el porcentaje no te da problemas, es cuando por ejemplo, supongamos "porcentaje de pedidos rechazados"

     

    Ahi tienes el recuento total, de pedidos por un lado y por otro lado tienes los que sean de tipo rechazo por lo tanto es bien sencillo sacar el porcentaje, porque ya tienes el total.

     

    De todos modos, me la apunto.

     

    miércoles, 22 de junio de 2011 14:35
  • una cosa,

     

    lo de currentmember.parent, que hace exactamente?

     

    currentmember se que referencia el "miembro" actual pero parent? en la ayuda de mdx no da mucha informacion.

     

    miércoles, 22 de junio de 2011 14:41
  • en una jerarquía se refiere al miembro inmediatamente superior, en este caso (una jerarquía de solo dos niveles) el nivel superior es el "All", 
    Comparte lo que sepas, aprende lo que no sepas (FGG) http://www.portalsql.com
    miércoles, 22 de junio de 2011 14:52