Ir para conteúdo

liviacardinali

Alunos
  • Total de itens

    21
  • Registro em

  • Última visita

Perfil

  • Interesse em receber propostas de empresas
    Não
  • Eu trabalho ...
    Em uma empresa

Informações adicionais

  • Sexo
    ♀ Feminino

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

liviacardinali's Achievements

Profissional

Profissional (3/6)

  • Feliz 1° ano! ✨

Recent Badges

0

Reputação

  1. Bom dia O sistema de RH da empresa que eu trabalho nao é dos melhores. Temos um relatório que pode ser extraído que retorna os shifts trabalhados por cada funcionário, com o dia, horário e se foi trabalhado ou nao. Tem as categorias "Worked", "Certified Sick", "Statutory Sick Pay", etc. Minha gerente quer que eu mostre no dashboard os funcionários que tiveram faltas consecutivas por 10 dias ou mais. A questao é que como eu trabalho para uma rede de hotéis, nao sao dias úteis e sim realmente dias trabalhados (as folgas sao as vezes durante a semana). Eu adicionei em anexo um excel de como a coluna precisa ser resultada. Pode ser uma medida também... Nao sei o que é mais fácil. Eu tentei de todos os jeitos mas eu simplesmente nao estou conseguindo chegar no resultado. Acredito que seja algo relativamente fácil de se fazer. Por favor poderiam me ajudar BI.xlsx
  2. Boa tarde @Erick Oliveira, Muito obrigada pela ajuda. Essa formula da certo sim. O problema é quando eu coloco a columa mes/ano que meu chefe pediu. Como sao muitos dias, meu chefe quer ver por mes/ano, com o numero da semana do ano dentro. A Occupancy Date ali dentro eu coloquei só para mostrar que o resultado fica em branco...
  3. Bom dia pessoal, Trabalho para uma rede de hotéis, e todos os dias recebemos um relatório em excel com o forecast de um ano pra frente, que é adicionado automaticamente no Power BI via SharePoint. Nesse relatorio contém a quantidade de quartos disponível em cada hotel e quantas pessoas está planejado para recebermos, número que é alterado diariamente de acordo com os acontecimentos, feriados etc. Todos os dias o novo relatorio é adicionado embaixo dos anteriores (como um append query!) Ele contem as seguintes colunas: Unidade (hotel), Dia da semana, Data de Ocupacao (dias do ano previsao), Data de Atualizacao (data que foi enviado o relatorio), Atributo, Valor, Month/Year (coluna criada utilizando a data de ocupacao). O mais importante para nós é a ocupacao dos hoteis, que é calculado da seguinte maneira: (soma de pessoas no hotel - grupo + pessoas fisicas) / número de quartos total. Meu chefe pediu para eu fazer uma comparacao do forecast desse ano vs do ano passado! Minha dificuldade esta que no relatorio contém 2 datas, e preciso que ele pegue o ano anterior em ambas colunas! Nao estou conseguindo de jeito nenhum... Nenhuma conta dá certo. Poderiam me ajudar por favor? Estou anexando um excel que explica o que preciso!! 🙂 Database.xlsx
  4. O Breakfast eu consegui da seguinte forma: Breakfast Hours = VAR FromTime = 'fShiftReport'[From] VAR ToTime = 'fShiftReport'[To] VAR BreakfastStart = TIME(6, 0, 0) VAR BreakfastEnd = TIME(11, 59, 59) VAR FromTimeInDay = IF(FromTime < BreakfastStart, BreakfastStart, FromTime) VAR ToTimeInDay = IF(ToTime > BreakfastEnd, BreakfastEnd, ToTime) VAR TotalBreakfastHours = IF( FromTimeInDay > ToTimeInDay && ((HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60) - (HOUR(BreakfastStart) + MINUTE(BreakfastStart)/60)) < 0, 0, IF( FromTimeInDay > ToTimeInDay && FromTimeInDay > BreakfastEnd && (HOUR(FromTime) + MINUTE(FromTime)/60) >= 20 && fShiftReport[Hours] < 4, 0, IF( FromTimeInDay > ToTimeInDay && FromTimeInDay > BreakfastEnd && (HOUR(FromTime) + MINUTE(FromTime)/60) >= 20, (HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60) - (HOUR(BreakfastStart) + MINUTE(BreakfastStart)/60), IF( FromTimeInDay > ToTimeInDay && FromTimeInDay > BreakfastEnd, 0, IF( FromTimeInDay > ToTimeInDay, (HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60) - (HOUR(BreakfastStart) + MINUTE(BreakfastStart)/60), (HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60) - (HOUR(FromTimeInDay) + MINUTE(FromTimeInDay)/60) ))))) RETURN TotalBreakfastHours O problema esta no Dinner agora 😞 Estou tentando e nao vai de jeito nenhum Dinner Hours = VAR FromTime = 'fShiftReport'[From] VAR ToTime = 'fShiftReport'[To] VAR DinnerStart = TIME(17, 0, 0) VAR DinnerEnd = TIME(5, 59, 59) VAR LunchEnd = TIME(16,59,59) VAR BreakfastStart = TIME(6,0,0) VAR FromTimeInDay = IF(FromTime = 0, 0, IF(FromTime > DinnerEnd && FromTime < DinnerStart, DinnerStart, FromTime)) VAR ToTimeInDay = IF(ToTime > DinnerEnd && ToTime < FromTime, DinnerEnd + 1, IF( ToTime > DinnerEnd && ToTime > FromTime, DinnerEnd + 1, ToTime)) //IF(ToTime > DinnerEnd && ToTime < FromTime, DinnerEnd + 1, ToTime) VAR TotalDinnerHours = IF((HOUR(FromTime) + MINUTE(FromTime)/60) >= 6 && (HOUR(ToTime) + MINUTE(ToTime)/60) <= 16.99 && (HOUR(FromTimeInDay) + MINUTE(FromTimeInDay)/60) >= 17 && (HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60) <= 5.99, ((HOUR(FromTimeInDay) + MINUTE(FromTimeInDay)/60) - 0 + 23.99 - (HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60)), IF((HOUR(FromTime) + MINUTE(FromTime)/60) >= 6 && (HOUR(ToTime) + MINUTE(ToTime)/60) <= 16.99, 0, IF((HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60) > (HOUR(FromTimeInDay) + MINUTE(FromTimeInDay)/60) && (HOUR(FromTime) + MINUTE(FromTime)/60) > 6 && ((HOUR(ToTime) + MINUTE(ToTime)/60)) < 16.99, 0, IF( (HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60) < (HOUR(FromTimeInDay) + MINUTE(FromTimeInDay)/60), ((HOUR(FromTimeInDay)-12) + MINUTE(FromTimeInDay)/60) - (HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60), (HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60) - (HOUR(FromTimeInDay) + MINUTE(FromTimeInDay)/60) ))) ) RETURN (HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60) Na formula acima, acredito que o FromTimeInDay e o ToTimeInDay estejam errados. Exemplo: From 06:00 until 14:00 o FromTimeInDay esta dando 17h e o ToTimeInDay 5:59... e é pra ser das proprias 6 as 14. Dai o resultado final esta dando 35 horas e era pra ser 0 Estou enlouquecendo com essa fórmula
  5. Tenho uma base de dados que tem todos os shifts trabalhados de cada funcionário. Meu chefe pediu para eu separar a quantidade de horas trabalhadas no café da manha, almoco e jantar. Porem, eu so tenho a entrada e saída de cada funcionario! Tentei usar chat gpt, tentei lógica e sempre tem algum problema. Shifts.xlsx Adicionei a base de dados aqui. Informacoes: Cafe da manha: 6h até 11:59 Almoco: 12h até 16:59 Janta: 17h até 5:59 (dia seguinte) A coluna de café da manha, que o Chat GPT mandou: Breakfast Hours = VAR FromTime = 'fShiftReport'[From] VAR ToTime = 'fShiftReport'[To] VAR BreakfastStart = TIME(6, 0, 0) VAR BreakfastEnd = TIME(11, 59, 59) VAR FromTimeInDay = IF(FromTime < BreakfastStart, BreakfastStart, FromTime) VAR ToTimeInDay = IF(ToTime > BreakfastEnd, BreakfastEnd, ToTime) VAR TotalBreakfastHours = IF( FromTimeInDay > ToTimeInDay && ((HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60) - (HOUR(BreakfastStart) + MINUTE(BreakfastStart)/60)) < 0, 0, IF( FromTimeInDay > ToTimeInDay && FromTimeInDay > BreakfastEnd, 0, IF( FromTimeInDay > ToTimeInDay, (HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60) - (HOUR(BreakfastStart) + MINUTE(BreakfastStart)/60), (HOUR(ToTimeInDay) + MINUTE(ToTimeInDay)/60) - (HOUR(FromTimeInDay) + MINUTE(FromTimeInDay)/60) ))) RETURN TotalBreakfastHours A coluna nao esta funcionando em alguns casos, por exemplo Se o funcionário entra para trabalhar 23h e termina o shift 7h da manha do dia seguinte, a coluna está dando 0 e era para estar resultando 1. Por favor alguém poderia me ajudar? Tem alguma forma mais fácil de calcular isso? Ele quer isso:
  6. Oi, Exato. Se abre no Power Query, espera carregar e depois atualiza, dá certo. Mas eu gostaria de entender o porque desse erro para poder resolve-lo. Falam que é relacionado aos níveis de privacidade, mas para mim nao esta claro ainda... Nao posso deixar os dados publicos ou ignorar...
  7. Oi pessoal, Estou com esse erro em quase todos os relatorios que eu faco. Uso como base o Sharepoint... e esse erro apresenta no Power BI Desktop quando aperto o botao Refresh. Quando publicado, ele atualiza normalmente. Reparei que esse erro só acontece quando eu uso 'Merge Queries' ou 'Append Queries'. Se eu abro o Transformar dados, espero a tabela carregar, fecho e tento atualizar, eles sempre atualizam. Mas se eu abro o PBI e tento atualizar, ele da esse erro. Tem relatorios também que sao de lua.... As vezes atualizam e as vezes apresentam esse erro. Mas esse erro é apresentado SOMENTE no Power BI Desktop. Nao sei como resolver... Alguém sabe? Obrigada
  8. Oi Bruno, Se esta analisando outubro de 2022, o end date dele tem que ser maior do que 31/10/2022, pq se ele saiu depois, ele estava ativo nesse mes ainda Se o end date esta vazio, a pessoa continua presente. POREM, tem excecoes. Algumas pessoas tem contrato, entao o end date dela ta pra por ex 31/10/2023. Ela esta ativa e essa eh a data do final do contrato....
  9. A contagem na verdade acredito que tanto faz se é distinta ou normal, pq nao tem repeticao... Eu ate me confundi em uma das partes e coloquei COUNT(), mas geralmente eu faco DISTINCTCOUNT, por via das duvidas.. 1) Se filtrar ano atual e mes atual: sera a contagem do payroll number em que o "Is Active" eh true. Ou seja, a contagem dos ativos hoje. 2) Se filtrar o ano atual e o mes que nao seja o atual: sera a contagem de ativos naquele mes, com base nas colunas start date e end date, ou seja, se o funcionario comecou DEPOIS do mes filtrado, ele nao deve ser considerado. Se ele nao esta mais ativo na empresa hoje, mas no mes filtrado ele estava, ele estara no "Is Active" como false, mas devera ser considerado na conta. 3) Se filtrar ano atual sem filtrar mês algum: mesmo resultado do 1). Sera a contagem de ativos hoje. 4) Se filtrar qualquer ano que não seja o atual e filtrar um mês qualquer: mesma regra do 2). Sera a contagem de funcionarios ativos naquele determinado mes e ano, com base nas colunas start date e end date. 5) Se filtrar qualquer ano que não seja o atual e não filtrar mês algum: Devera pegar a quantidade de funcionarios ativos no ultimo dia daquele ano. Entao se filtrar 2022 por ex, pegara os ativos do dia 31/12/2022 6) Se não filtrar nenhum ano e filtrar qualquer mês: -- Nao tem como nao selecionar o ano. O ano é um filtro obrigatorio no relatorio, mas em teoria, deveria pegar talvez a contagem distinta dos funcionarios ativos de todos os anos desse mes filtrado, ou uma media. 7) Se não filtrar nenhum ano e nenhum mês: -- Tb nao tem essa opcao, mas nesse caso acho que deveria talvez pegar uma media dos ativos no periodo todo... Eh minha primeira vez trabalhando com base de funcionarios e confesso que estou um pouco perdida com a visualizacao/estrutura. Muito obrigada mesmo pela ajuda. Logica ainda eh uma coisa que estou trabalhando para melhorar rsrsr
  10. Employee.pbixAdicionei um PBI Eu nao to entendendo o que eu fiz de errado na formula Eu deixei um filtro ai em Jan de 2022 no hotel 13. Devia ser 0 o numero 😞
  11. Pessoal, Eu trabalho para uma rede de hoteis, e preciso calcular a quantidade de funcionarios ativos na empresa. Mas meu diretor quer filtrar e saber a quantidade de ativos naquele determinado mes/ano... Detalhes: Se desfiltrar o mes e tiver somente o ano, em 2023, eh para mostrar a quantidade de ativos hoje (facil, ok) Se desfiltrar o mes e tiver somente o ano, anos anteriores a 2023, eh para mostrar a quantidade de ativos no ultimo dia do ano (ou seja, em dez/ano) COLUNAS: Hotel ID Payroll Number -- ID do funcionario Esta ativo? true ou false Start Date End Date Vou adicionar um excel contendo os resultados que foram feitos manualmente, e a base de dados! Dificuldades encontradas: - As vezes as medidas batem para alguns meses, ai em outros meses fica um valor nada a ver.... - A medida 2 ta mostrando direitinho a quantidade, mas entre marco, abril e maio de 2022 ta dando valor errado..... Abaixo vou colocar as medidas que tentei fazer de diferentes jeitos, mas nao funcionaram e eu realmente nao sei pq... mas vai que ajuda. Active Employees = var vMin = CALCULATE( MIN(dDate[Date]), NEXTMONTH(dDate[Date]), USERELATIONSHIP(dDate[Date], fTNA[End Date]) ) var vMax = CALCULATE( MAX(fTNA[End Date]), USERELATIONSHIP(dDate[Date], fTNA[End Date]), ALL(dDate) ) var vMinStart = CALCULATE( MIN (fTNA[Start Date]), NEXTMONTH(dDate[Date]), USERELATIONSHIP(dDate[Date], fTNA[Start Date])) var vMaxStart = CALCULATE( MAX (fTNA[Start Date]), USERELATIONSHIP(dDate[Date], fTNA[Start Date]), ALL(dDate)) var v2 = CALCULATE( MIN(fTNA[Start Date]), ALL(dDate), USERELATIONSHIP(dDate[Date], fTNA[Start Date])) var v3 = CALCULATE( MAX(fTNA[Start Date]), USERELATIONSHIP(dDate[Date], fTNA[Start Date])) var vFirstDay = CALCULATE( MIN(dDate[Date]), ALL(dDate[Month Ab])) var vLastDay = CALCULATE( MAX(dDate[Date]), ALL(dDate[Month Ab])) return IF( SELECTEDVALUE(dDate[Year]) = YEAR(TODAY()) && SELECTEDVALUE(dDate[Month]) = MONTH(TODAY()), CALCULATE( DISTINCTCOUNT(fTNA[Payroll Number]), fTNA[Is Active] = true() ), IF( SELECTEDVALUE(dDate[Year]) = YEAR(TODAY()) && NOT ( ISFILTERED(dDate[Month Ab]) ), CALCULATE( DISTINCTCOUNT(fTNA[Payroll Number]), fTNA[Is Active] = true() ), IF( NOT( ISFILTERED(dDate[Month Ab]) ) && SELECTEDVALUE(dDate[Year]) <> YEAR(TODAY()), CALCULATE( CALCULATE( DISTINCTCOUNT(fTNA[Payroll Number]), fTNA[Is Active] = false(), DATESBETWEEN( dDate[Date], vMin, vMax ), USERELATIONSHIP(dDate[Date], fTNA[End Date]) ) - CALCULATE( DISTINCTCOUNT(fTNA[Payroll Number]), fTNA[Is Active] = false(), DATESBETWEEN( dDate[Date], vMinStart, vMaxStart ), USERELATIONSHIP(dDate[Date], fTNA[Start Date]) ) + CALCULATE( DISTINCTCOUNT(fTNA[Payroll Number]), fTNA[Is Active] = true(), DATESBETWEEN( dDate[Date], v2, v3 ), USERELATIONSHIP(dDate[Date], fTNA[Start Date]) ) , dDate[Month] = MAX(dDate[Month]) ) ,IF( AND( ISFILTERED(dDate[Year]), ISFILTERED(dDate[Month Ab])), CALCULATE( DISTINCTCOUNT(fTNA[Payroll Number]), fTNA[Is Active] = false(), DATESBETWEEN( dDate[Date], vMin, vMax ), USERELATIONSHIP(dDate[Date], fTNA[End Date]) ) - CALCULATE( DISTINCTCOUNT(fTNA[Payroll Number]), fTNA[Is Active] = false(), DATESBETWEEN( dDate[Date], vMinStart, vMaxStart ), USERELATIONSHIP(dDate[Date], fTNA[Start Date]) ) + CALCULATE( DISTINCTCOUNT(fTNA[Payroll Number]), fTNA[Is Active] = true(), DATESBETWEEN( dDate[Date], v2, v3 ), USERELATIONSHIP(dDate[Date], fTNA[Start Date]) ) ) ))) ou Active Employees v2 = var vMin = MIN(fTNA[Start Date]) var vMax = CALCULATE(MAX(fTNA[Start Date]), USERELATIONSHIP(dDate[Date], fTNA[Start Date])) var vMinEnd = MIN(fTNA[End Date]) var vMaxEnd = CALCULATE(MAX(fTNA[End Date]), USERELATIONSHIP(dDate[Date], fTNA[End Date])) return IF( SELECTEDVALUE(dDate[Year]) = YEAR(TODAY()) && SELECTEDVALUE(dDate[Month]) = MONTH(TODAY()), CALCULATE( DISTINCTCOUNT(fTNA[Payroll Number]), fTNA[Is Active] = true() ), IF( SELECTEDVALUE(dDate[Year]) = YEAR(TODAY()) && ISBLANK(SELECTEDVALUE(dDate[Month])), CALCULATE( COUNT(fTNA[Payroll Number]), fTNA[Start Date] >= vMin && fTNA[Start Date] <= TODAY() ) - CALCULATE( COUNT(fTNA[Payroll Number]), fTNA[End Date] >= vMinEnd && fTNA[End Date] < TODAY() ) , CALCULATE( COUNT(fTNA[Payroll Number]), fTNA[Start Date] >= vMin && fTNA[Start Date] <= vMax ) - CALCULATE( COUNT(fTNA[Payroll Number]), fTNA[End Date] >= vMinEnd && fTNA[End Date] <= vMaxEnd ) )) Muito obrigada pela ajuda 🙂Employees.xlsx
  12. Obrigada 🙂 Ele deu certo em algumas, mas em outras, como eu usei a funcao USERELATIONSHIP em algumas medidas (em outras tabelas, nada a ver com a tabela de diretores) ele deu erro falando que nao posso usar essa funcao quando tem a seguranca 😕
  13. É possivel fazer level security com uma tabela, com excecao de algumas medidas? Eu trabalho para uma rede de hoteis, e tem algumas visualizacoes em que vc tem o resultado do hotel A por ex em uma coluna, e o resultado da soma todos os hoteis do lado (hoteis A, B, C e D). Cada diretor so pode ver o seu hotel, mas eles precisam ver o resultado da soma de todos os hoteis tbm... Entao o que eu queria fazer eh a regra de seguranca para cada diretor ver somente o seu hotel, com excecao das medidas que contem ALL(). Se eu precisar colocar medida por medida tudo bem, mas eh possivel fazer isso?
×
×
  • Criar Novo...