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 crear una matriz vizual que me permita ver una serie de valores por mes, uno de ellos es el número de días de trabajo netos entre una fecha de inicio y finalización de los proyectos, pero con agrupados por meses (ver ejemplo)
Marzo | Abril | Puede | |
Proyecto1 | N.o de días de la Red para el proyecto 1 en marzo | N.o de los días de la Red para el proyecto 1 en abril | • de días de la Red para el proyecto 1 en mayo |
Proyecto2 | N.o de días de la Red para el proyecto 2 en marzo | N.o de los días de la Red para el proyecto 2 en abril | • de días de la Red para el proyecto 2 en mayo |
Actualmente tengo la siguiente medida que utiliza la fecha de inicio y finalización de los proyectos: ¿cómo puedo revisar el código para agrupar el número de días laborables en su mes asociado?
Solved! Go to Solution.
De acuerdo. Aquí hay una posible solución. Por favor, lea la descripción en el archivo y juegue con los datos para entender lo que está pasando.
Mejor
D
// First, you should have a Calendar
// in your model that covers all the
// years found in any of the date fields
// in any of your tables. This Calendar
// should be disconnected from the Project
// dimension.
// Second, this Calendar should have all
// the date/time entities defined like
// months, years, day names, and each
// date should have a column indicator
// to say if it's a working day or not.
// Project dimension stores Projects,
// that is, their ID's, names and start
// and end dates.
// Then you can write this measure:
[Net Work Days] =
var __oneProjectVisible = HASONEVALUE( 'Project'[ProjectID] )
var __startDate = SELECTEDVALUE( Project[StartDate] )
var __endDate = SELECTEDVALUE( Project[EndDate] )
var __result =
CALCULATE(
COUNTROWS( 'Calendar' ),
KEEPFILTERS( __startDate <= 'Calendar'[Date] ),
KEEPFILTERS( 'Calendar'[Date] <= __endDate ),
KEEPFILTERS( 'Calendar'[Day Type] = "Working Day" )
)
return
if( __oneProjectVisible, __result )
Esta medida devuelve el número de días laborables en el período de tiempo seleccionado actualmente para cualquier proyecto que se haya seleccionado. Si hay más de un proyecto visible, devolverá BLANK ya que no ha definido lo que significa "el número de días laborables si se selecciona más de 1 proyecto". Puede ser que desee el número de días laborables que pertenecen a cualquiera de los proyectos (lo que sería razonable), pero si ese es el caso, tendrá que realizar algunos cambios en el código.
Mejor
D
Además, la matriz tendrá varios proyectos (cargados en la píldora 'Filas') - ¿cómo puedo acomodar?
Mi campo 'Tipo de día' para denotar día laborable es actualmente texto (probablemente causando el error) - ¿Debería ser un indicador entero?
[Net Work Days] =
// ProjectID can be anything but must be the identifier
var __oneProjectVisible = HASONEVALUE( 'Project'[ProjectID] )
// StartDate must be date
var __startDate = SELECTEDVALUE( Project[StartDate] )
// EndDate must be date
var __endDate = SELECTEDVALUE( Project[EndDate] )
var __result =
CALCULATE(
COUNTROWS( 'Calendar' ),
// Calendar[Date] must be date
KEEPFILTERS( __startDate <= 'Calendar'[Date] ),
KEEPFILTERS( 'Calendar'[Date] <= __endDate ),
// Day Type must be text since I equate it
// to a text vaule
KEEPFILTERS( 'Calendar'[Day Type] = "Working Day" )
)
return
if( __oneProjectVisible, __result )
Mejor
D
Gracias - lo tengo para que no produce un error, pero está devolviendo celdas BLANK. ¿Necesito crear una relación desde la tabla DATE a mi tabla de proyecto?
Sí - lo vi (pensé que puede ser un error tipográfico) - supongo que no estoy entendiendo cómo funciona la medida - debe colocarse en la matriz como un valor? o en otro lugar?
Muchas gracias - está funcionando perfectamente. Sin embargo, tengo otra capa de complejidad. Necesito multiplicar la fecha de vuelta por un porcentaje. Pensé que sólo podría hacer referencia a la medida en el calc (es decir, networkdays * [columna con %]) que funciona, pero no incorpora el aspecto del mes. ¿Hay alguna manera de actualizar la medida para hacer referencia a la columna por la que necesito multiplicar?
Lo siento, no estaba claro - lo siguiente destaca lo que tengo que hacer (ahora mismo, la salida no está teniendo en cuenta el mes)
[Porcentaje] * [Medida del día de trabajo neto]
Proyecto | Porcentaje | Día neto del trabajo (marzo) | Salida (marzo) | Día neto del trabajo (abril) | Salida (abril) |
Proyecto 1 | 50% | 9 | 4.5 | 15 | 7.5 |
Proyecto 2 | 20% | 22 | 4.4 | 20 | 5 |
Gracias, ¿sabrías la mejor manera de hacerlo? Lo sentimos por el seguimiento, si hay documentación que recomendaría que sería apreciada.
Crear una nueva medida ->[Medida del día de la red] * [Categoría Porcentaje?]
Eres un santo, muchas gracias por la ayuda 😀
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 |