Cálculo del tiempo de in state para una vista de Analytics existente

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

El tiempo que un elemento de trabajo pasa en un estado o serie de estados específicos es un aspecto importante para comprender la eficacia. Los widgets Cycle Time y Lead Time Analytics proporcionan algunas medidas de tiempo en estado. Sin embargo, es posible que estos widgets no tengan el nivel de detalle que desea.

En este artículo se proporciona una serie de recetas que usan cálculos DAX para evaluar el tiempo empleado por los elementos de trabajo en cualquier combinación de estados. En concreto, aprenderá a agregar las siguientes columnas calculadas y una medida y a usarlas para generar varios gráficos de tendencias. (Todos los campos son columnas calculadas excepto la primera lista).

  • Recuento de elementos de trabajo (medida)
  • Criterio de ordenación de estado
  • Fecha anterior
  • Diferencia de fecha en días
  • Es el último día en estado
  • Hora de estado en días
  • Estado anterior
  • Estado cambiado
  • Estado Flow
  • Nº de cambios de estado
  • Recuento de cambios de estado: última propuesta
  • Hora de reinicio del estado en días
  • Hora de estado en días: en curso

Importante

  • Al agregar una columna o medida calculada según los ejemplos que se muestran en este artículo, reemplace Nombre de vista por el nombre de la tabla para la vista analytics. Por ejemplo, reemplace View Name por Stories - Last 30 days (Ver nombre por Casos: últimos 30 días).

    Analytics view name table)
  • Las vistas de análisis no admiten revisiones dentro del día. Estos ejemplos tienen la mayor precisión al usar un intervalo diario para la vista Analytics.
  • Los cálculos omiten todas las revisiones dentro del día o dentro del período (semanal o mensual). Esto puede dar lugar a resultados inesperados para escenarios específicos, como un elemento de trabajo que no muestra ninguna hora "En curso" cuando un elemento de trabajo está "En curso" durante menos de un día.
  • Power BI agregaciones predeterminadas se usan siempre que sea posible en lugar de crear medidas.
  • Algunos cálculos incluirán +0 para asegurarse de que se incluye un valor numérico para cada fila en lugar de BLANK. Es posible que tenga que revisar algunas de las definiciones de columna calculadas en función de los estados de flujo de trabajo usados por el proyecto. Por ejemplo, si el proyecto usa "New", "Active" y "Closed" en lugar de "Proposed", "In Progress" y "Completed".

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 le agregará. 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 de Azure DevOps servicio de mantenimiento.
  • Para usar vistas de Analytics,habilite la característica vista previa vistas de Analytics 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 le agregará. 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 de Azure DevOps servicio de mantenimiento.
  • Para usar vistas de Analytics,habilite la característica vista previa vistas de Analytics 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.

Agregar la medida Recuento de elementos de trabajo

Para simplificar la generación rápida de informes, hemos diseñado vistas de Analytics para trabajar con agregaciones predeterminadas en Power BI. Para ilustrar la diferencia entre una agregación predeterminada y una medida, empezamos con una medida simple de recuento de elementos de trabajo.

  1. Cargue el Power BI pbix asociado a la vista en Power BI Desktop. Para obtener más información, consulte Conectar con Power BI Data Connector.

  2. En la sección Cálculos de la pestaña Modelado de la cinta de opciones, elija Nueva medida.

    Power BI, Modeling tab, New Measure

  3. Reemplace el texto predeterminado por el código siguiente y, a continuación, seleccione la marca de verificación.

    Work Items Count = 
    CALCULATE (
        COUNTROWS ( 'View Name' ),
        LASTDATE ( 'View Name'[Date] )
    )
    

    La medida Recuento de elementos de trabajo usa las funciones DAX , y que se describen con más detalle más adelante en este COUNTROWSLASTDATECOUNTROWS

    Nota

    No olvide reemplazar View Name por el nombre de la tabla de la vista analytics. Por ejemplo, aquí reemplazamos Ver nombre porCasos: Últimos 30 días.

    Power BI, Modeling tab, Work Items Measure

Comprender la diferencia entre una medida y una columna calculada

Antes de describir las demás funciones que va a crear, querrá comprender la diferencia entre una medida y una columna calculada. En concreto, una medida siempre evalúa toda la tabla donde una columna calculada es específica de una sola fila.

Compare la medida Recuento de elementos de trabajo con la agregación de recuento predeterminada en función del identificador de elemento de trabajo:

Count of Work Items

Para obtener el recuento correcto mediante una agregación predeterminada, aplique el filtro Is Current es igual a "True". Este patrón de aplicación de filtros a una agregación predeterminada será la base de muchos de los ejemplos proporcionados en este artículo.

Current count of Work Items

Agregar criterio de ordenación de estado

De forma predeterminada, Power BI mostrará los estados ordenados alfabéticamente en una visualización. Puede ser confuso cuando desea visualizar el tiempo en estado y Propuesto aparece después de En curso.

Los pasos siguientes le ayudarán a resolver este problema.

  1. Compruebe que el campo Categoría de estado está incluido en la vista Análisis. Este campo se incluye en todas las vistas compartidas predeterminadas.

  2. Elija Nueva columna y reemplace el texto predeterminado por el código siguiente y, a continuación, seleccione la marca de verificación.

    State Sort Order =  
    SWITCH (  
        'View Name'[State Category],  
        "Proposed", 1,  
        "InProgress", 2,  
        "Resolved", 3,  
        4  
    )  
    

    Nota

    Es posible que tenga que revisar la definición si necesita más granularidad de la que proporciona la categoría de estado. Categoría de estado proporciona una ordenación correcta en todos los tipos de elementos de trabajo, independientemente de las personalizaciones de estado.

  3. Abra la vista Datos y seleccione el campo Estado.

    Data view, Select state field

  4. En la pestaña Herramientas de columna (vista Datos), elija Ordenar por columna y, a continuación, seleccione el campo Criterio de ordenación de estado.

    Modeling tab, Sort by Column, Choose State Sort Order

Agregar fecha anterior

El siguiente paso para calcular el tiempo en estado requiere la asignación del intervalo anterior (día, semana, mes) para cada fila de datos del conjunto de datos. Es un cálculo simple mediante una columna calculada. Normalmente, definiría esta columna como se muestra.

Date Previous  = 
PREVIOUSDAY ( 'View Name'[Date] )

Sin embargo, este enfoque tiene dos problemas principales:

  • Solo funciona durante períodos diarios.
  • No controla las brechas en los datos. Por ejemplo, si un elemento de trabajo se mueve entre proyectos.

Para resolver estos problemas, la columna calculada debe encontrar el día anterior analizando el campo Fecha.

Para agregar la columna calculada Fecha anterior, en la pestaña Modelado, elija Nueva columna y, a continuación, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

Date Previous =
CALCULATE (
    MAX ( 'View Name'[Date] ),
        ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
        'View Name'[Date] < EARLIER ( 'View Name'[Date] )
)

Esta columna calculada usa tres funciones DAX, , y , que se describen con más detalle MAX más adelante en este ALLEXCEPTEARLIERMAX Tenga en cuenta que, dado que esta columna es una columna calculada, se ejecuta para cada fila de la tabla y cada vez que se ejecuta tiene el contexto de esa fila específica.

Table report, Title, Date, and Previous Date selected

Sugerencia

En el menú contextual de los campos Fecha y Fecha anterior, elija Fecha (en lugar de Jerarquía de fechas)para ver una fecha única para estos campos.

Agregar diferencia de fecha en días

Fecha Anterior calcula la diferencia entre la fecha anterior y la actual de cada fila. Con diferencia de fecha en días,calcularemos un recuento de días entre cada uno de esos períodos. Para la mayoría de las filas de una instantánea diaria, el valor será igual a 1. Sin embargo, para muchos elementos de trabajo que tienen espacios en el conjunto de datos, el valor será mayor que 1.

