Informe de Flow de ejemplo de diagrama de Flow acumulado (CFD)

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019

En este artículo se muestra cómo mostrar el CFD de casos para un equipo especificado. Un ejemplo se muestra en la imagen siguiente.

Ejemplo - CFD - Informe

Nota

En este artículo se da por supuesto que ha leído Información general de los informes de ejemplo mediante consultas de OData y tiene una comprensión básica de Power BI.

Requisitos previos

  • Debe ser miembro de un proyecto con acceso básico o superior. Si no se ha agregado como miembro del proyecto, ahora se agrega. Cualquier persona con acceso al proyecto, excepto las partes interesadas, puede ver las vistas de Analytics.
  • Para que los datos de Analytics estén disponibles, se debe habilitar el servicio correspondiente. Por ejemplo, para consultar los datos de seguimiento del trabajo, Boards debe estar habilitado. Si está deshabilitada, no se mostrarán las vistas de Analytics. Para volver a habilitar un servicio, consulte Activación o desactivación Azure DevOps servicio de mantenimiento.
  • Para usar vistas de Analytics,habilite la característica de vista previa Vistas de análisis para usuarios individuales o para la organización.
  • Además, debe tener el permiso *View Analytics establecido en Permitir. Para más información, consulte Concesión de permisos para acceder al servicio Analytics.
  • Para usar Power BI para Azure DevOps o para ejecutar una consulta de OData para Analytics, debe tener el permiso de View Analytics establecido en Permitir. De forma predeterminada, se concede acceso a todos los colaboradores con acceso Básico. Para editar vistas compartidas de Analytics,debe tener el permiso * Editar vistascompartidas de Analytics establecido en Permitir. Para más información, consulte Concesión de permisos para acceder al servicio Analytics.
  • Debe ser miembro de un proyecto con acceso básico o superior. Si no se ha agregado como miembro del proyecto, ahora se agrega. Cualquier persona con acceso al proyecto, excepto las partes interesadas, puede ver las vistas de Analytics.
  • Compruebe que Analytics está instalado y, si no es así, habilite esta opción. Debe ser propietario de la cuenta o miembro del grupo administrador de Project recopilación para agregar extensiones o habilitar el servicio.
  • Para que los datos de Analytics estén disponibles, se debe habilitar el servicio correspondiente. Por ejemplo, para consultar los datos de seguimiento del trabajo, Boards debe estar habilitado. Si está deshabilitada, no se mostrarán las vistas de Analytics. Para volver a habilitar un servicio, consulte Activación o desactivación Azure DevOps servicio de mantenimiento.
  • Para usar vistas de Analytics,habilite la característica de vista previa Vistas de análisis para usuarios individuales o para la organización.
  • Además, debe tener el permiso *View Analytics establecido en Permitir. Para más información, consulte Concesión de permisos para acceder al servicio Analytics.
  • Para usar Power BI para Azure DevOps o para ejecutar una consulta de OData para Analytics, debe tener el permiso de View Analytics establecido en Permitir. De forma predeterminada, se concede acceso a todos los colaboradores con acceso Básico. Para editar vistas compartidas de Analytics,debe tener el permiso Editar vistas compartidas de Analytics establecido en Permitir. Para más información, consulte Concesión de permisos para acceder al servicio Analytics.

Consultas de ejemplo

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

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/V3.0-preview/WorkItemBoardSnapshot?"
        &"$apply=filter( "
            &"Team/TeamName eq '{teamname}' "
            &"and BoardName eq 'Stories'  "
            &"and DateValue ge {startdate} "
        &") "
        &"/groupby( "
            &"(DateValue,ColumnName,LaneName,State,WorkItemType,AssignedTo/UserName,Area/AreaPath),  "
            &"aggregate($count as Count) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Cadenas de sustitución

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

  • {organization} - Nombre de la organización
  • {project} - Nombre del proyecto de equipo u omita por completo "/{project}" para una consulta entre proyectos.
  • {teamname} : nombre del equipo para el que se mostrará el CFD.
  • {startdate} : fecha desde la que se inicia el gráfico CFD. Formato: YYYY-MM-D JPEG. Ejemplo: 2019-04-01Z representa 2019-April-01. No incluya entre comillas.

