none
Conjunto de clientes fidelizados RRS feed

  • Pregunta

  • Buenos días a todos.

    Tengo el siguiente escenario:

    - Tabla de hechos con los campos (SKFecha, SKCliente, SKObra, ImporteFacturación)

    - Esta tabla de hechos está relacionado con la Dim_Tiempo, Dim_Cliente y Dim_Obras

    Ahora necesito saber los clientes a los que les hemos facturado mas de dos obras en los últimos 5 años (contando los años desde el mes currentmember 60 meses hacia atrás).

    Una vez calculado este conjunto, hay que saber el número de clientes (el recuento), ya que este dato se utilizará en un KPI.

    ¿Alguna idea?

    Gracias.

    miércoles, 25 de abril de 2012 7:22

Respuestas

  • Juan, así pensando un poco, necesitas un distinct count sobre el campo idobra, y la forma de sacar esos datos será a través de filter. ¿ves como?


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    martes, 8 de mayo de 2012 13:46
    Moderador
  • Al final lo he conseguido, Miguel.

    Primero he creado una medida que es el distinct count del campo SKObra. Después he creado el siguiente conjunto dinámico:

    CREATE DYNAMIC SET CURRENTCUBE.[Clientes Fidelizados]
     AS /* Clientes a los que se les ha facturado mas de dos obras en
       los últimos 5 años (=60 meses)
    */
    filter( [Dim_Clientes].[Nombre Cliente].members
           ,AGGREGATE( ([Dim_Tiempo].[Mes_Año].lag(59):
                                 [Dim_Tiempo].[Mes_Año].currentmember
                                 ),
                       [Measures].[Recuento distinto Obras]
                     ) > 2

          )

    Muchas gracias.

    sábado, 26 de mayo de 2012 19:08

Todas las respuestas

  • Se me olvidaba. El recuento de cliente fidelizados dará (o podrá dar) un número distinto para cada mes currentmember. 
    miércoles, 25 de abril de 2012 7:24
  • Hola Juan, si, voy a intentar imitar el entorno y ponerte un ejemplo.

    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    jueves, 3 de mayo de 2012 9:43
    Moderador
  • OK, muchas gracias, Miguel.
    lunes, 7 de mayo de 2012 13:50
  • Juan, así pensando un poco, necesitas un distinct count sobre el campo idobra, y la forma de sacar esos datos será a través de filter. ¿ves como?


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    martes, 8 de mayo de 2012 13:46
    Moderador
  • Al final lo he conseguido, Miguel.

    Primero he creado una medida que es el distinct count del campo SKObra. Después he creado el siguiente conjunto dinámico:

    CREATE DYNAMIC SET CURRENTCUBE.[Clientes Fidelizados]
     AS /* Clientes a los que se les ha facturado mas de dos obras en
       los últimos 5 años (=60 meses)
    */
    filter( [Dim_Clientes].[Nombre Cliente].members
           ,AGGREGATE( ([Dim_Tiempo].[Mes_Año].lag(59):
                                 [Dim_Tiempo].[Mes_Año].currentmember
                                 ),
                       [Measures].[Recuento distinto Obras]
                     ) > 2

          )

    Muchas gracias.

    sábado, 26 de mayo de 2012 19:08