none
Formula MDX RRS feed

  • Pregunta

  • Buenas Tardes compañeros, 

    Soy nuevo en este mundo de Analysis Services , hasta ahorita e echo cubos simples , pero ahora me toco hacer uno que ocupa un Campo Calculado , necesito sacar un porcentaje y no e podido.

    Básicamente necesito algo que me saque ese porcentaje, les dejo el código SQL para que se den una ida... "((SELECT COUNT(II.InvtId) WHERE II.QtySol > 0) / COUNT(II.QtySol))*100"

    la primer parte del codigo la sacaria de una dimension y la segunda seria de una medida.

    e probado con este codigo pero no me funcina "(COUNT([DimNivelAbasto].[ClaveProducto])/ COUNT([Measures].CantidadSurtida) * 100)"


    Espero y me puedan apoyar..Muchas Gracias!!

    Saludos!!

    jueves, 28 de febrero de 2013 18:32

Respuestas

Todas las respuestas

  • Hola,

    Una solución interesante sería:

    1. Agrega una medida DISTINCTCOUNT(ClaveProducto) con el nombre Cantidad Productos. ClaveProducto debe estar en la tabla principal de "Hechos".

    2. Agrega la medida calculada: ([Measures].[Cantidad Productos.] / IIF ([Measures].[CantidadSurtida],[Measures].[CantidadSurtida],1)) * 100

    Listo, esto te permitara hacer lo que ocupas y podras combinar la medida entre diferentes dimensiones.

    Nota: El IIF es para evitar divisiones entre cero. Tambien puede que tengas que agregar un nuevo MeasureGroup para el DISTINCTCOUNT, esta funcion es un poco pesada en procesamiento, seria probar como te va.


    Ing. Allen Quirós SQL Server MCP

    viernes, 1 de marzo de 2013 0:07
  • Q tal Allen, ya probe las formulas , pero hay un problema mi clave producto es un char, y necesito aplicar un parse para que funcione, saber cual es la instruccion??

    Saludos!!!

    viernes, 1 de marzo de 2013 0:27
  • Hola

    Cuando dices que tienes que aplicar un parse, te refieres a que el tipo de dato char te da problema con el DISTINCTCOUNT ? No debería darte problema.



    Ing. Allen Quirós SQL Server MCP

    sábado, 2 de marzo de 2013 15:00
  • Hola , habia echo algo mal, pero ya me funciono...

    Me prodrias echar la mano con otra funcion..?

    seria mas o menos de la siguiente forma: COUNT([DimNivelAbasto].[ClaveProducto] where [Measures].[CantidadSurtido] > 0) /COUNT([DimNivelAbasto].[ClaveProducto])

    lo que no e podido hacer es el where

    Espero y me puedas ayudar..

    Saludos!!

    lunes, 4 de marzo de 2013 21:37
  • Hola Raul,

    Prueba esto. 

    COUNT(filter({[DimNivelAbasto].[ClaveProducto]}, [Measures].[CantidadSurtido] > 0))

    Un abrazo.

    Héctor.

    martes, 5 de marzo de 2013 20:13
  • hola Hector ,no me funciono tu formular...ya lo pude resolver 

    Muchas gracias por la ayuda..

    Saludos!!!1

    martes, 5 de marzo de 2013 21:27
  • Hola.

    Sería de gran ayuda para otros usuarios que recurren a este foro que compartas la forma en la que resolviste el problema. De ese modo el hilo no quedaría inconcluso.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    sábado, 9 de marzo de 2013 7:05
    Moderador