Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola
Estoy tratando de calcular el siguiente campo (resultados) en PBI ( editor de consultas ). El cálculo debe agruparse por CustomerCode, ITEM, TYPE y la primera fila del grupo debe calcularse como Z1+X1-X2 y, a continuación, la 2a hasta la última fila del grupo debe ser el resultado anterior+X1-X2. Avísame si tienes alguna solución en mente. Gracias de antemano
1a fila - Z1 + X1– X2 ; 15-0-4 x 11
2a fila - prevresult(1a fila) + X1 – X2 ; 11+0-1 a 10
WeekStart | CustomerCode | Artículo | Departamento | Tipo | Z1 | X1 | X2 | Resultado | Fórmula | ||
9/28/2020 | Aaa | manzana | Final | A | 15 | 4 | 11 | Z1 - X1 + X2 | 15 + 0 - 4 x 11 | ||
10/5/2020 | Aaa | manzana | Final | A | 15 | 1 | 10 | PrevResult + X1 - X2 | 11 + 0 - 1 x 10 | ||
11/2/2020 | Aaa | manzana | Final | A | 15 | 3 | 13 | PrevResult + X1 - X2 | 10 + 3 - 0 x 13 | ||
10/12/2020 | Aaa | manzana | OPS | B | 10 | 1 | 9 | Z1 - X1 + X2 | 10 + 0 - 1 x 9 | ||
10/19/2020 | Aaa | manzana | OPS | B | 10 | 2 | 7 | PrevResult + X1 - X2 | 9 + 0 - 2 x 7 | ||
11/2/2020 | Aaa | manzana | OPS | B | 10 | 1 | 6 | PrevResult + X1 - X2 | 7 + 0 - 1 x 6 | ||
9/21/2020 | Aaa | Plátano | OPS | A | 13 | 1 | 14 | Z1 - X1 + X2 | 13 + 1 - 0 x 14 | ||
10/5/2020 | Aaa | Plátano | OPS | A | 13 | 1 | 13 | PrevResult + X1 - X2 | 14 + 0 - 1 x 13 | ||
10/12/2020 | Aaa | Plátano | OPS | A | 13 | 1 | 3 | 11 | PrevResult + X1 - X2 | 13 + 1 - 3 x 11 |
Solved! Go to Solution.
Puede utilizar DAX para crear una columna (no en el editor de consultas)
Column =
VAR _start=CALCULATE(min('Table'[WeekStart]),ALLEXCEPT('Table','Table'[CustomerCode],'Table'[ITEM],'Table'[Type]))
VAR Z1= MAXX(FILTER('Table','Table'[WeekStart]=_start&&'Table'[CustomerCode]=EARLIER('Table'[CustomerCode])&&'Table'[ITEM]=EARLIER('Table'[ITEM])&&'Table'[Type]=EARLIER('Table'[Type])),'Table'[Z1])
VAR X1=SUMX(FILTER('Table','Table'[CustomerCode]=EARLIER('Table'[CustomerCode])&&'Table'[ITEM]=EARLIER('Table'[ITEM])&&'Table'[Type]=EARLIER('Table'[Type])&&'Table'[WeekStart]<=EARLIER('Table'[WeekStart])),'Table'[X1])
VAR X2=SUMX(FILTER('Table','Table'[CustomerCode]=EARLIER('Table'[CustomerCode])&&'Table'[ITEM]=EARLIER('Table'[ITEM])&&'Table'[Type]=EARLIER('Table'[Type])&&'Table'[WeekStart]<=EARLIER('Table'[WeekStart])),'Table'[X2])
RETURN Z1+X1-X2
Proud to be a Super User!
Puede utilizar DAX para crear una columna (no en el editor de consultas)
Column =
VAR _start=CALCULATE(min('Table'[WeekStart]),ALLEXCEPT('Table','Table'[CustomerCode],'Table'[ITEM],'Table'[Type]))
VAR Z1= MAXX(FILTER('Table','Table'[WeekStart]=_start&&'Table'[CustomerCode]=EARLIER('Table'[CustomerCode])&&'Table'[ITEM]=EARLIER('Table'[ITEM])&&'Table'[Type]=EARLIER('Table'[Type])),'Table'[Z1])
VAR X1=SUMX(FILTER('Table','Table'[CustomerCode]=EARLIER('Table'[CustomerCode])&&'Table'[ITEM]=EARLIER('Table'[ITEM])&&'Table'[Type]=EARLIER('Table'[Type])&&'Table'[WeekStart]<=EARLIER('Table'[WeekStart])),'Table'[X1])
VAR X2=SUMX(FILTER('Table','Table'[CustomerCode]=EARLIER('Table'[CustomerCode])&&'Table'[ITEM]=EARLIER('Table'[ITEM])&&'Table'[Type]=EARLIER('Table'[Type])&&'Table'[WeekStart]<=EARLIER('Table'[WeekStart])),'Table'[X2])
RETURN Z1+X1-X2
Proud to be a Super User!
Permítanme prefacio esto que todavía soy un poco nuevo para PBI, pero creo que sé cómo hacer lo que necesita.
Para ello, primero tendrá que agregar una columna de índice (prefiero empezar a partir de 0).
Una vez que tenga la columna de índice, puede crear una nueva columna calculada para utilizar una expresión DAX de la siguiente manera:
Columna - LOOKUPVALUE('*TableName*'[Resultado], '*TableName*'[Index], '*TableName*'[Index]-1)+0
Es posible que deba cambiar parte de la sintaxis para que funcione. Y obviamente para la primera fila, ya que no puede extraer datos de una fila anterior (ya que no hay una), es posible que deba colocar la expresión dentro de una expresión IF.
Puede haber una mejor manera de hacerlo, pero creo que al menos debería funcionar.
gracias por responder, pero si te das cuenta de cada inicio del grupo la fórmula es Z1 + X1 -X2.
en la primera fila la fórmula es Z1 + X1 -X2
fila siguiente hasta el final del grupo es previousresult(1a fila) + X1 - X2
WeekStart | CustomerCode | Artículo | Departamento | Tipo | Z1 | X1 | X2 | Resultado | Fórmula | ||
9/28/2020 | Aaa | manzana | Final | A | 15 | 4 | 11 | Z1 - X1 + X2 | 15 + 0 - 4 x 11 | ||
10/5/2020 | Aaa | manzana | Final | A | 15 | 1 | 10 | PrevResult + X1 - X2 | 11 + 0 - 1 x 10 | ||
11/2/2020 | Aaa | manzana | Final | A | 15 | 3 | 13 | PrevResult + X1 - X2 | 10 + 3 - 0 x 13 | ||
10/12/2020 | Aaa | manzana | OPS | B | 10 | 1 | 9 | Z1 - X1 + X2 | 10 + 0 - 1 x 9 | ||
10/19/2020 | Aaa | manzana | OPS | B | 10 | 2 | 7 | PrevResult + X1 - X2 | 9 + 0 - 2 x 7 | ||
11/2/2020 | Aaa | manzana | OPS | B | 10 | 1 | 6 | PrevResult + X1 - X2 | 7 + 0 - 1 x 6 |
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |