DATESINPERIOD
aplica-se a:coluna calculadatabela calculadaMeasurecálculo visual
Nota
Essa 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 dateand de início especificado continua para o número especificado and tipo de intervalos de date.
Essa função é adequada para passar como um filter para a função CALCULATE. Use-a 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
Prazo | 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 subtrair das datas. |
interval |
O intervalo pelo qual deslocar as datas. O value para intervalo pode ser um dos seguintes: DAY , MONTH , QUARTER , andYEAR |
Retornar value
Uma tabela que contém uma única coluna de datevalues.
Observações
No caso de uso mais comum,
dates
é uma referência à coluna date de uma tabela de date marcada.If o número especificado para
number_of_intervals
for positivo, as datas são movidas para frente em time; if o número for negativo, as datas serão alteradas para trás em time.O parâmetro
interval
é uma enumeração. Os values válidos sãoDAY
,MONTH
,QUARTER
, andYEAR
. Como é uma enumeração, values não são passadas como cadeias de caracteres. Portanto, não coloque-os entre aspas.A tabela retornada só pode conter datas armazenadas na coluna
dates
. Portanto, por exemplo, if a colunadates
começa 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.Essa função not tem suporte para uso no modo DirectQuery quando usada em colunas calculadas or regras de RLS (segurança em nível de linha).
Exemplo
A seguinte definição de
Observe que a fórmula usa a função MAX. Essa função retorna o date mais recente que está no contexto filter. Portanto, a função DATESINPERIOD retorna uma tabela de datas começando do date mais recente do 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 30 de junho de 2020. A função DATESINPERIOD retorna um daterange de 1º de julho de 2019 até 30 de junho de 2020. É uma 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)