Boa noite, Felipe! Tudo bem com você?
Você não citou onde quer tratar esses dados, se é via Python, Power BI, Excel, dentre outros. Mas, considerando que seja Python, é possível tratar esses dados e identificar de forma automática sim. Exemplo de código:
import pandas as pd
def identificar_maiores_valores(df):
resultado = []
nomes = df['Nome'].unique()
for nome in nomes:
df_pessoa = df[df['Nome'] == nome]
max_normal = df_pessoa[df_pessoa['Nome da Avaliação'] == 'Situação Normal'].nlargest(1, 'Resposta')
max_estresse = df_pessoa[df_pessoa['Nome da Avaliação'] == 'Situação de Estresse'].nlargest(1, 'Resposta')
enunciado_normal = max_normal['Enunciado da Questão'].values[0]
resposta_normal = max_normal['Resposta'].values[0]
enunciado_estresse = max_estresse['Enunciado da Questão'].values[0]
resposta_estresse = max_estresse['Resposta'].values[0]
resultado.append({
'Nome': nome,
'Enunciado em Situação Normal': enunciado_normal,
'Valor em Situação Normal': resposta_normal,
'Enunciado em Situação de Estresse': enunciado_estresse,
'Valor em Situação de Estresse': resposta_estresse
})
return pd.DataFrame(resultado)
data = {
'Nome da Avaliação': ['Situação Normal', 'Situação Normal', 'Situação Normal', 'Situação Normal',
'Situação de Estresse', 'Situação de Estresse', 'Situação de Estresse', 'Situação de Estresse'],
'Enunciado da Questão': ['Afetivo', 'Pragmático', 'Racional', 'Reflexivo',
'Afetivo', 'Pragmático', 'Racional', 'Reflexivo'],
'Resposta': [29, 38, 33, 25, 25, 32, 42, 27],
'Nome': ['Usuário1', 'Usuário1', 'Usuário1', 'Usuário1',
'Usuário1', 'Usuário1', 'Usuário1', 'Usuário1']
}
df = pd.DataFrame(data)
result_df = identificar_maiores_valores(df)
result_df
Este código faz o seguinte:
- Filtra os dados para cada usuário específico.
- Para cada usuário: Filtra os dados para "Situação Normal" e encontra o maior valor e o respectivo. O mesmo para "Situação de Estresse".
- Compila os resultados em um novo dataframe.
- Exibe os resultados com o enunciado e o valor correspondente para cada situação e cada usuário.
Resultado:
Agora, se você estiver querendo obter esse resultado no Power BI, você terá de criar medidas para identificar o maior valor e o respectivo enunciado para "Situação Normal" e "Situação de Estresse". Exemplo:
MaxValorNormal =
CALCULATE(
MAX(Tabela[Resposta]),
Tabela[Nome da Avaliação] = "Situação Normal"
)
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!