Desglose de consultas

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

Elemento de consulta

Descripción

$apply=filter(

Iniciar filter()

Team/TeamName eq '{teamname}'

Devolver elementos para un equipo específico

and BoardName eq 'Stories'

Devuelve elementos en el trabajo pendiente "Casos". Puede especificar otros nombres de trabajo pendiente, como "Epopeyas" y "Características".

and DateValue ge {startdate}

Inicie CFD en o después de la fecha especificada. Ejemplo: 2019-04-01Z representa 2019-April-01 2019-July-01

)

Cerrar filter()

/groupby(

Iniciar groupby()

(DateValue, ColumnName, LaneName, State, WorkItemType,AssignedTo/UserName,Area/AreaPath),

Agrupar por DateValue (se usa para tendencias), ColumnName y cualquier otro campo sobre el que quiera informar. Aquí se incluye LaneName para habilitar el filtrado por LaneName.

aggregate($count as Count)

Agregado como recuento de elementos de trabajo.

)

Cerrar groupby()

Filtros de consulta

Para determinar los filtros de consulta disponibles, consulte los metadatos como se describe en Exploración de los metadatos de OData de Analytics. Puede filtrar las consultas mediante cualquiera de los valores de NavigationPropertyBinding Path enumerados en EntitySet. Para obtener más información sobre el tipo de datos de cada valor, revise los metadatos proporcionados para el EntityType correspondiente. Cada EntitySet corresponde a entityType.

Por ejemplo, EntitySet Name="WorkItemSnapshot" corresponde a EntityType Name="WorkItemSnapshot". Los metadatos de OData para EntitySet Name="WorkItemSnapshot" se muestran a continuación para v4.0-preview. Puede agregar filtros basados en cualquiera de los valores de NavigationPropertyBinding Path enumerados.

<EntitySet Name="WorkItemSnapshot" EntityType="Microsoft.VisualStudio.Services.Analytics.Model.WorkItemSnapshot">
  <NavigationPropertyBinding Path="Date" Target="Dates"/>
  <NavigationPropertyBinding Path="RevisedOn" Target="Dates"/>
  <NavigationPropertyBinding Path="Teams" Target="Teams"/>
  <NavigationPropertyBinding Path="Processes" Target="Processes"/>
  <NavigationPropertyBinding Path="Project" Target="Projects"/>
  <NavigationPropertyBinding Path="Area" Target="Areas"/>
  <NavigationPropertyBinding Path="Iteration" Target="Iterations"/>
  <NavigationPropertyBinding Path="AssignedTo" Target="Users"/>
  <NavigationPropertyBinding Path="ChangedBy" Target="Users"/>
  <NavigationPropertyBinding Path="CreatedBy" Target="Users"/>
  <NavigationPropertyBinding Path="ActivatedBy" Target="Users"/>
  <NavigationPropertyBinding Path="ClosedBy" Target="Users"/>
  <NavigationPropertyBinding Path="ResolvedBy" Target="Users"/>
  <NavigationPropertyBinding Path="Tags" Target="Tags"/>
  <NavigationPropertyBinding Path="ChangedOn" Target="Dates"/>
  <NavigationPropertyBinding Path="ClosedOn" Target="Dates"/>
  <NavigationPropertyBinding Path="CreatedOn" Target="Dates"/>
  <NavigationPropertyBinding Path="ResolvedOn" Target="Dates"/>
  <NavigationPropertyBinding Path="StateChangeOn" Target="Dates"/>
  <NavigationPropertyBinding Path="InProgressOn" Target="Dates"/>
  <NavigationPropertyBinding Path="CompletedOn" Target="Dates"/>
</EntitySet>

Power BI transformaciones

Expandir columnas Area, Iteration, AssignedTo

La consulta devuelve varias columnas que debe expandir para poder usarlas en Power BI. Cualquier entidad que se extraía mediante una instrucción $expand OData devuelve un registro con potencialmente varios campos. Debe expandir el registro para aplanar la entidad en sus campos. Algunos ejemplos de estas entidades son: AssignedTo, Iteration y Area.

