Medida acumulativa y no acumulativa

Un usuario Pregunto ✅

bunta

Hola a todos,

Tengo una pregunta sobre el diseño de una tabla de medidas y otra sobre las medidas que se encuentran dentro de ella en Power BI.

  1. Los datos que recibo vienen en un archivo largo y delgado similar a la figura 1. Sin embargo, las medidas no se pueden resumir, siendo el ejemplo SFLU1 y SFLU12, ya que su construcción es diferente. ¿Hago bien en pivotar los datos para hacer de cada medida una columna para detener esto como en la figura 2?

En el ejemplo que he puesto tengo dos estilos diferentes de medidas de la misma colección.

escenario 1: La medida 1 se coloca en una tabla sin la columna de fecha de logro. Esto está bien ya que la Medida 1 se puede resumir con el tiempo

Escenario 2: La medida 12 se coloca en una tabla CON la columna de fecha de logro. Esto está bien ya que la medida 12 es una medida de un punto en el tiempo.

Escenario 3: La medida 12 se coloca en una tabla SIN la columna de fecha_de_logro. Esto no puede suceder porque la Medida 12 no se puede sumar a lo largo del tiempo debido a la doble contabilización

  1. ¿Puedo crear una tabla de medidas para los escenarios anteriores o necesito una tabla para la medida 1 y otra para la medida 12 o se puede usar una medida calculada para resolver el problema?
CÓDIGO ACHIEVEMENT_DATE LA MEDIDA VALOR
1 30/09/2015 SFLU001 247
1 31/10/2015 SFLU001 1128
1 30/09/2015 SFLU012 61
1 31/10/2015 SFLU012 270
2 30/09/2015 SFLU001 128
2 31/10/2015 SFLU001 1168
2 30/09/2015 SFLU012 54
2 31/10/2015 SFLU012 245

Figura 1

CÓDIGO ACHIEVEMENT_DATE SFLU001 SFLU012
1 30/09/2015 247 61
1 31/10/2015 1128 270
2 30/09/2015 128 54
2 31/10/2015 1168 245

Figura 2

Gracias

Hola @Bunta,

>>El problema al que estoy tratando de llegar al fondo ahora es que, de las medidas en el archivo, algunas de ellas se pueden resumir a lo largo del tiempo, mientras que otras no. Por ejemplo, la medida 1 está bien para sumar a lo largo del tiempo, ya que solo cuenta a las personas la primera vez en el primer mes en que aparecen, sin importar cuántas veces aparezcan. Sin embargo, la medida 12 cuenta a las personas en el mes, lo que significa que pueden aparecer en todos los meses, por lo que la suma de la medida dará lugar a una doble contabilización.

Según su descripción, todavía estoy confundido con su problema. Y cómo contar personas para la Medida 1 y la Medida 12, ¿podría compartir más datos y usar el número en la tabla para enumerar sus requisitos? Así puedo ayudarte directamente.

Gracias,
ángelia

bunta

En respuesta a v-huizhn-msft

Hola Angela,

Muchas gracias por tomarse el tiempo para responder. He editado la publicación y espero que sea más fácil de entender ahora. No sé si Power BI puede hacerlo en una tabla o no.

Gracias

En respuesta a bunta

Hola @Bunta,

Sí, Power BI puede hacerlo. Lo pruebo usando sus datos de muestra dados (llamado ‘Test1’).

1 PNG

Luego haga clic en Nueva tabla en Modelado en la página de inicio, escriba la declaración DAX, obtendrá el resultado esperado, luego haga clic con el botón derecho en el encabezado de la columna CÓDIGO->Ordenar ascendente (resaltado en línea roja), revise la captura de pantalla a continuación.

Table 3 = SUMMARIZE(Test1,Test1[CODE],Test1[ACHIEVEMENT_DATE],"SFLU001",CALCULATE(SUM(Test1[Value]),FILTER(Test1,Test1[MEASURE]="SFLU001")),"SFLU012",CALCULATE(SUM(Test1[Value]),FILTER(Test1,Test1[MEASURE]="SFLU012")))

2 PNG

Si tienes otros problemas, no dudes en hacérmelo saber.

Atentamente,
ángelia

bunta

En respuesta a v-huizhn-msft

Hola Angelia,

Gracias por la respuesta. Perdona por la tardanza en contestar pero he estado fuera hasta hoy. Ingresé su solución y pivota los datos que resuelven un problema, sin embargo, todavía permite que la medida SFLU012 se resuma cuando no se ha especificado la fecha de logro. IE, si creo una tabla con solo código y SFLU012, resume SFLU012, que es lo que no puede suceder.

Creé una medida calculada a continuación y asumo que no hay otra forma de evitarlo aparte de especificar una medida que requiere que se especifique una fecha de logro mediante el uso de un filtro.

SFLU012_CALC = if(VALUES('Table 3'[ACHIEVEMENT_DATE]) = BLANK(), BLANK(), (sum('Table 3'[SFLU012])))

¿Es esta la única forma de usar algo como lo anterior en el código que proporcionó?

Gracias

En respuesta a bunta

Hola @Bunta,

¿Aún enumera la fecha de logro en la tabla de resultados? Intente con una columna calculada utilizando su fórmula if.

if(VALUES('Table 3'[ACHIEVEMENT_DATE]) = BLANK(), BLANK(), 'Table 3'[SFLU012])

Luego use la fórmula anterior para crear una nueva tabla.

Atentamente,
ángelia

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *