-- Exemplo de classificação utilizando o SWITCH
NovaColuna =
SWITCH (
TRUE (),
A_QP_SQL[TEMPO_CASA_DIA] < 3650, "Entre 0 a 10 anos",
A_QP_SQL[TEMPO_CASA_DIA] < 7300, "Entre 10 a 20 anos",
"Maior que 20 anos de empresa"
)
--- Extrair e concatenar texto e posteriormente transformá-lo em formato de data:
data_ref = DATEVALUE(MID([Nome da Origem], 7,2) & "/" & MID([Nome da Origem], 4,2) & "/20" & MID([Nome da Origem], 1,2))
data_ref = MID([Data], 7,4) & MID([Data], 4,2) & MID([Data], 1,2)
--- Pegar a data final do mês anterior:
Medida = CONCATENATE("Data Ref.: ",EOMONTH(TODAY(),-1))
--- Pegar o mês de 12 meses atras:
Medida = EOMONTH(TODAY(),-13)
--- CALCULATE com DISTINCTCOUNT e FILTER
% SEDE = CALCULATE(DISTINCTCOUNT('layout power bi'[NOME]),FILTER('layout power bi','layout power bi'[SEDE OU UNID]="Sede"))
--- SOMAR com filtro
Medida = CALCULATE(SUM('tabela'[coluna]),FILTER('tabela', 'tabela'[colunaComCriterio] = "texto para filtrar"))
SOMA EIXO COMPOTAMENTAL = CALCULATE(SUM('BASE_T&D'[PREVISÃO]),FILTER('BASE_T&D', 'BASE_T&D'[EIXO DO TREIN.] = "COMPORTAMENTAL"))
AUTONOMOS_PJ_HORAS = CALCULATE(SUM(PJ_ARMG317[horas]))
COLAB FEMININO N GESTORAS = CALCULATE(COUNTROWS('A_QP_SQL'),'A_QP_SQL'[SEXO]="FEMININO",'A_QP_SQL'[GESTOR]="0")
Abono_Liberalidade = CALCULATE([Abono_Total],ABONO[CLASSIFICACAO_ABS]="LIBERALIDADE")
--- SOMAR tudo por coluna
Abono_Total = SUM(ABONO[HORA FINAL])
--- SOMAR com variável
SOMA LIBERALIDADE = VAR _qntLIBERALIDADE = COUNTAX(FILTER('ABONO',[CLASSIFICACAO_ABS]="LIBERALIDADE"),[CLASSIFICACAO_ABS]) RETURN IF(ISBLANK(_qntLIBERALIDADE),0,_qntLIBERALIDADE)
--- CONTAR com filtro
Medida = COUNTAX(FILTER('tabela',[colunaComCriterio]="texto para filtrar"),[colunaFiltro])
TOTAL EIXO COMPORTAMENTAL = COUNTAX(FILTER('BASE_T&D',[EIXO DO TREIN.]="COMPORTAMENTAL"),[EIXO DO TREIN.])
M.% GESTOR x F = COUNTAX(FILTER('A_QP_SQL',[SEXO]="FEMININO"),[GESTOR]) / COUNTAX(FILTER('A_QP_SQL',[SEXO]="FEMININO"),[SEXO])
--- CONTAR com 2 filtros ou +
M.QNT ESTAGIARIO TOTAL = CALCULATE(COUNTROWS('A_QP_SQL'),'A_QP_SQL'[CARGO]="ESTAGIARIO",'A_QP_SQL'[COD_SIT]="A")
--- CONTAR linhas
AUTONOMOS_CPSA = COUNTROWS(CPSA_ARMG317)
MEDIDA = COUNTX(FILTER('BASE_TAB', [RECEBIMENTO] IN {"mensalista", "horista"} && [demissao_ano] = 2023), 1)
O valor 1 é usado como segundo argumento da função COUNTX para contar o número de linhas não vazias na tabela filtrada.
--- MÉDIA
M.ATESTADOS.MEDIA.DIA = AVERAGE(BASE_ATESTADOs[DIAS DE ATESTADO])
--- DISTINCT COUNT
M.ATESTADOS.MEDIA.MENSAL = DIVIDE([M.ATESTADOS.TOTAL.ATESTADOS],DISTINCTCOUNT(BASE_ATESTADOs[MES_ANO]))
M.ATESTADOS.TOTAL.FUNC = DISTINCTCOUNT(BASE_ATESTADOs[CHAPA])
--- RANKING
M.ATESTADOS.TOTAL.ATESTADOS ranking = RANKX(ALL(BASE_ATESTADOs[DIAS DE ATESTADO]),[M.ATESTADOS.TOTAL.DIAS])
--- ARRENDONDAMENTO
M.PDC.SALDO = ROUND([M.QNT COLAB PCD]-[M. COTA PCD EXIGIDA],+0)
--- LINGUAGEM
Medida 2 = USERCULTURE()
--- NOME USUÁRIO
NomeUser = USERNAME()
--- divisão
QNT.DEMISSAO_% = ((([QNT.DEMISSAO_VOLUNTARIA]+[QNT.DEMISSAO_INVOLUNTARIA]) / [M.QNT COLABORADORES]) -1)
RESULT.AGP.TXT000 = CALCULATE(COUNTROWS(QP_EXCEL_ANT),FILTER(QP_EXCEL_ANT,QP_EXCEL_ANT[CLASSIFICACAO]="ADMINISTRATIVO"),FILTER(QP_EXCEL_ANT,QP_EXCEL_ANT[fn]="Mar.23")) / CALCULATE(COUNTROWS(QP_EXCEL_ANT),FILTER(QP_EXCEL_ANT,QP_EXCEL_ANT[CLASSIFICACAO]="ADMINISTRATIVO"),FILTER(QP_EXCEL_ANT,QP_EXCEL_ANT[fn]="Mar.22")) -1
--- IF
Se um determinado campo for em branco será retornado 0, se não, será calculado os dias úteis entre duas datas:
TempoAprovacaoDO_g2 = IF(ISBLANK('BASE_GERAL_TOTVS'[NOME_PARECER_GRUPO2]), 0, VALUE(abs(NETWORKDAYS('BASE_GERAL_TOTVS'[DATAPARECERGRUPO2], 'BASE_GERAL_TOTVS'[DATAPARECERGRUPO1]))))
com texto:
TempoAprovacaoDO_g2 = IF('BASE_GERAL_TOTVS'[NOME_PARECER_GRUPO2] = BLANK(), "SIM","NÃO")
*** VERIFICAR SE AS CONDIÇÕES SÃO VERDADEIRAS:
Verificar Cota =
SWITCH(TRUE(),
[PCD_QNT] = [COTA PCD], "COTA OK",
[PCD_QNT] < [COTA PCD], "COTA ABAIXO",
[PCD_QNT] > [COTA PCD], "SUPERIOR A COTA"
)
*** CONTAGEM DE FUNCIONÁRIOS ATIVOS
QP_ATUAL M.QNT NOME = CALCULATE( DISTINCTCOUNT('QP_ATUAL'[NOME_FUNCIONARIO]), ISBLANK('QP_ATUAL'[DATADEMISSAO]), 'QP_ATUAL'[DATAADMISSAO] <= TODAY(), NOT('QP_ATUAL'[COD_SIT] = "I" || 'QP_ATUAL'[COD_SIT] = "Z") )
OU
COLAB_QNT = COUNTROWS( FILTER( QP_ATUAL, NOT ( QP_ATUAL[COD_SIT] = "Z" || QP_ATUAL[COD_SIT] = "D" || QP_ATUAL[COD_SIT] = "I" ) && ISBLANK(QP_ATUAL[DATADEMISSAO]) ) )
*** CONTAGEM DE FUNCIONÁIRIOS DO GÊNERO MASCULINO
QP_ATUAL M.QNT COLAB M = CALCULATE( COUNTROWS('QP_ATUAL'), 'QP_ATUAL'[SEXO] = "MASCULINO", ISBLANK('QP_ATUAL'[DATADEMISSAO]), 'QP_ATUAL'[DATAADMISSAO] <= TODAY(), NOT('QP_ATUAL'[COD_SIT] = "I" || 'QP_ATUAL'[COD_SIT] = "Z") )
*** CONTAGEM DE PCDs
PCD_QNT =
COUNTROWS(
FILTER(
QP_ATUAL,
UPPER(QP_ATUAL[preenchecota]) = "SIM" &&
ISBLANK(QP_ATUAL[DATADEMISSAO])
)
)
*** COTA PCD COM ARREDONDAMENTO
COTA PCD = IF(MOD([COLAB_QNT] * 0.05, 1) < 0.5, FLOOR([COLAB_QNT] * 0.05, 1), CEILING([COLAB_QNT] * 0.05, 1))
*** OPÇÕES DE TITULOS DE ACORDO COM O QUE O USUÁRIO SELECIONA NO FILTRO
Título demografia 1 = IF( ISBLANK(SELECTEDVALUE(TABAGP[REGIONAL_ABR])) && ISBLANK(SELECTEDVALUE(TABAGP[UNIDADE])), "GLOBAL UNIDADES", "DEMOGRAFIA " & IF( NOT ISBLANK(SELECTEDVALUE(TABAGP[REGIONAL_ABR])), " REGIONAL " & SELECTEDVALUE(TABAGP[REGIONAL_ABR]) ) & " " & SELECTEDVALUE(TABAGP[UNIDADE]) )
Trimestre =
IF(QP_EXCEL_ANT[mes] <= 3, "1º trimestre",
IF(QP_EXCEL_ANT[mes] <= 6, "2º trimestre",
IF(QP_EXCEL_ANT[mes] <= 9, "3º trimestre",
IF(QP_EXCEL_ANT[mes] <= 12, "4º trimestre",
"Outro" ))))
Trimestre Of =
IF(CALENDARIO[Trimestre] = "1 Trimestre", "1º trimestre",
IF(CALENDARIO[Trimestre] = "2 Trimestre", "2º trimestre",
IF(CALENDARIO[Trimestre] = "3 Trimestre", "3º trimestre",
IF(CALENDARIO[Trimestre] = "4 Trimestre", "4º trimestre",
"Outro" ))))
*** ALERTA DE COR
Objetivo: Se o dia de hoje for entre os dias 17 a 22, retorna 3 se não, 1.
Ou seja, o período que quero alertar o usuário será 3 com isso, usarei a formatação condicional para que pinte o fundo de acordo com o valor de 3 ou 1.
Alerta Fechamento de Ponto = IF(AND(DAY(TODAY()) >= 17, DAY(TODAY()) <= 22), 3, 1)