Página 1 de 1

Coluna Intervalo de meses na dcalendario

Enviado: 23 Mai 2020 às 09:50
por marcosffm
Bom dia,

Gostaria de criar uma coluna condicional na tabela dcalendario conforme abaixo:

Set/2019 (primeiro da tabela calendário)
set/2019 a out/2019
set/2019 a nov/2019
set/2019 a dez/2019
set/2019 a jan/2020

E assim por diante. Repete o primeiro mês e agrega com o mês atual.
Minha ideia é conseguir o primeiro mês e concatenar com o mês atual tipo assim:

List.First(List.Distinct(dCalendario[Mês Ano]))&[Mes/Ano]

O problema dessa formula é que preciso transforma a lista em texto e está dando o erro: "Expression.Error: Uma referência cíclica foi encontrada durante a avaliação."

Caso não tenha ficado claro, favor retornar.

Re: Coluna Intervalo de meses na dcalendario

Enviado: 23 Mai 2020 às 14:44
por gfranco
Boa tarde.
Geralmente a granularidade de uma tabela calendário é diária e seu exemplo demonstra (ao meu ver) uma granularidade diferente.
Penso que seria interessante postar um modelo (pode ser até em excel mesmo) demonstrando seu real cenário e o objetivo desejado (inserido manualmente).
Para postar um modelo, clique em +Resposta e localize esta opção abaixo da janela de digitação.

Re: Coluna Intervalo de meses na dcalendario

Enviado: 24 Mai 2020 às 00:24
por babdallas
Não entendi muito bem para que serve esta coluna, mas veja se ajuda:
Código: Selecionar todos
let
    DataIni = #date(2019,9,1),
    DataFim = Date.EndOfMonth(DateTime.Date((DateTime.LocalNow()))),
    ListaDatas = List.Dates(DataIni, Number.From(DataFim-DataIni)+1, #duration(1,0,0,0)),
    ConverteEmTabela = Table.FromList(ListaDatas, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    RenomeiaParaData = Table.RenameColumns(ConverteEmTabela,{{"Column1", "Data"}}),
    TipoData = Table.TransformColumnTypes(RenomeiaParaData,{{"Data", type date}}),
    AdicionaColAno = Table.AddColumn(TipoData, "Ano", each Date.Year([Data]), Int64.Type),
    AdicionaColNomeMes = Table.AddColumn(AdicionaColAno, "NomeMes", each Text.Start(Text.Proper(Date.MonthName([Data])),3), type text),
    PrimeiroMesAno = List.First(AdicionaColNomeMes[NomeMes]) & "/" & Text.From(List.First(AdicionaColNomeMes[Ano])),
    AdicionaColMesAnoIni_MesAno = Table.AddColumn(AdicionaColNomeMes, "MesIni_AnoIni a MesAno", each PrimeiroMesAno & " a " & _[NomeMes] & "/" & Text.From(_[Ano]), type text)
in
    AdicionaColMesAnoIni_MesAno