Importante

Requiere que haya agregado la columna calculada Fecha anterior a la tabla.

Es importante tener en cuenta el primer día del conjunto de datos donde Fecha anterior está en blanco. En este ejemplo, se da a esa fila un valor estándar de 1 para mantener el cálculo coherente.

En la pestaña Modelado, elija Nueva columna, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

Date Diff in Days =
IF (
    ISBLANK ( 'View Name'[Date Previous] ),
    1,
    DATEDIFF (
        'View Name'[Date Previous],
        'View Name'[Date],
        DAY
    )
)

Esta columna calculada usa las ISBLANK funciones DAX y que se DATEDIFFISBLANK

Agregar es el último día en estado

En este paso siguiente, calculamos si una fila determinada representa el último día en que un elemento de trabajo específico estaba en un estado. Admite agregaciones predeterminadas en Power BI con la siguiente columna que agregaremos, la hora de estado en días.

En la pestaña Modelado, elija Nueva columna, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

Is Last Day in State = 
ISBLANK (CALCULATE (
    COUNTROWS ( 'View Name' ),
        ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
        'View Name'[Date] > EARLIER ( 'View Name'[Date] ),
        'View Name'[State] = EARLIER ( 'View Name'[State] )
))

Agregar hora de estado en días

El tiempo que un elemento de trabajo ha pasado en un estado específico ahora se puede calcular sumando la diferencia de fecha en días para cada elemento de trabajo. Este cálculo incluirá todo el tiempo empleado en un estado específico, incluso si ha cambiado entre estados varias veces. Es posible evaluar cada fila como una tendencia mediante Date o la información más reciente mediante Is Last Day In State.

Importante

Requiere que haya agregado las columnas calculadas Diferencia de fecha en días y Último día en estado a la tabla.

En la pestaña Modelado, elija Nueva columna, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

State Time in Days = 
CALCULATE (
    SUM ( 'View Name'[Date Diff in Days] ),
    ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
    'View Name'[Date] <= EARLIER ( 'View Name'[Date] ),
    'View Name'[State] = EARLIER ( 'View Name'[State] )
) + 0

Para mostrar la columna Hora de estado en días, el informe siguiente incluye un gráfico (superior) que muestra un único elemento de trabajo y el estado en el que estaba cada día. El segundo gráfico (parte inferior) muestra el tiempo que este elemento de trabajo ha empleado en cada estado a lo largo del tiempo. Observe que el estado aumenta en uno cada día hasta que pasa al siguiente estado.

Trend of the Average Time in State

Creación de un gráfico de tendencias basado en la hora de estado en días

Puede crear un gráfico de tendencias de un tiempo promedio de estado en todos los elementos de trabajo que estaban en ese estado en un día determinado mediante la columna calculada State Time in Days (Hora de estado en días) y Date (Fecha).

Para demostrarlo, se actualiza la misma visualización usada anteriormente para mostrar un promedio en todos los elementos de trabajo. Esta representación puede ayudar a comprender la cantidad de trabajo en curso y cómo afecta al tiempo general en el estado de los equipos. Este equipo tiene un patrón de compromiso de trabajo en el que no está listo para empezar a trabajar. Los datos del informe siguiente se basan en datos diferentes de los del informe anterior.

Trend chart based on State Time in Days.

Agregar hora de estado en días: más reciente (último día en estado)

Al evaluar el tiempo en estado para cada elemento de trabajo de una tabla o cuando se filtra por un campo como Ruta de acceso de área ,no use la columna Hora de estado en días en una agregación. La agregación usará el valor para cada día que el elemento de trabajo estaba en el estado . Por ejemplo, si un elemento de trabajo estaba en curso el lunes y se movió a Completado el jueves, el período de tiempo es de tres días, pero la suma de la columna Tiempo de estado en días es de seis días (1+2+3), lo que es claramente incorrecto.

Add State Time in Days - Latest.

