Ô trem bão sô, bora falar de mais uma função dessas que faz a vida de quem mexe com Power BI ficar mais fácil que pão de queijo quentinho na mesa: a função STARTOFMONTH! Essa aqui é do tipo que te leva direto pro primeiro dia do mês sem nem precisar fazer conta. Parece mágica!
Imagina que você tá lá, no meio dos seus dados, cheio de datas, e quer saber qual é o início do mês pra cada uma delas. Pois é aí que entra a STARTOFMONTH. Ela pega qualquer data e devolve, de bandeja, o primeiro dia daquele mês. Igual mineiro que chega em casa e já pergunta: “Tem café?”. Vamos ver uns exemplos pra clarear essa ideia!
Exemplo 1: Simples e direto
STARTOFMONTH(Tabela[Data])
Aqui é o basicão. A função pega a coluna “Data” da sua tabela e retorna o primeiro dia do mês pra cada linha. Se a data for 15/10/2023, ela devolve 01/10/2023. É como perguntar “Que dia eu comecei a procrastinar em outubro?” e o Power BI já te fala!
Exemplo 2: Aplicando no cálculo
CALCULATE(SUM(Tabela[Vendas]), STARTOFMONTH(Tabela[Data]))
Agora, se você quiser somar as vendas a partir do primeiro dia de cada mês, tá aí o caminho. Vai que você tá tentando ver quando começou a vender mais pamonha ou queijo de coalho, né?
Exemplo 3: Filtrando datas
FILTER(Tabela, Tabela[Data] = STARTOFMONTH(Tabela[Data]))
Essa aqui é aquela pra você que gosta de filtrar só os primeiros dias de cada mês. A função vai pegar todas as datas da sua tabela e só vai deixar passar quem é o “primeirão” do mês, tipo o primeiro a chegar no boteco.
Exemplo 4: Comparação de inícios de mês
IF(STARTOFMONTH(Tabela[Data1]) = STARTOFMONTH(Tabela[Data2]), "Mesmo início", "Inícios diferentes")
Aqui o Power BI tá fazendo aquela comparação marota entre duas datas. Se o início do mês for o mesmo, ele te fala; senão, te dá uma resposta diferente. Tipo comparar quem chegou mais cedo na festa!
Exemplo 5: Usando com funções de tempo
DATESBETWEEN(Tabela[Data], STARTOFMONTH(Tabela[Data]), ENDOFMONTH(Tabela[Data]))
Essa mistura aqui é boa pra pegar o intervalo do mês inteirinho, do começo ao fim. Como quem já sabe que o mês de contas começa logo no dia 1º e termina no último… antes do sufoco do mês seguinte!
Exemplo 6: Primeiro dia do mês atual
STARTOFMONTH(TODAY())
Se você quiser saber o primeiro dia do mês em que a gente tá, basta usar o TODAY() junto com STARTOFMONTH. É igual você olhar o calendário e pensar: “Quando começou esse mês que tá parecendo uma eternidade?”
Exemplo 7: Calculando média a partir do início do mês
CALCULATE(AVERAGE(Tabela[Vendas]), STARTOFMONTH(Tabela[Data]))
Aqui você calcula a média de vendas desde o começo de cada mês. Ideal pra saber se o movimento tá crescendo ou se tá igual café que esfria na xícara.
Exemplo 8: Agrupando por início do mês
SUMMARIZE(Tabela, STARTOFMONTH(Tabela[Data]), "Total Vendas", SUM(Tabela[Vendas]))
Agrupando as vendas pelo primeiro dia do mês com o SUMMARIZE. Porque, né, nada como dar uma organizada nas coisas, igual a gente faz na casa antes da visita chegar.
Exemplo 9: Testando feriados
IF(STARTOFMONTH(Tabela[Data]) = "01/01/2024", "É ano novo!", "Não é ano novo")
Essa função te ajuda a verificar se o mês começa com algum feriado. No caso aqui, o ano novo. Bom pra já saber se o mês começou na folga ou no batente!
Exemplo 10: Criando uma coluna personalizada
ADDCOLUMNS(Tabela, "Primeiro Dia do Mês", STARTOFMONTH(Tabela[Data]))
Se você quiser criar uma coluna nova que já mostra o primeiro dia do mês pra cada data, tá aí o macete. Igual colocar uma plaquinha no início da estrada: “Aqui começa o mês”.
E aí, deu pra entender a tal da STARTOFMONTH? Mais fácil que pão de queijo e mais certeiro que o trem das seis!