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 usando DAX para calcular 4 intervalos diferentes entre campos de fecha específicos, usando DATEDIFF para contar los días. (Los campos de fecha son: Fecha de creación, Fecha activada, Fecha resuelta, Fecha cerrada.)
Los cuatro intervalos se denominan "tiempo de ciclo", " tiempo deentrega", " tiempode resolución" y " tiempo derevisión" y se muestran en una tabla junto con el identificador de los elementos relacionados.
Hasta ahora funciona bien.
Ahora me gustaría hacer lo siguiente: en lugar de mostrar todos los intervalos en la tabla me gustaría seleccionar el tipo en una segmentación de datos y mostrar solo el seleccionado en la tabla.
Así que creé una tabla "Tipo de intervalo" que contiene una columna "I-type" con los nombres de los intervalos y una segmentación de datos para seleccionarlos.
A continuación, creé el siguiente código dax:
El error se debe a que falta el contexto de fila y puede usar "maxx"/"minx" de cada columna de fecha y obtenerlo. Decir
DATEDIFF (
Maxx('Work Item'[Work Item.Activated Date]),
Maxx('Work Item'[Work Item.Closed Date]),
DAY),
Si fui yo, voy a rehacer diferente.
a) La mejor manera es volver a ver el problema. Necesita estos datos de cálculo a lo largo del proyecto.
b) Agregue columnas para cada fila como cálculo de diferencia de fecha ... "tiempo de ciclo", "tiempo de entrega", "tiempo de revisión", "tiempo de resolución"
c) Para este informe específico, utilice esas columnas en la medida final. Nota: esto no tiene nada que ver con el contexto de fila. Todavía necesita contexto de fila para la medida calc.
... Gracias
No estoy seguro de lo que está tratando de hacer, pero probablemente necesita SELECTEDVALUE( ) alrededor de todos ellos. Tenga en cuenta que no tiene un contexto de fila en una medida y DATEDIFF necesita valores específicos como argumentos. Una referencia de columna con nuestro contexto de fila no le dará un valor
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
.
No hay mejoría real allí. El motor DAX es lo suficientemente inteligente como para no calcular variables a menos que las necesite realmente.
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Además de @AlB respuesta, la mejoraré...
Motivo: No es necesario calcular todos los valores y, a continuación, decidir el modificador. Usted necesita solamente un cálculo y puede hacer directamente en el Switch.
SelectedInterval =
VAR showselected =
SELECTEDVALUE ( 'Interval type'[I-type], "no single selection" )
RETURN
SWITCH (
showselected,
"cycle time", DATEDIFF (
'Work Item'[Work Item.Activated Date],
'Work Item'[Work Item.Closed Date],
DAY),
"lead time", DATEDIFF (
'Work Item'[Work Item.Created Date],
'Work Item'[Work Item.Closed Date],
DAY),
"review time", DATEDIFF (
'Work Item'[Work Item.Resolved Date],
'Work Item'[Work Item.Closed Date],
DAY),
"resolved time", DATEDIFF (
'Work Item'[Work Item.Activated Date],
'Work Item'[Work Item.Resolved Date],
DAY),
"no single selection", 0
)
Hola
Gracias por la rápida respuesta. Desafortunadamente recibo un mensaje de error ahora, pero tal vez nos estamos acercando al fondo del problema:
¿Quizás toda mi construcción no puede funcionar en absoluto?
Saludos
Amanita
Lo has estropeado de una manera interesante con tantas DEVOLUCIONES. Prueba esto:
SelectedInterval =
VAR showselected =
SELECTEDVALUE ( 'Interval type'[I-type], "no single selection" )
VAR CT =
DATEDIFF (
'Work Item'[Work Item.Activated Date],
'Work Item'[Work Item.Closed Date],
DAY
)
VAR ResT =
DATEDIFF (
'Work Item'[Work Item.Activated Date],
'Work Item'[Work Item.Resolved Date],
DAY
)
VAR RevT =
DATEDIFF (
'Work Item'[Work Item.Resolved Date],
'Work Item'[Work Item.Closed Date],
DAY
)
VAR LT =
DATEDIFF (
'Work Item'[Work Item.Created Date],
'Work Item'[Work Item.Closed Date],
DAY
)
RETURN
SWITCH (
showselected,
"cycle time", CT,
"lead time", LT,
"review time", RevT,
"resolved time", ResT,
"no single selection", 0
)
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
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 |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |