DATESINPERIOD
Aplica-se a:Coluna calculadaTabela calculadaMeasureCálculo visual
Observação
Esta função é desencorajada para uso em cálculos visuais pois provavelmente retorna resultados sem sentido.
Retorna uma tabela que contains uma coluna de datas que começa com um início especificado dateand continua para o número especificado and tipo de intervalos de date.
Esta função é adequada para passar como um filter para a função CALCULATE. Use-o para filter uma expressão por intervalos de date padrão, como dias, meses, trimestres or anos.
Sintaxe
DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)
Parâmetros
Vigência | Definição |
---|---|
dates |
Uma coluna date. |
start_date |
Uma expressão date. |
number_of_intervals |
Um inteiro que especifica o número de intervalos a serem adicionados or subtraídos das datas. |
interval |
O intervalo pelo qual as datas devem ser alteradas. A value para o intervalo pode ser uma das seguintes: DAY , MONTH , QUARTER , andYEAR |
Regresso value
Uma tabela que contém uma única coluna de datevalues.
Comentários
No caso de uso mais comum,
dates
é uma referência à coluna date de uma tabela date marcada.If o número especificado para
number_of_intervals
for positivo, as datas são antecipadas em time; if o número for negativo, as datas são deslocadas para trás em time.O parâmetro
interval
é uma enumeração. Os values válidos sãoDAY
,MONTH
,QUARTER
, andYEAR
. Por ser uma enumeração, values não são passados como cadeias de caracteres. Portanto, não os coloque entre aspas.A tabela retornada só pode conter datas armazenadas na coluna
dates
. Assim, por exemplo, if a colunadates
começar a partir de 1º de julho de 2017 and ostart_date
value for 1º de julho de 2016, a tabela retornada começará a partir de 1º de julho de 2017.Esta função not é suportada para uso no modo DirectQuery quando usada em colunas calculadas or regras de segurança em nível de linha (RLS).
Exemplo
A seguinte tabela de vendas measure definição usa a função DATESINPERIOD para calculate a receita para o year anterior (PY).
Observe que a fórmula usa a função MAX. Essa função retorna o date mais recente que está no contexto filter. Assim, a função DATESINPERIOD retorna uma tabela de datas a partir do date mais recente para o lastyear.
Exemplos neste artigo podem ser usados com o modelo sample Adventure Works DW 2020 Power BI Desktop. Para obter o modelo, consulte DAXsample modelo.
Revenue PY =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-1,
YEAR
)
)
Considere que o relatório é filtrado pelo month de junho de 2020. A função MAX retorna em 30 de junho de 2020. Em seguida, a função DATESINPERIOD retorna um daterange de 1º de julho de 2019 até 30 de junho de 2020. É um year de datevalues a partir de 30 de junho de 2020 para o lastyear.
Related conteúdo
Time funções de inteligência (DAX)Dateandtime funções (DAX)DATESBETWEEN função (DAX)