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 a todos
Quiero calcular un flujo de entrada. Lo que hago es esto:
Inflow Inside 3 =
VAR OfficePrevious = CALCULATETABLE(SUMMARIZE(DataFte,DataFte[Office Code],DataFte[EmpId])
--,PREVIOUSMONTH('Date'[Date]), ALL('Date')
,'Date'[Month Number] = 4
,DataFte[Internal] = "Y"
,ALLEXCEPT(DataFte, DataFte[EmpId], DataFte[Office Code]))
VAR OfficeCurrent = CALCULATETABLE(SUMMARIZE(DataFte,DataFte[Office Code],DataFte[EmpId])
,'Date'[Month Number] = 5
,DataFte[Internal] = "Y"
,ALLEXCEPT(DataFte, DataFte[EmpId], DataFte[Office Code]))
VAR ResTable = EXCEPT(OfficePrevious, OfficeCurrent)
RETURN ResTable
Como puede ver, mi selección de período se establece no dinámicamente, eso vendrá más adelante. Pero mi problema ahora es que calculo 2 tablas y con Except creo una tabla con el diff (este es el flujo de entrada si estoy en lo correcto). Pero no puedo simplemente devolver el Restable, así que tengo que hacer algo con él. Pero cuando lo uso en un GROUPBY o SUMMARIZE o CALCULATE el error que viene es 'La variable de tabla no se puede usar en el contexto actual porque se espera una tabla base'.
Entonces, ¿hay alguien que pueda ayudarme a hacer un recuento distinto del campo EmpId en los resultados de la tabla ResTable qué contenido es (por ejemplo):
OfficeCode EmpId
23 4
25 7
Mi archivo de ejemplo PBIX se encuentra aquí; https://easyupload.io/i1xygt y la medida se llama Inflow Inside 3.
Solved! Go to Solution.
No @MiKeZZa ,
La medida devuelve un valor único, lo que significa que no puede realizar una medida que devuelva una tabla, este es el caso que está obteniendo que está creando una tabla que devuelve los valores.
En su caso, lo que debe hacer es contar el número de filas de cada tabla y devolver el resultado.
El resultado de la tabla actual es:
El resultado de la tabla anterior es:
Si usted llok en los valores que tiene
oficina | actual | anterior | Diff |
20 | 1 fila | 1 fila | 0 |
21 | 1 fila | 1 fila | 0 |
22 | 1 fila | 1 fila | 0 |
23 | 0 filas | 1 fila | -1 |
24 | 2 filas | 0 filas | 2 |
25 | 0 fila | 1 fila | -1 |
26 | 25 filas | 0 filas | 2 |
Si rehacer la medida en el código siguiente, obtendrá el resultado correcto:
Inflow Inside 3 =
VAR OfficePrevious = CALCULATETABLE(SUMMARIZE(DataFte,DataFte[Office Code],DataFte[EmpId])
--,PREVIOUSMONTH('Date'[Date]), ALL('Date')
,'Date'[Month Number] = 4
,DataFte[Internal] = "Y"
,ALLEXCEPT(DataFte, DataFte[EmpId], DataFte[Office Code]))
VAR OfficeCurrent = CALCULATETABLE(SUMMARIZE(DataFte,DataFte[Office Code],DataFte[EmpId])
,'Date'[Month Number] = 5
,DataFte[Internal] = "Y"
,ALLEXCEPT(DataFte, DataFte[EmpId], DataFte[Office Code]))
VAR ResTable = COUNTROWS(OfficeCurrent) - COUNTROWS( OfficePrevious)
RETURN ResTable
No @MiKeZZa ,
La medida devuelve un valor único, lo que significa que no puede realizar una medida que devuelva una tabla, este es el caso que está obteniendo que está creando una tabla que devuelve los valores.
En su caso, lo que debe hacer es contar el número de filas de cada tabla y devolver el resultado.
El resultado de la tabla actual es:
El resultado de la tabla anterior es:
Si usted llok en los valores que tiene
oficina | actual | anterior | Diff |
20 | 1 fila | 1 fila | 0 |
21 | 1 fila | 1 fila | 0 |
22 | 1 fila | 1 fila | 0 |
23 | 0 filas | 1 fila | -1 |
24 | 2 filas | 0 filas | 2 |
25 | 0 fila | 1 fila | -1 |
26 | 25 filas | 0 filas | 2 |
Si rehacer la medida en el código siguiente, obtendrá el resultado correcto:
Inflow Inside 3 =
VAR OfficePrevious = CALCULATETABLE(SUMMARIZE(DataFte,DataFte[Office Code],DataFte[EmpId])
--,PREVIOUSMONTH('Date'[Date]), ALL('Date')
,'Date'[Month Number] = 4
,DataFte[Internal] = "Y"
,ALLEXCEPT(DataFte, DataFte[EmpId], DataFte[Office Code]))
VAR OfficeCurrent = CALCULATETABLE(SUMMARIZE(DataFte,DataFte[Office Code],DataFte[EmpId])
,'Date'[Month Number] = 5
,DataFte[Internal] = "Y"
,ALLEXCEPT(DataFte, DataFte[EmpId], DataFte[Office Code]))
VAR ResTable = COUNTROWS(OfficeCurrent) - COUNTROWS( OfficePrevious)
RETURN ResTable
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 | |
2 | |
2 | |
2 | |
1 |