none
Calculo algo complejo: indice de absentismo RRS feed

  • Pregunta

  • Hola,

     

    A ver si me podeis echar un cable:

    tengo lo siguiente:

     

    iif([Measures].[Cantidad]=0 or [Measures].[Cantidad]=null,"0",([Measures].[Cantidad - INIKCUBO Empleado Ausencia]/([Measures].[Cantidad]+ [Measures].[Cantidad - INIKCUBO Empleado Ausencia])))

     

     

    El tema es que el calculo, debe de dividirse sobre las cantidades de dicho empleado, no sobre todas que es lo que parece que hace.

     

    Se os ocurre como?

     

    jueves, 12 de mayo de 2011 16:58

Respuestas

  • Si en tu dimension tienes el campo oficina primero veamos cual es el count bueno  ya que no es el count global (5) sino que debería ser 2 para OF1 y 3 para OF2

    así pues

    el conjunto de tuplas formado por (Dimension.Oficina.members, Measures.Contador) te devolverá algo así

     (tendrás que adaptarlo con tus nombres

    Sselect Measures.contador on 0, Dimenson.oficina.members on 1

    from tucubo

    OF1  2

    OF2 3

    será el resultado.

    Si quieres quedarte solo con las urgentes, entonces sería algo así

    Sselect Measures.contador on 0, Dimenson.oficina.members on 1

    from tucubo where Dimensiones.Urgente.&[1]

    ¿es esto lo que necesitas?


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    lunes, 16 de mayo de 2011 20:19
    Moderador

Todas las respuestas

  • si claro, mira el problema es que estás usando Measures, simplemente eso te da el valor de la suma, si es por empleado o no, no importa.

    Si quieres que se fije solamente al valor del empleado actual hazlo escribiendo algo parecido a esto para todas las medidas

    (

    Empleado.empleado.currentmember,[Measures].[Cantidad]

    )


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    domingo, 15 de mayo de 2011 14:28
    Moderador
  •  

     

    Hola,

     

    Antes de nada, gracias por contestar.

     

    Veamos, os cuento que quiero hacer:

     

    tengo una tabla, de movimientos de capacidad. Las of son ordenes de fabricacion. Algo asi (son 3 columnas):

     

    num_mov.|OF|urgente

    1             OF1  Sí

    2             OF1 Si

    3             OF2 No

    4             OF2  no

    5             OF2  No

    ...

     

     

    Quiero calcular, el factor urgencia, pero claro, como tienen varios movimientos, no puedo hacer:

     

    urgentes/recuento de movimientos

    porque saldria 2/5=0.4 cuando lo real es 50%.

     

    Es decir: 1 OF urgente,  de 2 OF. 50%.

     

     

    Total, que no se como montarmelo para hacer este calculo tan complejo a priori.

     

    La tabla tiene el siguiente formato (tiene mas columnas). En la dimension, tengo puesta como clave primaria [Empresa Cod_] con salto de errores para que los omita y el resto son atributos que penden de la empresa. Me refiero a las relaciones de atributo.

     

    [Empresa Cod_] [varchar](30) NOT NULL,
        [Movimiento Cod_] [varchar](30) NOT NULL,
        [Fecha Registro] [datetime] NOT NULL,
        [Cantidad] [decimal](38, 20) NOT NULL,
        [Cantidad Salida] [decimal](38, 20) NOT NULL,
        [Cantidad Rechazada] [decimal](38, 20) NOT

     



    En sql server seria algo asi:

     

    select [O_F_ Cod_]
    FROM [CapacidadMovimiento]
    where  [O_F_ Lin_ Urgente]=1
    group by [O_F_ Cod_]

     

    y otra consulta para sacar el el total de OFs, con una distinct o asi.

     

    Es para que quede mas claro de lo que busco.

     

    lunes, 16 de mayo de 2011 15:34
  • ok gracias!. Al final parece que le problema era otro, tema de datos, pero me lo apunto.

     

    He abierto otro hilo de algo mas complejo, a ver si puedes echarme un cable.

     

    salu2.

     

    lunes, 16 de mayo de 2011 15:48
  • Si en tu dimension tienes el campo oficina primero veamos cual es el count bueno  ya que no es el count global (5) sino que debería ser 2 para OF1 y 3 para OF2

    así pues

    el conjunto de tuplas formado por (Dimension.Oficina.members, Measures.Contador) te devolverá algo así

     (tendrás que adaptarlo con tus nombres

    Sselect Measures.contador on 0, Dimenson.oficina.members on 1

    from tucubo

    OF1  2

    OF2 3

    será el resultado.

    Si quieres quedarte solo con las urgentes, entonces sería algo así

    Sselect Measures.contador on 0, Dimenson.oficina.members on 1

    from tucubo where Dimensiones.Urgente.&[1]

    ¿es esto lo que necesitas?


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    lunes, 16 de mayo de 2011 20:19
    Moderador
  • Si en tu dimension tienes el campo oficina primero veamos cual es el count bueno  ya que no es el count global (5) sino que debería ser 2 para OF1 y 3 para OF2

    así pues

    el conjunto de tuplas formado por (Dimension.Oficina.members, Measures.Contador) te devolverá algo así

     (tendrás que adaptarlo con tus nombres

    Sselect Measures.contador on 0, Dimenson.oficina.members on 1

    from tucubo

    OF1  2

    OF2 3

    será el resultado.

    Si quieres quedarte solo con las urgentes, entonces sería algo así

    Sselect Measures.contador on 0, Dimenson.oficina.members on 1

    from tucubo where Dimensiones.Urgente.&[1]

    ¿es esto lo que necesitas?


    Comparte lo que sepas, aprende lo que no sepas (FGG)

    pues no me sirve porque me devuelve 2 urgentes para la OF 1, cuando deberia de devolverme 1 para esa Orden de fabricacion. Son 2 lineas, pero son de una OF. A lo mejor se podria incluir una tabla de dimension, las cabeceras de OF (imagino que estaran por ahi y se podria hacer la extraccion) y entonces igual hacer un filtro MDX con &[].

     

    De todos modos, me urge mas el tema del indice de absentismo o el de rotacion personal que creo que habri un hilo aunque igual me equivoco. a ver si me puedes echar un cable tio.

     

    gracias.

     

    lunes, 23 de mayo de 2011 7:40
  • dame de alta en MSN vemos lo del absentismo y ponemos aquí la solución. webmaster arroba portalsql punto com

    Estaré hoy y mañana, el resto de dias... será más complicado,


    Comparte lo que sepas, aprende lo que no sepas (FGG) http://www.portalsql.com</a
    lunes, 23 de mayo de 2011 9:11
    Moderador
  • gracias. te he añadido al messenger.

     

    lunes, 23 de mayo de 2011 9:13