Para resolver este problema, use State Time in Days (Hora de estado en días) y aplique el filtro Is Last Day In State (El último día en estado) es igual a "True". Elimina todos los datos históricos necesarios para una tendencia y, en su lugar, se centra solo en el valor más reciente de cada estado.

Use State Time in Days and apply the filter Is Last Day In State equals 'True'.

Agregar hora de estado en días : en curso

En los ejemplos anteriores, la hora de estado en días para un elemento de trabajo determinado solo se cuenta cuando el elemento de trabajo estaba en ese estado específico. Si su objetivo es tener el tiempo en estado de un recuento de elementos de trabajo determinado hacia un promedio continuamente, debe cambiar el cálculo. Por ejemplo, si queremos realizar un seguimiento del estado "En curso", agregamos la columna calculada State Time in Days - In Progress (Hora de estado en días: en curso).

En la pestaña Modelado, elija Nueva columna, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

State Time in Days - In Progress = 
CALCULATE (
    SUM ( 'View Name'[Date Diff in Days] ),
    ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
   'View Name'[Date] <= EARLIER('View Name'[Date]),
   'View Name'[State] = "In Progress"
) + 0

Nota

Es posible que tenga que revisar la definición en función de los estados de flujo de trabajo usados por el proyecto. Por ejemplo, el proyecto usado en los ejemplos de este artículo usa el estado de flujo de trabajo "En curso", pero los procesos Agile, Scrum y CMMI suelen usar los estados "Activo" o "Confirmado" para representar el trabajo en curso. Para obtener información general, vea Estados de flujo de trabajo y categorías de estado.

En la imagen siguiente se muestra el efecto de tener en cuenta todo el tiempo en estado para cada elemento de trabajo existente (que se muestra a la izquierda) frente solo a los elementos de trabajo en un estado específico en un día determinado (se muestra a la derecha).

Trend Comparison of the Average Time in State

Tendencia de tiempo de estado en días de varios estados

El análisis del rendimiento en varios estados también es posible mediante el patrón "Continuo". Sin embargo, este enfoque solo funciona con un gráfico de tendencias.

En la pestaña Modelado, elija Nueva columna, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

State Time in Days - Working States = 
CALCULATE (
    SUM ( 'View Name'[Date Diff in Days] ),
    ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
   'View Name'[Date] <= EARLIER('View Name'[Date]),
   'View Name'[State] IN { "Committed", "In Progress" }
) + 0

Nota

Es posible que tenga que revisar la definición en función de los estados de flujo de trabajo usados por el proyecto. Por ejemplo, si el proyecto usa "Active" en lugar de "Committed" o "Proposed".

El gráfico de la izquierda muestra el promedio combinado, mientras que el lado derecho muestra cada estado individual.

Trend Comparison of multiple states

Obtener la hora de estado en días: más reciente para varios estados

La columna calculada State Time in Days- Latest (Hora de estado en días: más reciente) se usa al crear una tendencia. Con un filtro en los estados, la columna State Time in Days (Hora de estado en días) y Is Last Day in State (Es el último día en estado) proporciona una manera sencilla de obtener el tiempo total que cualquier elemento de trabajo o grupo de elementos de trabajo ha empleado en un conjunto de estados.

Latest Time in States

Agregar estado anterior

La columna calculada Fecha anterior también se puede usar para buscar valores anteriores, como el estado anterior, para cada elemento de trabajo.

Importante

Requiere que haya agregado la columna calculada Fecha anterior a la tabla.

En la pestaña Modelado, elija Nueva columna, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

State Previous =
LOOKUPVALUE (
    'View Name'[State],
    'View Name'[Work Item Id], 'View Name'[Work Item Id],
    'View Name'[Date], 'View Name'[Date Previous]
)

Esta columna calculada usa LOOKUPVALUE , que se describe más adelante en este LOOKUPVALUE

El primer LOOKUPVALUE parámetro, 'View Name'[State] , especifica que se devuelva el valor de [State].

El parámetro siguiente, , especifica que solo se deben tener en cuenta las filas con un identificador de elemento de trabajo coincidente como fila 'View Name'[Work Item Id], 'View Name'[Work Item Id] actual.

Y, el último parámetro, , especifica que la fecha de la fila que se devuelve debe tener una [Fecha] que coincida con 'View Name'[Date], 'View Name'[Date Previous] la [Fecha anterior] de la fila actual. En una instantánea, solo una fila puede cumplir estos criterios.

Agregar estado cambiado

Con la columna Estado anterior, podemos marcar las filas de cada elemento de trabajo donde se ha producido una transición de estado. La columna calculada Stage Changed que agregará tiene dos consideraciones especiales:

  • Los valores en blanco de State Previous se establecerán en la fecha de creación del elemento de trabajo.
  • La creación de un elemento de trabajo se considera una transición de estado

Importante

Requiere que haya agregado la columna calculada Estado anterior a la tabla.

En la pestaña Modelado, elija Nueva columna, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

State Changed =
IF (
    ISBLANK ( 'View Name'[State Previous] ),
    'View Name'[Created Date].[Date] = 'View Name'[Date],
    'View Name'[State Previous] <> 'View Name'[State]
)

La columna calculada es un valor booleano que identifica si la fila es una transición de estado. Mediante el operador , se capturan correctamente las filas en las que el estado anterior no coincide con el estado actual, lo que significa que la comparación Not Equal To devuelve True según lo previsto.

Agregar estado Flow

Con las columnas calculadas Estado anterior y Cambio de estado, puede crear una columna que le ayudará a ilustrar el estado Flow para un elemento de trabajo determinado. La creación de esta columna es opcional para los fines de este artículo.

Importante

Requiere que haya agregado las columnas calculadas Estado anterior y Cambio de estado a la tabla.

En la pestaña Modelado, elija Nueva columna, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

State Flow = 
IF([State Changed], [State Previous], [State]) & " => " & [State]

Agregar recuento de cambios de estado

A medida que avanzamos en las medidas más complicadas, es necesario tener una representación del número total de cambios de estado para comparar las filas de un dato de un elemento de trabajo determinado. Para obtener la representación, se agrega una columna calculada Recuento de cambios de estado.

Importante

Requiere que haya agregado la columna calculada State Changed a la tabla.

En la pestaña Modelado, elija Nueva columna, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

State Change Count = 
CALCULATE (
    COUNTROWS ( 'View Name' ),
    ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
    'View Name'[Date] <= EARLIER ( 'View Name'[Date] ),
    'View Name'[State Changed]
) + 0

Agregar recuento de cambios de estado: última propuesta y hora de reinicio de estado en días

Calcular los reinicios, tiempo de reinicio de estado en días, es un cálculo bastante complejo. El primer paso consiste en buscar la última vez que un elemento de trabajo estaba en un estado propuesto. Agregue la columna calculada State Change Count - Last Proposed (Recuento de cambios de estado: última propuesta).

Nota

Es posible que tenga que revisar las definiciones siguientes en función de los estados de flujo de trabajo utilizados por el proyecto. Por ejemplo, si el proyecto usa "New" en lugar de "Proposed".

En la pestaña Modelado, elija Nueva columna, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

State Change Count - Last Proposed = 
CALCULATE (
    MAX ( 'View Name'[State Change Count] ),
    ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
    'View Name'[Date] <= EARLIER ( 'View Name'[Date] ),
    'View Name'[State] = "Proposed"
)

A continuación, vuelva al pasado y vea si había algunos estados activos antes de este estado propuesto. Por último, sume todos los días en los que el elemento de trabajo estaba en estado activo antes de la última propuesta.

En la pestaña Modelado, elija Nueva columna, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

State Restart Time in Days = 
CALCULATE (
    SUM ( 'View Name'[Date Diff in Days] ),
    ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
    'View Name'[Date] <= EARLIER ( 'View Name'[Date] ),
    'View Name'[State Change Count] < EARLIER('View Name'[State Change Count - Last Proposed] ),
    'View Name'[State] <"Proposed"
) + 0

