Compartilhar via


Adicionar uma medida de tempo no estado ao relatório do Power BI

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

O tempo que um item de trabalho gasta em um estado de fluxo de trabalho específico ou série de estados é um aspecto importante para entender a eficiência. Os widgets Tempo de Ciclo e Análise de Tempo de Cliente Potencial fornecem algumas medidas de tempo no estado. No entanto, esses widgets podem não ter o nível de detalhe desejado.

Este artigo fornece receitas usando DAX (Data Analysis Expressions) para avaliar o tempo gasto por itens de trabalho em uma combinação de estados. Especificamente, você aprenderá a adicionar a medida e as colunas calculadas a seguir aos relatórios do Power BI e usá-las para gerar vários gráficos de tendências. Todos os campos são colunas calculadas, exceto a primeira listada.

Contagem Descrição
Contagem de Itens de Trabalho (medida) Calcula a contagem de itens de trabalho distintos com base na entrada do último dia para o item de trabalho
Ordem de Classificação de Estado Adiciona uma coluna a ser usada para classificar estados de fluxo de trabalho com base na sequência de Categoria de Estado
Data Anterior Adiciona uma coluna que calcula a data anterior com base na coluna Data
Comparação de data em dias Adiciona uma coluna que calcula o número de dias entre as colunas Data e Data Anterior
É o último dia no estado Adiciona uma coluna que determina se o valor date é o último dia em que o item de trabalho estava em um estado
Tempo de Estado em Dias Adiciona uma coluna que calcula o número de dias que o item de trabalho gastou em cada estado
Estado Anterior Adiciona uma coluna que identifica o estado anterior para cada linha na tabela de dados
Estado Alterado Adiciona uma coluna que determina a data em que um item de trabalho fez a transição de um Estado para outro
Fluxo de Estado Adiciona uma coluna que ilustra o fluxo de estado à medida que um item de trabalho faz a transição de um Estado para outro
Contagem de Alterações de Estados Adiciona uma coluna que calcula o número de vezes que um item de trabalho fez a transição de um Estado para outro
Contagem de alterações de estado - concluída pela primeira vez Adiciona uma coluna que determina o número de vezes que um item de trabalho faz a transição para o estado Concluído pela primeira vez. Em outras palavras, quando ele se move de qualquer outro estado para o estado Concluído.
Contagem de Alterações de Estado – Última Proposta Adiciona uma coluna que determina se um item de trabalho estava em um estado Proposto anteriormente após a transição para um estado posterior
Tempo de reinicialização do estado em dias Adiciona uma coluna que calcula os dias que um item de trabalho gastou em um estado de reinicialização
Tempo de retrabalho de estado em dias Adiciona uma coluna que calcula os dias que um item de trabalho gasta em um estado diferente de Concluído

Importante

  • Ao adicionar uma coluna calculada ou medida de acordo com os exemplos mostrados neste artigo, substitua Nome da Exibição pelo nome da tabela para a exibição análise ou tabela de dados. Por exemplo, substitua Nome da Exibição por Bugs Ativos.
    Captura de tela da guia Ferramentas de Tabela do Power BI, Nome da tabela de dados.
  • A análise não dá suporte a revisões intradiárias. Esses exemplos têm a maior precisão ao usar um intervalo diário ao referenciar uma exibição de Análise.
  • Todas as revisões intradia ou intra-período (semanal/mensal) são ignoradas pelos cálculos. Isso pode resultar em resultados inesperados para cenários específicos, como um item de trabalho que não mostra tempo "Em andamento" quando um item de trabalho está "em andamento" por menos de um dia.
  • As agregações padrão do Power BI são usadas sempre que possível, em vez de criar medidas.
  • Alguns cálculos incluem +0 para garantir que um valor numérico seja incluído para cada linha em vez de BLANK.
  • Talvez seja necessário revisar algumas das definições de coluna calculadas com base nos estados de fluxo de trabalho usados pelo projeto. Por exemplo, se o projeto usar Novo, Ativo e Fechado no lugar de Proposto, Em Andamento e Concluído.
  • A coluna Data mencionada neste artigo não é uma coluna nativa no Azure DevOps; É uma coluna derivada criada no PowerBI para facilitar o relatório Tempo no Estado . Você pode criar essa coluna usando as colunas existentes relacionadas à data, como "Data de Alteração" ou "Data de Alteração de Estado".

Pré-requisitos

Observação

Para exercer todas as medidas de tempo no estado descritas neste artigo, inclua os seguintes campos nas exibições de Análise, Power Query ou Consulta OData: Categoria de Data e EstadoCriadas, além dos campos padrão: Caminho da Área, Atribuído a, Caminho de Iteração, Estado, Título, ID do Item de Trabalho e Tipo de Item de Trabalho.

Além disso, considere usar uma exibição de Análise com base em uma granularidade diária. Os exemplos neste artigo baseiam-se na exibição análise de bugs ativos definida em Criar um relatório de bugs ativos no Power BI com base em uma exibição de Análise personalizada, com a exceção de que 60 dias de Histórico e Granularidade diária são selecionados. Determine também se você deseja examinar itens de trabalho concluídos ou fechados.

Adicionar uma medida de Contagem de Itens de Trabalho

Para simplificar a geração rápida de relatórios, projetamos exibições do Analytics para trabalhar com agregações padrão no Power BI. Para ilustrar a diferença entre uma agregação padrão e uma medida, começamos com uma medida simples de contagem de itens de trabalho.

  1. Carregue a exibição análise em Power BI Desktop. Para obter detalhes, consulte Conectar-se ao Conector de Dados do Power BI, Conectar-se a uma exibição de Análise.

  2. Selecione a tabela de dados e, na guia Ferramentas de tabela, seção Cálculos da faixa de opções , escolha Nova medida.

    Captura de tela da guia Ferramentas de Tabela do Power BI, Nova medida.

  3. Substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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

    A medida Contagem de Itens de Trabalho usa as CALCULATEfunções DAX , COUNTROWSe LASTDATE que são descritas mais detalhadamente mais adiante neste artigo.

    Observação

    Lembre-se de substituir o Nome da Exibição pelo nome da tabela para a exibição Análise. Por exemplo, aqui, substituímos o Nome da Exibição por bugs ativos.

    Captura de tela da guia Ferramentas de medida do Power BI, sintaxe contagem de itens de trabalho.

Como uma medida difere de uma coluna calculada

Uma medida sempre avalia a tabela inteira em que uma coluna calculada é específica para uma única linha. Para obter mais informações, consulte Colunas calculadas e medidas no DAX.

Compare a medida Contagem de Itens de Trabalho com a agregação de contagem padrão com base na ID do Item de Trabalho. A imagem a seguir é criada adicionando o visual Cartão e a medida Contagem de Itens de Trabalho ao primeiro cartão e a propriedade ID do Item de Trabalho ao segundo cartão.

Captura de tela da página de relatório do Power BI, dois cartões mostrando a medida Contagem de Itens de Trabalho e a propriedade ID do Item de Trabalho.

Para obter a contagem correta usando uma agregação padrão, aplique o filtro É atual igual a 'Verdadeiro'. Esse padrão de aplicação de filtros a uma agregação padrão é a base para muitos dos exemplos fornecidos neste artigo.

Captura de tela da página de relatório do Power BI, contagem de ID de item de trabalho filtrada.

Adicionar ordem de classificação de estado

Por padrão, o Power BI mostra estados classificados em ordem alfabética em uma visualização. Pode ser enganoso quando você deseja visualizar o tempo no estado e Proposed aparece após Em Andamento. As etapas a seguir ajudam a resolver esse problema.

  1. Verifique se o campo Categoria de Estado está incluído na exibição Análise. Esse campo está incluído em todos os modos de exibição compartilhados padrão.

  2. Selecione a tabela de dados e, na guia Ferramentas de tabela, seção Cálculos da faixa de opções , escolha Nova coluna.

    Captura de tela da guia Ferramentas de Tabela do Power BI, Nova coluna.

  3. Substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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

    Consulte o seguinte exemplo:

    Captura de tela da guia Ferramentas de Tabela do Power BI, entrada de categoria de estado.

    Observação

    Talvez seja necessário revisar a definição se precisar de mais granularidade do que a Categoria de Estado fornece. State Category fornece a classificação correta em todos os tipos de item de trabalho, independentemente de quaisquer personalizações de Estado .

  4. Abra a exibição Dados e selecione a coluna Estado .

  5. Na guia Ferramentas de Coluna , escolha Classificar por Coluna e, em seguida, selecione o campo Ordem de Classificação de Estado .

    Captura de tela da guia Ferramentas de coluna do Power BI, Seleção classificar por coluna.

Adicionar Data Anterior

A próxima etapa para calcular o tempo no estado requer o mapeamento do intervalo anterior (dia, semana, mês) para cada linha de dados no conjunto de dados. É um cálculo simples usando uma coluna calculada. Normalmente, você definiria essa coluna conforme mostrado.

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

No entanto, essa abordagem tem dois problemas principais:

  • Ele funciona apenas para períodos diários.
  • Ele não lida com lacunas nos dados. Por exemplo, se um item de trabalho for movido entre projetos.

Para resolver esses problemas, a coluna calculada deve encontrar o dia anterior verificando o campo Data .

Para adicionar a coluna calculada Data Anterior , na guia Ferramentas de tabela , escolha Nova Coluna e substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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

A coluna calculada Date Previous usa três funções DAX, MAX, ALLEXCEPTe EARLIER, descritas em mais detalhes posteriormente neste artigo. Como a coluna é calculada, ela é executada para cada linha da tabela e, cada vez que é executada, tem o contexto dessa linha específica.

Captura de tela do gráfico de tabelas do Power BI e da guia Visualização para Data e Data Anterior.

Dica

No menu de contexto dos campos Data e Data Anterior , escolha Data (em vez de Hierarquia de Datas) para ver uma única data para esses campos.

Adicionar Comparação de Data em Dias

Date Previous calcula a diferença entre a data anterior e a atual para cada linha. Com a Diferença de Data em Dias, calculamos uma contagem de dias entre cada um desses períodos. Para a maioria das linhas em um instantâneo diário, o valor é igual a 1. No entanto, para muitos itens de trabalho que têm lacunas no conjunto de dados, o valor é maior que 1.

Importante

Requer que você tenha adicionado a coluna calculada Data Anterior à tabela.

É importante considerar o primeiro dia do conjunto de dados em que Data Anterior está em branco. Neste exemplo, damos a essa linha um valor padrão de 1 para manter o cálculo consistente.

Na guia Modelagem , escolha Nova Coluna e substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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

Esta coluna calculada usa as ISBLANK funções e DATEDIFF DAX descritas posteriormente neste artigo.

Adicionar é o último dia no estado

Nesta próxima etapa, calculamos se uma determinada linha representa o último dia em que um item de trabalho específico estava em um estado. Ele dá suporte a agregações padrão no Power BI que adicionamos na próxima seção em que adicionamos a coluna Tempo de Estado em Dias .

Na guia Modelagem , escolha Nova Coluna e substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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] )
))

Adicionar tempo de estado em dias

O tempo que um item de trabalho gasto em um estado específico agora pode ser calculado somando a Comparação de Data em Dias para cada item de trabalho. Esse cálculo inclui todo o tempo gasto em um estado específico, mesmo que ele tenha alternado entre os estados várias vezes. É possível avaliar cada linha como uma tendência usando Data ou as informações mais recentes usando é o último dia no estado.