Después de cerrar Editor avanzado y mientras permanece en el Editor de Power Query, seleccione el botón expandir en las entidades que necesita aplanar.

  1. Elija el botón expandir.

    Expandir una columna de entidad, Power BI + OData

  2. Seleccione los campos que desea aplanar.

    Seleccione los campos que desea aplanar.

  3. La tabla ahora contiene campos de entidad.

    La tabla ahora contiene campos de entidad.

  4. Repita los pasos del 1 al 3 para todos los campos que representan entidades: Área, Iteración, AssignedTo.

Cambie el nombre de los campos y la consulta y, a continuación, cierre & Aplicar

Cuando termine, puede cambiar el nombre de las columnas.

  1. Haga clic con el botón derecho en un encabezado de columna y seleccione Cambiar nombre...

    Power BI cambiar el nombre de las columnas

  2. También puede cambiar el nombre de la consulta de la consulta predeterminada Query1a algo más significativo.

    Power BI cambiar el nombre de la consulta

  3. Una vez hecho esto, elija Cerrar aplicar para guardar la consulta y volver a Power BI.

    Power BI Cerrar  Aplicar

Creación del informe

Power BI muestra los campos sobre los que puede informar.

Nota

En el ejemplo siguiente se supone que nadie cambió el nombre de ninguna columna.

Sample -Release Burndown - Fields

Para obtener un informe sencillo, realice los pasos siguientes:

  1. Seleccione Power BI gráfico de áreas apiladas de visualización.
  2. Agregar el campo "DateValue" al eje
    • Haga clic con el botón derecho en "DateValue" y seleccione "DateValue", en lugar de Jerarquía de fechas.
  3. Agregar el campo "ColumnName" a leyenda
  4. Agregar el campo "Count" a Valores
  5. En Filtro para "ColumnName", seleccione solo los valores que quiera que aparezcan en el gráfico. Por ejemplo, puede anular la selección de "Nuevo" y "Listo".

El informe de ejemplo:

Ejemplo - CFD - Informe

Ordenación de columnas en orden correcto

En el ejemplo anterior se mostrarán las columnas en orden alfabético. Para ordenar las columnas en el orden específico del tablero, siga estos pasos:

  1. Use la consulta siguiente para crear una nueva consulta en Power BI. Cuando haya terminado, cambie el nombre de la consulta a "ColumnOrder".

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

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/V3.0-preview/BoardLocations?"
        &"$apply=filter( "
            &"Team/TeamName eq '{teamname}'  "
            &"and BoardName eq 'Stories'  "
            &"and IsCurrent eq true "
        &") "
        &"/groupby ((ColumnName,ColumnOrder)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Ordenar el informe en el orden correcto

  1. Una vez que vuelva a Power BI, expanda ColumnOrder query (Consulta ColumnOrder) y seleccione ColumnName (NombreDeLa Columna).
  2. Seleccione el menú Modelado.
  3. Seleccione Ordenar por columna y elija "ColumnOrder".
  4. Seleccione Administrar relaciones y asegúrese de que hay una relación entre "CFD. ColumnName" y "ColumnOrder.ColumnName".
    • Es probable que la relación se detecte automáticamente.
  5. En el informe creado anteriormente, agregue "ColumnOrder.ColumnName" a Leyenday reemplace "CFD. ColumnName".

El informe se ordenará ahora por orden de columna correcto:

Ejemplo: versión de burndown : informe

Nota

Si los elementos de trabajo estaban en una columna que se ha eliminado desde entonces, aparecerán como "En blanco" en el informe anterior.

Extracción de datos de varios equipos

Si va a extraer datos de varios equipos para agregar entre equipos, debe asegurarse de que todos los equipos del informe tienen exactamente el mismo conjunto de columnas en sus paneles. De lo contrario, va a extraer columnas variables de todos los equipos. También es una buena idea agregar una visualización de segmentación al informe, con Team.TeamName como campo. Este paso permite un filtro rápido del informe por equipo.

Lista completa de informes de ejemplo