Forum Discussion

shansenTrek's avatar
shansenTrek
Frequent Visitor
6 years ago

Columna de referencia con un Ranx

Hola Datanauts,

Estoy tratando de crear una tabla que mostrará a los empleados de alto rendimiento durante varios períodos de tiempo como la tabla de abajo. Debe ser una tabla para poder desplazarse y ver las más de 50 ubicaciones.

UbicaciónEmpleadoAyer % del totalEmpleadoDía anterior % del totalEmpleadoMes % del total
Tienda 1Steve47%Josh49%Steve48%
Tienda 2Royce60%mate42%Erik54%
Tienda 3Thomas88%Thomas86%Thomas86%
Tienda 4Jorge71%Wyatt42%Jorge81%
Tienda 5Paul47%Paul48%Paul53%

Mi tabla de datos está estructurada de la siguiente manera.

FechaañoUbicaciónEmpleadoCantidad
5/13/20202020Tienda 1Steve447
5/13/20202020Tienda 2Royce281
5/13/20202020Tienda 3Thomas277
5/13/20202020Tienda 4Jorge445
5/13/20202020Tienda 5Paul303
5/14/20202020Tienda 1Josh242
5/14/20202020Tienda 2mate493
5/14/20202020Tienda 4Wyatt258
5/14/20202020Tienda 2Erik474

Tengo varias medidas para calcular el % de Total para los diferentes períodos de tiempo y luego usar el Rankx para clasificar a los empleados por tienda para cada período de tiempo. Pero no puedo averiguar los siguientes pasos para convertirlo en la tabla deseada que se muestra arriba. Así es como se ve mi tabla actual.

UbicaciónRango de ayerAyer % del totalRango del Día AnteriorDía anterior % del totalRango del mesMes % del total
Tienda 1239%149%321%
Tienda 1147%225%148%
Tienda 1314%326%231%
Tienda 2160%318%225%
Tienda 2320%142%321%
Tienda 2220%240%154%
Tienda 3188%186%186%
Tienda 328%35%28%
Tienda 334%29%36%

¿Hay alguna manera de hacer referencia al nombre del empleado asociado con las clasificaciones para reemplazar las clasificaciones del período de tiempo con el empleado?

¡Gracias!

3 Replies

  • v-zhenbw-msft's avatar
    v-zhenbw-msft
    Icon for Community Support rankCommunity Support

    Hola @shansenTrek ,

    Podemos usar los siguientes pasos para cumplir con sus requisitos.

    1. Cree una columna de mes.

    Month = MONTH('Table'[Date])

    R 1.jpg

    2. Podemos crear seis medidas y ponerlas en una tabla visual.

    Yesterday E = 
    var t = SUMMARIZE(FILTER('Table','Table'[Date] = TODAY()-1),'Table'[Employee],"YesterSales",SUM('Table'[Amount]))
    return MAXX(TOPN(1,t,[YesterSales],DESC),[Employee])

    Prior E = 
    var t = SUMMARIZE(FILTER('Table','Table'[Date] = TODAY()-2),'Table'[Employee],"PSales",SUM('Table'[Amount]))
    return MAXX(TOPN(1,t,[PSales],DESC),[Employee])

    Month E = 
    var t = SUMMARIZE(FILTER('Table','Table'[Month] = MONTH(TODAY())),'Table'[Employee],"MSales",SUM('Table'[Amount]))
    return MAXX(TOPN(1,t,[MSales],DESC),[Employee])

    Yesterday % of Total = 
    var Y = TODAY()-1
    return
    CALCULATE(SUM('Table'[Amount]),FILTER('Table','Table'[Date]=Y)) / CALCULATE(SUM('Table'[Amount]),FILTER(ALL('Table'),'Table'[Date]=Y))

    Prior Day % of Total = 
    var Y = TODAY()-2
    return
    CALCULATE(SUM('Table'[Amount]),FILTER('Table','Table'[Date]=Y)) / CALCULATE(SUM('Table'[Amount]),FILTER(ALL('Table'),'Table'[Date]=Y))

    Month % of total = 
    DIVIDE(CALCULATE(SUM('Table'[Amount]),FILTER('Table','Table'[Month]=MONTH(TODAY()))) , CALCULATE(SUM('Table'[Amount]),FILTER(ALL('Table'),'Table'[Month]=MONTH(TODAY()))))

    El resultado así,

    R 2.jpg

    Si no cumple con su requisito, ¿podría mostrar el resultado exacto esperado basado en la tabla que ha compartido?

    BTW, pbix como adjunto.

    Saludos

    Equipo de Apoyo comunitario _ zhenbw

    Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

    • shansenTrek's avatar
      shansenTrek
      Frequent Visitor

      @v-zhenbw-msft, muchas gracias por su ayuda. ¡Las medidas del empleado funcionan muy bien! ¿Puede ayudarme a ajustar el % de las medidas totales? Quiero mostrar el % del total de la tienda en lugar del total del período de tiempo. Si estás buscando un programa, un suplemento, un suplemento.

      UbicaciónAyer EAyer %Anterior E% anteriorMes EMes %
      Tienda 2mate51.0%Royce100%mate40%

      Intenté cambiar el FILTER(ALL a la columna employee, pero ahora hay un error que dice que está buscando un solo valor. He probado múltiples variaciones, pero en vano. ¡Por favor, ayúdeme otra vez!

      • v-zhenbw-msft's avatar
        v-zhenbw-msft
        Icon for Community Support rankCommunity Support

        Hola @shansenTrek ,

        Podemos crear tres medidas para reemplazar [Yesterday % of Total], [Prior Day % of Total], [Month % of total].

        Replace Yesterday % of Total = 
        var x = [Yesterday E]
        var y = MAX('Table'[Date])-1
        return
        CALCULATE(SUM('Table'[Amount]),FILTER('Table','Table'[Employee]=x && 'Table'[Date]=y)) / CALCULATE(SUM('Table'[Amount]),FILTER('Table','Table'[Date]=y))

        Replace Prior Day % of Total = 
        var x = [Prior E]
        var y = MAX('Table'[Date])-2
        return
        CALCULATE(SUM('Table'[Amount]),FILTER('Table','Table'[Employee]=x && 'Table'[Date]=y)) / CALCULATE(SUM('Table'[Amount]),FILTER('Table','Table'[Date]=y))

        Replace Month % of total = 
        var x = [Month E]
        var y = MONTH(MAX('Table'[Date]))
        return
        CALCULATE(SUM('Table'[Amount]),FILTER('Table','Table'[Employee]=x && 'Table'[Month] = y)) / CALCULATE(SUM('Table'[Amount]),FILTER('Table','Table'[Month]=y))

        El resultado así,

        R 1.jpg

        También puede reemplazar MAX(Table[date]) a TODAY().

        Si no cumple con su requisito, ¿podría proporcionar una muestra de maqueta basada en datos falsos?

        Será útil si puede mostrarnos el resultado esperado exacto basado en las tablas. Cargue sus archivos en OneDrive Para la Empresa y comparta el enlace aquí.

        Por favor, no contenga ninguna Información Confidencial o Datos Reales en su respuesta.

        BTW, pbix como adjunto.

        Saludos

        Equipo de Apoyo comunitario _ zhenbw

        Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.