Puesto que la hora de reinicio de estado en días se actualiza para cada fila de datos, puede crear una tendencia para evaluar el retrabajo en sprints específicos o examinar el reelaje de elementos de trabajo individuales mediante "Is Current".

Agregar tiempo de trabajo de estado en días

De forma similar a La hora de reiniciodel estado en días , el tiempo de reelaje de estado en días busca la primera vez que un elemento de trabajo estaba en la categoría Estado completado. Después de ese tiempo, cada día que un elemento de trabajo pasa en un estado distinto de Completado, cuenta como retrabajo.

En la pestaña Modelado, elija Nueva columna, reemplace el texto predeterminado por el código siguiente y seleccione la marca de verificación.

State Rework Time in Days = 
IF (
    ISBLANK ( 'View Name'[State Change Count - First Completed] ),
    0,
    CALCULATE (
        SUM ( 'View Name'[Date Diff in Days] ),
        ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
        'View Name'[Date] <= EARLIER ( 'View Name'[Date] ),
        'View Name'[State Change Count] EARLIER ( 'View Name'[State Change Count - First Completed] ),
        'View Name'[State] IN {"Completed", "Closed", "Cut" } = FALSE()
    ) + 0
)

Nota

Es posible que tenga que revisar la definición anterior en función de los estados de flujo de trabajo usados por el proyecto. Por ejemplo, si el proyecto usa "Done" en lugar de "Closed".

Funciones de DAX

En esta sección se proporciona información adicional sobre las funciones DAX que se usan para crear las columnas calculadas y la medida agregada en este artículo.

  • CALCULATE: esta función es la base de casi todos los ejemplos. La estructura básica es una expresión seguida de una serie de filtros que se aplican a la expresión.

  • COUNTROWS: esta función, COUNTROWS ( 'View Name' ) , simplemente cuenta el número de filas que permanecen después de aplicar los filtros.

  • LASTDATE: aplicamos el filtro a una expresión, por ejemplo , para buscar la fecha más reciente en todas las filas de la tabla y eliminar las filas que no comparten LASTDATELASTDATE ( 'View Name'[Date] ) la misma fecha. Con la tabla de instantáneas generada por una vista de Analytics, este filtro elige eficazmente el último día del período seleccionado.

  • MAX: devuelve el valor numérico más grande de una columna o entre dos expresiones escalares. Aplicamos MAX ( 'View Name'[Date] ) , para determinar la fecha más reciente después de aplicar todos los filtros.

  • ALLEXCEPT: quita todos los filtros de contexto de la tabla, excepto los filtros que se han aplicado a las columnas especificadas. Básicamente, reduce las filas de la tabla a solo las que comparten el mismo identificador de elemento de trabajo ALLEXCEPT ('View Name'', 'View Name'[Work Item Id]) que la fila actual.

  • EARLIER: devuelve el valor actual de la columna especificada en un paso de evaluación externo de la columna mencionada. Por ejemplo, , reduce aún más el conjunto de datos a solo las filas que se produjeron antes de la fecha de la fila actual a la que se hace referencia 'View Name'[Date] < EARLIER ( 'View Name'[Date] ) mediante la EARLIER función . EARLIER no hace referencia a fechas anteriores, define específicamente el contexto de fila de la columna calculada.

  • ISBLANK: comprueba si un valor está en blanco y devuelve TRUE o FALSE. ISBLANK evalúa la fila actual para determinar si ISBLANK tiene un valor. Si no es así, la instrucción If establece la diferencia de fecha en días en 1.

  • DATEDIFF: devuelve el recuento de límites de intervalo cruzados entre dos fechas. DATEDIFF resta DATEDIFFanterior) de Date (Fecha anterior) para determinar el número de días entre ellos.

  • LOOKUPVALUE: devuelve el valor de LOOKUPVALUE para la fila que cumple todos los criterios especificados por search_columnName y search_value.