Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá,
bom dia.
Tenho uma tabela dinâmica na qual eu preciso, para cada linha exibir uma expressão diferente, mas todas elas utilizando AGGR, pois para eu ter uma visão mensal, eu preciso pegar os valores de cada quarta-feira. Criei um campo "visao_Semana" com a visão de cada quarta-feira. Nos objetos de texto, nos gráficos está tudo funcionando, mas na tabela dinâmica não, ele funciona no primeiro IF, mas no segundo IF ele zera a expressão. (o item 1 está ok, mas o item 2 aparece zerado)
Se eu selecionar somente o item 2, aí ele funciona normalmente.
Há alguma limitação para eu usar AGGR com IF aninhado? Esta parte do meu código está assim:
If(DSC_GRUPO = 'INEFICIÊNCIA',
If(DSC_INDICADOR = '1. Ineficiência Companhia', Num(SUM(AGGR(count(distinct{<versao_MesAno = {"$(=MesAno_Extenso)"}, Unidade=, a070_dscr_status -= {'LOCADO','LOCADO-OV','RESERVA DEDICADA','CORPORATIVO'}>}a009_placa_veiculo)/
count({<Unidade=, versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status = {'LOCADO','LOCADO-OV','RESERVA DEDICADA'}>}a009_placa_veiculo), versao_Semana)) / Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%'),
If(DSC_INDICADOR = '2. Ineficiência Operacional', Num(SUM(AGGR(count(DISTINCT{<Unidade=, versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status -= {'DISPONÍVEL PARA RELOCAÇÃO','RESERVA DEDICADA'}, indicador_frota = {'Operação','Reserva'}>}a009_placa_veiculo)/
count({<Unidade=, versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status = {'LOCADO','LOCADO-OV','RESERVA DEDICADA'}>}a009_placa_veiculo), versao_Semana)) / Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%')
Faltou adicionar um TOTAL no AGGR, conforme abaixo:
If(DSC_GRUPO = 'INEFICIÊNCIA',
If(DSC_INDICADOR = '1. Ineficiência Companhia', Num(SUM(TOTAL AGGR(count(distinct{<versao_MesAno = {"$(=MesAno_Extenso)"}, Unidade=, a070_dscr_status -= {'LOCADO','LOCADO-OV','RESERVA DEDICADA','CORPORATIVO'}>}a009_placa_veiculo)/
count({<Unidade=, versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status = {'LOCADO','LOCADO-OV','RESERVA DEDICADA'}>}a009_placa_veiculo), versao_Semana)) / Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%'),
If(DSC_INDICADOR = '2. Ineficiência Operacional', Num(SUM(TOTAL AGGR(count(DISTINCT{<Unidade=, versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status -= {'DISPONÍVEL PARA RELOCAÇÃO','RESERVA DEDICADA'}, indicador_frota = {'Operação','Reserva'}>}a009_placa_veiculo)/
count({<Unidade=, versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status = {'LOCADO','LOCADO-OV','RESERVA DEDICADA'}>}a009_placa_veiculo), versao_Semana)) / Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%'),
If(DSC_INDICADOR = '3. Ineficiência Oper. S/ Transp.', Num(count(distinct{<versao_MesAno = {"$(=MesAno_Extenso)"}, Unidade=, a070_dscr_status -= {'DISPONÍVEL PARA RELOCAÇÃO','RESERVA DEDICADA','TRANSPORTE DEVOLUCAO','TRANSPORTE OPERACIONAL'},
indicador_frota = {'Operação','Reserva'}>}a009_placa_veiculo)/ count({<versao_MesAno = {"$(=MesAno_Extenso)"}, Unidade=, a070_dscr_status -={'TRANSPORTE DEVOLUCAO','TRANSPORTE OPERACIONAL'},
a070_dscr_status = {'LOCADO','LOCADO-OV','RESERVA DEDICADA'}>}a009_placa_veiculo) / Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%'),
If(DSC_INDICADOR = '4. Ineficiência Leves', Num(SUM(TOTAL AGGR(count(distinct{<versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status -= {'DISPONÍVEL PARA RELOCAÇÃO','RESERVA DEDICADA','TRANSPORTE DEVOLUCAO','TRANSPORTE OPERACIONAL'}, Unidade = {'Leves'},
indicador_frota = {'Operação','Reserva'}>}a009_placa_veiculo)/ count({<versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status = {'LOCADO','LOCADO-OV','RESERVA DEDICADA'}, Unidade = {'Leves'}>}
a009_placa_veiculo), versao_Semana)) / Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%'),
If(DSC_INDICADOR = '5. Ineficiência Pesados', Num(count(distinct{<versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status -= {'DISPONÍVEL PARA RELOCAÇÃO','RESERVA DEDICADA','TRANSPORTE DEVOLUCAO','TRANSPORTE OPERACIONAL'}, Unidade = {'Pesados'},
indicador_frota = {'Operação','Reserva'}>}a009_placa_veiculo)/ count({<versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status = {'LOCADO','LOCADO-OV','RESERVA DEDICADA'}, Unidade = {'Pesados'}>}
a009_placa_veiculo) / Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%'),
If(DSC_INDICADOR = '6. Ineficiência AgroNegócios', Num((count(distinct{<versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status -= {'DISPONÍVEL PARA RELOCAÇÃO','RESERVA DEDICADA','TRANSPORTE DEVOLUCAO','TRANSPORTE OPERACIONAL'}, Unidade = {'Etanol'},
indicador_frota = {'Operação','Reserva'}>}a009_placa_veiculo)/count({<versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status = {'LOCADO'}, Unidade = {'Etanol'}>}a009_placa_veiculo))/ Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%')
))))))
,
IF(DSC_GRUPO = 'SLA',
IF(DSC_INDICADOR = 'Indicador 1', 1,
IF(DSC_INDICADOR = 'Indicador 2', 2,
IF(DSC_INDICADOR = 'Indicador 3', 3,
IF(DSC_INDICADOR = 'Indicador 4', 4
)))))
)
Marcelo, envie uma app de exemplo para facilitar o nosso entendimento
Segue !
Vc precisa colocar no aggr a informação not distinc para que funcione para todas as linhas
exemplo: AGGR(NOT DISTINC SUM(VALOR),MES)
Com o nodistinct fica assim
Faltou adicionar um TOTAL no AGGR, conforme abaixo:
If(DSC_GRUPO = 'INEFICIÊNCIA',
If(DSC_INDICADOR = '1. Ineficiência Companhia', Num(SUM(TOTAL AGGR(count(distinct{<versao_MesAno = {"$(=MesAno_Extenso)"}, Unidade=, a070_dscr_status -= {'LOCADO','LOCADO-OV','RESERVA DEDICADA','CORPORATIVO'}>}a009_placa_veiculo)/
count({<Unidade=, versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status = {'LOCADO','LOCADO-OV','RESERVA DEDICADA'}>}a009_placa_veiculo), versao_Semana)) / Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%'),
If(DSC_INDICADOR = '2. Ineficiência Operacional', Num(SUM(TOTAL AGGR(count(DISTINCT{<Unidade=, versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status -= {'DISPONÍVEL PARA RELOCAÇÃO','RESERVA DEDICADA'}, indicador_frota = {'Operação','Reserva'}>}a009_placa_veiculo)/
count({<Unidade=, versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status = {'LOCADO','LOCADO-OV','RESERVA DEDICADA'}>}a009_placa_veiculo), versao_Semana)) / Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%'),
If(DSC_INDICADOR = '3. Ineficiência Oper. S/ Transp.', Num(count(distinct{<versao_MesAno = {"$(=MesAno_Extenso)"}, Unidade=, a070_dscr_status -= {'DISPONÍVEL PARA RELOCAÇÃO','RESERVA DEDICADA','TRANSPORTE DEVOLUCAO','TRANSPORTE OPERACIONAL'},
indicador_frota = {'Operação','Reserva'}>}a009_placa_veiculo)/ count({<versao_MesAno = {"$(=MesAno_Extenso)"}, Unidade=, a070_dscr_status -={'TRANSPORTE DEVOLUCAO','TRANSPORTE OPERACIONAL'},
a070_dscr_status = {'LOCADO','LOCADO-OV','RESERVA DEDICADA'}>}a009_placa_veiculo) / Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%'),
If(DSC_INDICADOR = '4. Ineficiência Leves', Num(SUM(TOTAL AGGR(count(distinct{<versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status -= {'DISPONÍVEL PARA RELOCAÇÃO','RESERVA DEDICADA','TRANSPORTE DEVOLUCAO','TRANSPORTE OPERACIONAL'}, Unidade = {'Leves'},
indicador_frota = {'Operação','Reserva'}>}a009_placa_veiculo)/ count({<versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status = {'LOCADO','LOCADO-OV','RESERVA DEDICADA'}, Unidade = {'Leves'}>}
a009_placa_veiculo), versao_Semana)) / Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%'),
If(DSC_INDICADOR = '5. Ineficiência Pesados', Num(count(distinct{<versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status -= {'DISPONÍVEL PARA RELOCAÇÃO','RESERVA DEDICADA','TRANSPORTE DEVOLUCAO','TRANSPORTE OPERACIONAL'}, Unidade = {'Pesados'},
indicador_frota = {'Operação','Reserva'}>}a009_placa_veiculo)/ count({<versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status = {'LOCADO','LOCADO-OV','RESERVA DEDICADA'}, Unidade = {'Pesados'}>}
a009_placa_veiculo) / Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%'),
If(DSC_INDICADOR = '6. Ineficiência AgroNegócios', Num((count(distinct{<versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status -= {'DISPONÍVEL PARA RELOCAÇÃO','RESERVA DEDICADA','TRANSPORTE DEVOLUCAO','TRANSPORTE OPERACIONAL'}, Unidade = {'Etanol'},
indicador_frota = {'Operação','Reserva'}>}a009_placa_veiculo)/count({<versao_MesAno = {"$(=MesAno_Extenso)"}, a070_dscr_status = {'LOCADO'}, Unidade = {'Etanol'}>}a009_placa_veiculo))/ Count({<versao_MesAno = {"$(=MesAno_Extenso)"}>}DISTINCT versao_Semana), '#.##0,00%')
))))))
,
IF(DSC_GRUPO = 'SLA',
IF(DSC_INDICADOR = 'Indicador 1', 1,
IF(DSC_INDICADOR = 'Indicador 2', 2,
IF(DSC_INDICADOR = 'Indicador 3', 3,
IF(DSC_INDICADOR = 'Indicador 4', 4
)))))
)
Segue QVW em anexo
Perfeito Yuri, funcionou.
Obrigado.