cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Cómo agregar datos en subtotales anidados

Hola, estoy intentando crear un resultado variable basado en el resultado de 2 variables; privación y % de asistencia a nivel AreaCode.

En mi modelo de datos hay una tabla de personal que registra su código de residencia de área (ciudad) y su mascota principal en el hogar y otra mesa para las asistencias (personal basado en la oficina o no). Se creó una relación "1 a muchos" utilizando staff_ID que permite agrupar el número de personal en cada código de área - el código de área tiene un valor de privación fijo entre 1 a 10.

Ambas variables se agrupan aún más en clases; valores de privación 1 a 3 = C, 4-7 = B, 8-10 = A y % de asistencia <33% = 3, 33-66% = 2, 67%+ = 1.

El resultado tendrá un valor de A1-3, B1-3 o C1-3.

DAX utilizado {Resultado = CONCATENAR('Summarize_table'[Band_deprivation], 'Summarize_table'[Band%attendance])}

La tabla siguiente muestra una muestra de un AreaCode que para cada línea (por mascota) produce el resultado correcto sin embargo no puedo producir resultado para el código de área general que debe ser B2 (ya que el 57,6% de la asistencia está entre el 33% y el 66%) - ver ???

La razón por la que esto ha producido 3 líneas para AreaCode E0001 es porque dentro del área de residencia también se ha agrupado cada mascota poseida. Mascota es un campo clave, ya que necesito crear una segmentación de datos multiselección para Mascota que debería generar dinámicamente el %attendance general que luego conduce al recálculo del valor de Resultado. El informe se ilustrará mediante mapas de formas con correlación bivariable.

Código de áreaNombre del áreaBand_deprivationprivaciónmascotacount_of_staffasistencia%asistenciaresultado
E0001BigginsB4gato27521377.5%B1
E0001BigginsB4perro44025157.0%B2
E0001BigginsB4loro1785028.1%B3
89351457.6%???

DAX utilizado en Summarize_table -

Summarize_table =
filtro
(
RESUMENCOLUMNS
(
REF_Wards[AreaCode],
REF_Wards[AreaName],
Personal[Mascota],
Personal[Privación],
Personal[Band_deprivation],
"recuento de asistencia",[Count_of_attendance],
"recuento de personal",[Count_of_staff],
"Aceptación del%", DIVIDE([Count_of_attendance],[Count_of_staff],0)
),
REF_Wards[AreaCode] <> "" &
Personal[Mascota] EN
{
"Gato",
"Perro",
"Loro",
"Cerdo",
"Pollo",
"Serpiente",
"Mono",
"Lagarto",
"Araña",
"Conejillo de Indias"
}
)

Gracias por leer. Sus sugerencias son muy apreciadas.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola @JP_PBI ,
Si su [Resultado] utiliza una columna calculada. Si la columna calculada es de tipo Texto, no aparecerá el resultado de la última fila. Puede cambiarlo a Medida.

Estos son los pasos que puede seguir:

1. Cree la medida.

%attendance =
DIVIDE(SUM('Table'[attendance]),SUM('Table'[count_of_staff]))
Outcome =
SWITCH(
    TRUE(),
    [%attendance]<=0.33,MAX('Table'[Band_deprivation])&""&3,
    [%attendance]>0.33&& [%attendance]<=0.66,MAX('Table'[Band_deprivation])&""&2,
    [%attendance]>0.66,MAX('Table'[Band_deprivation])&""&1)
%totalattendance =
DIVIDE(SUMX(ALL('Table'),'Table'[attendance]),SUMX(ALL('Table'),[count_of_staff]))

resultado:

v-yangliu-msft_0-1621486041799.png

[Resultado] Después de cambiar a medida, B2 aparece en la última línea

2. Utilice [Mascota] como segmentación de datos, coloque [%asistencia], [%totalatttendance] en los Valores del gráfico de columnas Agrupados y compare los resultados

v-yangliu-msft_1-1621486041802.png

3. Resultado.

v-yangliu-msft_2-1621486041805.png

Si mi respuesta no cumple sus expectativas, ¿puede compartir datos de ejemplo y salida de muestra en formato de tabla? O un ejemplo de pbix después de eliminar datos confidenciales

Saludos

Liu Yang

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

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Hola @JP_PBI ,
Si su [Resultado] utiliza una columna calculada. Si la columna calculada es de tipo Texto, no aparecerá el resultado de la última fila. Puede cambiarlo a Medida.

Estos son los pasos que puede seguir:

1. Cree la medida.

%attendance =
DIVIDE(SUM('Table'[attendance]),SUM('Table'[count_of_staff]))
Outcome =
SWITCH(
    TRUE(),
    [%attendance]<=0.33,MAX('Table'[Band_deprivation])&""&3,
    [%attendance]>0.33&& [%attendance]<=0.66,MAX('Table'[Band_deprivation])&""&2,
    [%attendance]>0.66,MAX('Table'[Band_deprivation])&""&1)
%totalattendance =
DIVIDE(SUMX(ALL('Table'),'Table'[attendance]),SUMX(ALL('Table'),[count_of_staff]))

resultado:

v-yangliu-msft_0-1621486041799.png

[Resultado] Después de cambiar a medida, B2 aparece en la última línea

2. Utilice [Mascota] como segmentación de datos, coloque [%asistencia], [%totalatttendance] en los Valores del gráfico de columnas Agrupados y compare los resultados

v-yangliu-msft_1-1621486041802.png

3. Resultado.

v-yangliu-msft_2-1621486041805.png

Si mi respuesta no cumple sus expectativas, ¿puede compartir datos de ejemplo y salida de muestra en formato de tabla? O un ejemplo de pbix después de eliminar datos confidenciales

Saludos

Liu Yang

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

View solution in original post

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

Top Kudoed Authors