Importante

Requer que você tenha adicionado as colunas calculadas Date Diff in Days e Is Last Day in State à tabela.

Na guia Modelagem , escolha Nova Coluna e substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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

Criar gráficos de tendências de colunas empilhadas com base na Hora do Estado em Dias

Para demonstrar a coluna Tempo de Estado em Dias , os gráficos de colunas empilhadas a seguir são criados. O primeiro gráfico mostra a contagem de itens de trabalho em cada estado ao longo do tempo.

Captura de tela do gráfico de colunas empilhadas do Power BI e da guia Visualização que ilustra a contagem do título do item de trabalho por data e estado.

O segundo gráfico ilustra a tendência de dias médios em que os itens de trabalho ativos estão em um estado específico.

Captura de tela do gráfico de colunas empilhadas do Power BI e da guia Visualização que ilustra os dias médios no estado dos itens de trabalho por data.

Adicionar tempo de estado em dias – mais recente (é o último dia no estado)

Ao avaliar o tempo em estado para cada item de trabalho em uma tabela ou quando filtrado por um campo como Caminho da Área, não use a coluna Tempo de Estado em Dias em uma agregação. A agregação usa o valor para cada dia em que o item de trabalho estava no estado. Por exemplo, se um item de trabalho estava Em andamento na segunda-feira e foi movido para Concluído na quinta-feira, o tempo no estado é de três dias, mas a soma da coluna Hora do estado em dias é de seis dias, 1+2+3o que está incorreto.

Adicionar tempo de estado em dias – mais recente.

Para resolver esse problema, use a hora do estado em dias e aplique o filtro O último dia no estado é igual a 'Verdadeiro'. Ela elimina todos os dados históricos necessários para uma tendência e se concentra apenas no valor mais recente para cada estado.

Use a Hora do Estado em Dias e aplique o filtro É Último Dia no Estado é igual a 'True'.

Adicionar tempo de estado em dias – em andamento

Nos exemplos anteriores, o Tempo de Estado em Dias para um determinado item de trabalho só é contado quando o item de trabalho estava nesse estado específico. Se sua meta for ter o tempo no estado de uma determinada contagem de itens de trabalho para uma média continuamente, você deverá alterar o cálculo. Por exemplo, se quisermos acompanhar o estado "Em Andamento", adicionaremos a coluna calculada Tempo de Estado em Dias – Em Andamento .

Na guia Modelagem , escolha Nova Coluna e substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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

Observação

Talvez seja necessário revisar a definição com base nos estados de fluxo de trabalho usados pelo projeto. Por exemplo, o projeto usado nos exemplos neste artigo usa o estado de fluxo de trabalho 'Em Andamento', no entanto, os processos Agile, Scrum e CMMI normalmente usam os estados 'Ativo' ou 'Confirmado' para representar o trabalho em andamento. Para obter uma visão geral, consulte Estados de fluxo de trabalho e categorias de estado.

A imagem a seguir mostra o efeito de considerar todo o tempo no estado para cada item de trabalho existente (mostrado à esquerda) em comparação apenas com esses itens de trabalho em um estado específico em um determinado dia (mostrado à direita).

Comparação de tendências do tempo médio no estado

Tendência de Tempo de Estado em Dias de vários estados

A análise do desempenho em vários estados também é possível usando o padrão "Contínuo". No entanto, essa abordagem só funciona com um gráfico de tendências.

Na guia Modelagem , escolha Nova Coluna e substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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

Observação

Talvez seja necessário revisar a definição com base nos estados de fluxo de trabalho usados pelo projeto. Por exemplo, se o projeto usar 'Active' no lugar de 'Confirmado' ou 'Proposto'.

O gráfico da esquerda mostra a média combinada enquanto o lado direito mostra cada estado individual.

Comparação de tendências de vários estados

Obter a hora do estado em dias – mais recente para vários estados

