Informe de ejemplo de acumulación de progreso de características

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

En este artículo se muestra cómo crear un informe de barras apiladas para mostrar el progreso de las características basadas en casos de usuario secundarios completados. El informe muestra el porcentaje completado por acumulación de puntos de historia para un conjunto determinado de características activas. Un ejemplo se muestra en la imagen siguiente.

Captura de pantalla del informe gráfico de barras apilada progreso de características.

Puede ver gráficos de barras de progreso similares desde el trabajo pendiente agregando una columna de acumulación. Para obtener información sobre cómo hacerlo, consulte Mostrar el progreso de acumulación o los totales.

Nota:

En este artículo se supone que ha leído Información general de informes de ejemplo mediante consultas de OData y que tiene conocimientos básicos de Power BI.

Requisitos previos

  • Para ver los datos de Analytics y consultar el servicio, debe ser miembro de un proyecto con acceso básico o superior. De forma predeterminada, a todos los miembros del proyecto se les conceden permisos para consultar Analytics y definir vistas de Analytics.
  • Para obtener información sobre otros requisitos previos relacionados con las actividades de habilitación de características y servicios y seguimiento de datos generales, consulte Permisos y requisitos previos para acceder a Analytics.

Consultas de ejemplo

El progreso de la característica consulta la WorkItems entidad para obtener el estado actual del progreso.

Nota:

Para determinar las propiedades disponibles con fines de filtro o informe, consulte Referencia de metadatos para Azure Boards. Puede filtrar las consultas o devolver propiedades mediante cualquiera de los Property valores de un EntityType valor o NavigationPropertyBinding Path disponible con .EntitySet Cada EntitySet uno corresponde a un objeto EntityType. Para obtener más información sobre el tipo de datos de cada valor, revise los metadatos proporcionados para el correspondiente EntityType.

Revisión del progreso de las características en función de una ruta de acceso de área

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'Feature' "
            &"and State ne 'Removed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and Descendants/any()"
            &"&$select=WorkItemId,Title,Area,Iteration,AssignedTo,WorkItemType,State,AreaSK"
            &"&$expand=Descendants( "
            &"$apply=filter(WorkItemType eq 'User Story') " 
                &"/groupby((StateCategory), "
                &"aggregate(StoryPoints with sum as TotalStoryPoints)) "
            &")  "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Cadenas de sustitución y desglose de consultas

Sustituya las cadenas siguientes por sus valores. No incluya corchetes {} con la sustitución. Por ejemplo, si el nombre de la organización es "Fabrikam", reemplace por {organization}Fabrikam, no {Fabrikam}por .

  • {organization} - El nombre de la organización
  • {project} - El nombre del proyecto de equipo, o bien omite /{project} completamente, para una consulta entre proyectos.
  • {areapath} - Ruta de acceso del área. Formato de ejemplo: Project/Level1/Level2.

Desglose de consultas

En la tabla siguiente se describe cada parte de la consulta.

Elemento de consulta

Descripción


$filter=WorkItemType eq 'Feature'

Devuelve características.

and State ne 'Cut'

Omita las características marcadas como Cortar.

and startswith(Area/AreaPath,'{areapath}')

Devolver elementos de trabajo en una ruta de acceso de área específica. Reemplazar por Area/AreaPath eq '{areapath}' devuelve elementos en una ruta de acceso de área específica.
Para filtrar por nombre de equipo, use la instrucción Teams/any(x:x/TeamName eq '{teamname})'filter .

and Descendants/any()

Filtre los elementos de trabajo que tengan al menos uno o "cualquiera" descendiente. Incluye todas las características con al menos un elemento de trabajo secundario. Para obtener todos los elementos de trabajo con sus descendientes, incluso si no tienen ninguno, ejecute una consulta sin el Descendants/any() filtro. Para omitir las características que no tienen casos de usuario secundarios, reemplace por any(d:d/WorkItemType eq 'User Story').

Para todos los elementos de trabajo con y sin descendientes:

$filter=endswith(Area/AreaPath,'suffix')
&$select=WorkItemId,Title,WorkItemType,State,Area, Descendants
&$expand=Descendants($select=WorkItemId)

Para todos los elementos de trabajo con al menos un descendiente:

$filter=endswith(Area/AreaPath, 'suffix')and Descendants/any()
&$select=WorkItemId,Title,WorkItemType,State,Area, Descendants
&$expand=Descendants($select=WorkItemId)

&$select=WorkItemId, Title, WorkItemType, State

Seleccione las propiedades que desea devolver.

&$expand=Descendants(

Inicio de la cláusula expand Descendants

$apply=filter(WorkItemType eq 'User Story')

Filtre los descendientes. Incluya solo casos de usuario (omita tareas y errores).

/groupby((StateCategory),

Agrupe el paquete acumulativo por StateCategory. Para obtener más información sobre las categorías de estado, consulte Cómo se usan los estados de flujo de trabajo y las categorías de estado en Trabajos pendientes y paneles.

aggregate(StoryPoints with sum as TotalStoryPoints))

Suma agregada de puntos de historia.

)

Cláusula Close Descendants() .

Revisión del progreso de las características de un equipo

La consulta siguiente es la misma que la que se usó anteriormente, salvo que filtra por Nombre de equipo en lugar de ruta de acceso del área.

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'Feature' "
            &"and State ne 'Cut' "
            &"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
            &"and Descendants/any() "
        &"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
        &"&$expand=Descendants( "
            &"$apply=filter(WorkItemType eq 'User Story') "
                &"/groupby((StateCategory), "
                &"aggregate(StoryPoints with sum as TotalStoryPoints)) "
            &")  "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Transformación de los datos en Editor de Power Query

La consulta devuelve varias columnas que necesita expandir para poder usarlas para crear un informe. Cualquier entidad extraída mediante una instrucción OData $expand devuelve un registro con potencialmente varios campos. Expanda el registro para aplanar la entidad en sus campos.

Para el informe Progreso de características, deberá llevar a cabo las transformaciones siguientes:

  • Expanda la Descendants columna en dos columnas: Descendants.StateCategory y Descendants.TotalStoryPoints
  • Aplicar transformación de columna dinámica en Descendants.StateCategory columna para separar categorías de estado individuales
  • Reemplace los valores NULL en todas las columnas dinamizadas.
  • Agregue una columna personalizada para representar el porcentaje completado. La columna personalizada mostrará errores si hay alguna columna nula en las columnas de estado dinamizado.

Para obtener información sobre cómo hacerlo, consulte las secciones siguientes en Transformación de datos de Análisis para generar informes de Power BI:

Nota:

En este ejemplo, los valores de estado de User Story incluyen Propuesta, En curso y Completado.

Cierre la consulta y aplique los cambios

Una vez que haya completado todas las transformaciones de datos, elija Cerrar y aplicar en el menú Inicio para guardar la consulta y volver a la pestaña Informe en Power BI.

Captura de pantalla de Editor de Power Query opción Cerrar y aplicar.

Creación del informe de gráfico de barras apiladas

  1. En Power BI, elija Informe de gráfico de barras apiladas en Visualizaciones.

    Captura de pantalla de las selecciones visualizaciones y campos de Power BI para el informe gráfico de barras apiladas de progreso de características.

  2. Agregue Title al eje Y.

  3. Agregue PercentComplete al eje X, haga clic con el botón derecho y seleccione Suma.

Se muestra el informe de ejemplo.

Captura de pantalla del informe de gráfico de barras apiladas de progreso de características de ejemplo.