cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Sumar los totales mensuales de las fases del proyecto

Tengo una tabla con datos para proyectos que incluyen fases, fechas de inicio y fechas de finalización.

El problema con el que me encuentro es cuando construyo un visual para mostrar el número de proyectos en el mes de agosto desglosado por fase, el total para el mes de agosto está muy lejos ya que un proyecto podría estar en múltiples fases para el mes de agosto.

Lo que me gustaría es encontrar la primera fase solo al comienzo de un mes determinado.

Ejemplo de datos al principio:

ID del proyectoNombre del proyectoFaseEmpezarTerminar
123Proyecto XIniciación8/1/20228/25/2022
123Proyecto XPlanificación8/26/20229/30/2022

Lo que he hecho es agregar una columna personalizada usando la función Number.From para encontrar el número de días entre las fechas de inicio y finalización. Así que hay una fila para cada día de la fase de iniciación. Luego, agregué otra columna personalizada y usé la función Date.StartOfMonth para devolver el mes de la nueva columna personalizada agregada.

Después:

ID del proyectoNombre del proyectoFaseEmpezarTerminarDaysInBetweenMesdeNuevaColumna
123Proyecto XIniciación8/1/20228/25/20228/1/2022Agosto
123Proyecto XIniciación8/26/20229/30/20228/2/2022Agosto
......Iniciación......8/3/2022Agosto
......Iniciación......8/4/2022Agosto

Dado que la fase de iniciación de este proyecto termina cerca del final del mes y luego comienza la fase de planificación, si construyo un gráfico de barras para el mes de agosto y lo desgloso por cuántos proyectos hay en cada fase para agosto, el proyecto 123 aparecerá tanto en Iniciación como en Planificación. Me gustaría que solo apareciera para la Iniciación, ya que ese fue el PRIMERO del mes.

¿Alguna idea/sugerencia sobre cómo hacer esto?

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola

Este código M devolverá la fila con los datos mínimos para cada ID de proyecto. Basa tus imágenes en esta tabla

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQyVtJRCijKz0pNLlGIALI98zJLMhNLMvPzgBwDQ10DC10jAyMjIMfIFM6J1cGmNSAnMS8vMy8dpNYMSaOxga6BJVRjLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Project ID" = _t, #"Project Name" = _t, Phase = _t, Start = _t, Finish = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Project ID", Int64.Type}, {"Project Name", type text}, {"Phase", type text}, {"Start", type date}, {"Finish", type date}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Date", each {Number.From([Start])..Number.From([Finish])}),
    #"Expanded Date" = Table.ExpandListColumn(#"Added Custom", "Date"),
    #"Removed Columns" = Table.RemoveColumns(#"Expanded Date",{"Start", "Finish"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Removed Columns",{{"Date", type date}}),
    #"Grouped Rows" = Table.Group(#"Changed Type1", {"Project ID"}, {{"Count", each Table.Min(_,"Date")}}),
    #"Expanded Count" = Table.ExpandRecordColumn(#"Grouped Rows", "Count", {"Project Name", "Phase", "Date"}, {"Project Name", "Phase", "Date"})
in
    #"Expanded Count"

Espero que esto ayude.

Untitled.png

Syndicate_Admin
Administrator
Administrator

Eso no es suficiente. Necesitas un calendario, una tabla de fechas que tenga todos los días. Luego, para cada día, debe calcular qué proyectos estuvieron activos ese día y en qué fase. Luego debe escribir una medida que proporcione el recuento de días por fase por mes, etc.

Helpful resources

Announcements
Carousel_PBI_Wave1

2023 Release Wave 1 Plans

Power BI release plans for 2023 release wave 1 describes all new features releasing from April 2023 through September 2023.

Power BI Summit Carousel 2

Global Power BI Training

Make sure you register today for the Power BI Summit 2023. Don't miss all of the great sessions and speakers!

BizApps LATAM 2023

Business Application LATAM Summit 2023

Join the biggest FREE Business Applications Event in LATAM this February.

Power Platform Bootcamp

Global Power Platform Bootcamp

In this bootcamp we will deep-dive into Microsoft’s Power Platform stack with hands-on sessions and labs, delivered to you by experts and community leaders.