Você usa a coluna calculada State Time in Days - Latest ao criar uma tendência. Com um filtro nos estados, a coluna Hora do Estado em Dias e É o Último Dia no Estado fornece uma maneira simples de obter o tempo total que qualquer item de trabalho ou grupo de itens de trabalho gastou em um conjunto de estados.

Hora mais recente em estados

Adicionar Estado Anterior

A coluna calculada Data Anterior também pode ser usada para pesquisar valores anteriores, como o estado anterior, para cada item de trabalho.

Importante

Requer que você tenha adicionado a coluna calculada Data Anterior à tabela.

Na guia Modelagem , escolha Nova Coluna e substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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

Esta coluna calculada usa o LOOKUPVALUE, descrito posteriormente neste artigo.

O primeiro LOOKUPVALUE parâmetro, 'View Name'[State], especifica para retornar o valor de [Estado].

O próximo parâmetro, 'View Name'[Work Item Id], 'View Name'[Work Item Id], especifica que apenas linhas com uma ID de item de trabalho correspondente como a linha atual devem ser consideradas.

E, o último parâmetro, 'View Name'[Date], 'View Name'[Date Previous], especifica que a data da linha que está sendo retornada deve ter uma [Data] que corresponda à [Data Anterior] da linha atual. Em um instantâneo, apenas uma linha pode atender a esses critérios.

Adicionar Estado Alterado

Usando a coluna State Previous , podemos sinalizar as linhas para cada item de trabalho em que ocorreu uma transição de estado. A coluna calculada Stage Changed tem duas considerações especiais:

  • Valores em branco de *State Previous, que definimos como a Data de Criação do item de trabalho
  • A criação de um item de trabalho é considerada uma transição de estado

Importante

Requer que você tenha adicionado a coluna calculada State Previous à tabela.

Na guia Modelagem , escolha Nova Coluna e substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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

A coluna calculada é um valor booliano que identifica se a linha é uma transição de estado. Usando o Not Equal To operador , você captura corretamente as linhas em que o estado anterior não corresponde ao estado atual, o que significa que a comparação retorna True conforme o esperado.

Adicionar Fluxo de Estado

Com colunas calculadas State Previous e State Changed , você pode criar uma coluna que ilustra o Fluxo de Estado para um determinado item de trabalho. A criação dessa coluna é opcional para fins deste artigo.

Importante

Exige que você tenha adicionado as colunas calculadas Estado Anterior e Estado Alterado à tabela.

Na guia Modelagem , escolha Nova Coluna e substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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

Adicionar Contagem de Alterações de Estado

À medida que avançamos para as medidas mais complicadas, precisamos ter uma representação do número total de alterações de estado para comparar as linhas de um dado para um determinado item de trabalho. Obtemos a representação adicionando uma coluna calculada Contagem de Alterações de Estado .

Importante

Requer que você tenha adicionado a coluna calculada State Changed à tabela.

Na guia Modelagem , escolha Nova Coluna e substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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

Adicionar Contagem de Alterações de Estado – Última Proposta e Tempo de Reinicialização de Estado em dias

O tempo de reinicialização do estado em dias é um cálculo bastante complexo. A primeira etapa é localizar a última vez que um item de trabalho estava em um estado proposto. Adicione a coluna calculada Contagem de Alterações de Estado – Última Proposta .

Observação

Talvez seja necessário revisar as definições a seguir com base nos estados de fluxo de trabalho usados pelo seu projeto. Por exemplo, se o projeto usar 'Novo' no lugar de 'Proposto'.

Na guia Modelagem , escolha Nova coluna e, em seguida, substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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"
)

Em seguida, olhe mais para trás para o passado e veja se havia alguns estados ativos antes desse estado proposto. Por fim, somar todos os dias em que o item de trabalho estava em estado ativo antes da última proposta.

Na guia Modelagem , escolha Nova Coluna e substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

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

Como o Tempo de Reinicialização de Estado em Dias é atualizado para cada linha de dados, você pode criar uma tendência para avaliar o retrabalho em sprints específicos ou examinar o retrabalho de itens de trabalho individuais usando Is Current.

Adicionar tempo de retrabalho de estado em dias

Semelhante ao Tempo de Reinicialização do Estado em Dias, o Tempo de Retrabalho do Estado em Dias procura a primeira vez que um item de trabalho estava na categoria de estado Concluído. Depois desse tempo, cada dia que um item de trabalho passa em um estado diferente de Concluído, conta como retrabalho.

  1. Crie a coluna "Contagem de Alterações de Estado - Primeira Conclusão". Essa coluna rastreia o número de vezes que um item de trabalho faz a transição para o estado Concluído de qualquer outro estado.

    State Change Count - First Completed =
    VAR CompletedState = "Completed"
    RETURN
    CALCULATE(
       COUNTROWS('YourTable'),
       FILTER(
           'YourTable',
           'YourTable'[State] = CompletedState
           && 'YourTable'[State Change Date] = MIN('YourTable'[State Change Date])
       )
    )
    
  2. Na guia Modelagem , escolha Nova Coluna e substitua o texto padrão pelo código a seguir e selecione a marca de seleção.

    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
    )
    

    Observação

    Talvez seja necessário revisar a definição anterior com base nos estados de fluxo de trabalho usados pelo projeto. Por exemplo, se o projeto usar Concluído no lugar de Fechado e assim por diante.

Funções DAX

Informações adicionais são fornecidas nesta seção para as funções DAX usadas para criar as colunas calculadas e a medida adicionada neste artigo. Consulte também DAX, Funções de inteligência de tempo.

Função Descrição
ALLEXCEPT Remove todos os filtros de contexto na tabela, exceto os filtros aplicados às colunas especificadas. Essencialmente, ALLEXCEPT ('View Name'', 'View Name'[Work Item Id]) reduz as linhas na tabela apenas para as que compartilham a mesma ID de item de trabalho que a linha atual.
CALCULATE Essa função é a base para quase todos os exemplos. A estrutura básica é uma expressão seguida por uma série de filtros que são aplicados à expressão.
COUNTROWS Essa função, COUNTROWS ( 'View Name' ), simplesmente conta o número de linhas que permanecem após a aplicação dos filtros.
DATEDIFF Retorna a contagem de limites de intervalo cruzados entre duas datas. DATEDIFF subtrai Data Anterior de Data para determinar o número de dias entre eles.
EARLIER Retorna o valor atual da coluna especificada em uma etapa de avaliação externa da coluna mencionada. Por exemplo, 'View Name'[Date] < EARLIER ( 'View Name'[Date] ) reduz ainda mais o conjunto de dados apenas para as linhas que ocorreram antes da data da linha atual referenciada usando a EARLIER função. EARLIER não se refere a datas anteriores; Ele define especificamente o contexto de linha da coluna calculada.
ISBLANK Verifica se um valor está em branco e retorna TRUE ou FALSE. ISBLANK avalia a linha atual para determinar se Date Previous tem um valor. Se não o fizer, a instrução If definirá Date Diff em Days como 1.
LASTDATE Aplicamos o LASTDATE filtro a uma expressão, por exemplo LASTDATE ( 'View Name'[Date] ), para localizar a data mais recente em todas as linhas da tabela e eliminar as linhas que não compartilham a mesma data. Com a tabela de instantâneos gerada por uma exibição análise, esse filtro escolhe efetivamente o último dia do período selecionado.
LOOKUPVALUE Retorna o valor em result_columnName para a linha que atende a todos os critérios especificados por search_columnName e search_value.
MAX Retorna o maior valor numérico de uma coluna ou entre duas expressões escalares. Aplicamos MAX ( 'View Name'[Date] ), para determinar a data mais recente depois que todos os filtros forem aplicados.