Skip to content

Instantly share code, notes, and snippets.

@paulofellix
Last active August 19, 2021 15:18
Show Gist options
  • Save paulofellix/66a3bb88aff2ca24366f2bac1385880e to your computer and use it in GitHub Desktop.
Save paulofellix/66a3bb88aff2ca24366f2bac1385880e to your computer and use it in GitHub Desktop.
[PowerBI] PowerBI Snippets
dCalendario =
VAR Calendario =
CROSSJOIN(
CALENDAR ("2020-01-01", TODAY()),
UNION (
ROW ( "Time", TIME ( 1, 0, 0 ) ),
ROW ( "Time", TIME ( 2, 0, 0 ) ),
ROW ( "Time", TIME ( 3, 0, 0 ) ),
ROW ( "Time", TIME ( 4, 0, 0 ) ),
ROW ( "Time", TIME ( 5, 0, 0 ) ),
ROW ( "Time", TIME ( 6, 0, 0 ) ),
ROW ( "Time", TIME ( 7, 0, 0 ) ),
ROW ( "Time", TIME ( 8, 0, 0 ) ),
ROW ( "Time", TIME ( 9, 0, 0 ) ),
ROW ( "Time", TIME ( 10, 0, 0 ) ),
ROW ( "Time", TIME ( 11, 0, 0 ) ),
ROW ( "Time", TIME ( 12, 0, 0 ) ),
ROW ( "Time", TIME ( 13, 0, 0 ) ),
ROW ( "Time", TIME ( 14, 0, 0 ) ),
ROW ( "Time", TIME ( 15, 0, 0 ) ),
ROW ( "Time", TIME ( 16, 0, 0 ) ),
ROW ( "Time", TIME ( 17, 0, 0 ) ),
ROW ( "Time", TIME ( 18, 0, 0 ) ),
ROW ( "Time", TIME ( 19, 0, 0 ) ),
ROW ( "Time", TIME ( 20, 0, 0 ) ),
ROW ( "Time", TIME ( 21, 0, 0 ) ),
ROW ( "Time", TIME ( 22, 0, 0 ) ),
ROW ( "Time", TIME ( 23, 0, 0 ) ),
ROW ( "Time", TIME ( 24, 0, 0 ) )
)
)
RETURN
GENERATE (
Calendario,
VAR DataBase = [Date]
VAR Dia = DAY(DataBase)
VAR Ano = YEAR ( DataBase )
VAR Mes = MONTH ( DataBase )
VAR AnoMes = Ano * 12 + Mes - 1
VAR Hoje = IF(DataBase = TODAY(), "Hoje", FORMAT(DataBase, "dd"))
RETURN ROW (
"Dia", Dia,
"Mês", Mes,
"Mês-Nome", FORMAT ( DataBase, "mmmm" ),
"Mês-Ano", FORMAT(DataBase, "mm/yyyy"),
"Mês-Nome-Ano", FORMAT(DataBase, "mmm/yyyy"),
"Mês Atual", IF(AND(FORMAT(TODAY(), "mm") = FORMAT(DataBase, "mm"), FORMAT(TODAY(), "yyyy") = FORMAT(DataBase, "yyyy")), "Sim", "Não"),
"Ano", Ano,
"Data", Hoje,
"Hora", DataBase + [Time],
"Contagem-Mês-Ano", 12 * (Ano - 2020) + Mes,
"Dia-Mês", FORMAT(DataBase, "dd") & "/" & FORMAT(DataBase, "mm")
)
)
Medida =
VAR vHorasDecimal = [NUMERO DECIMAL EM HORAS]
VAR vHoras = INT ( vHorasDecimal )
VAR vMinutosDecimal = 60 * ( vHorasDecimal - vHoras )
VAR vMinutos = INT ( vMinutosDecimal )
VAR vSegundos = ROUND ( 60 * ( vMinutosDecimal - vMinutos ), 0 )
VAR vHH = IF ( LEN ( vHoras ) = 1, "0" & vHoras, vHoras )
VAR vMM = IF ( LEN ( vMinutos ) = 1, "0" & vMinutos, vMinutos )
VAR vSS = IF ( LEN ( vSegundos ) = 1, "0" & vSegundos, vSegundos )
RETURN
CONVERT ( vHH & vMM && vSS, INTEGER )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment