I want to create this metric_info variable using the values of the metric_config variable I tried some ways but without success. The reported error is there below. Maybe bringing the metrics out further like this metric_config = [ + metrics = { and not metric_config = [ + { + metrics = {
# Metrics info
metric_info = [
{
metrics = merge([
for metric_config in local.metrics_config :
{
for metric_name, metric_data in metric_config.metrics :
metric_name => {
name = metric_data.name
metric_table = metric_config.metrics_table_id
numerator = metric_data.numerator
denominator = metric_data.denominator
}
}
]...)
}
]
metric_config receives this value:
metrics_config = [
{
"metrics" = {
"time_to_first_play_per_login" = {
"active" = 1
"category" = "Métrica de vídeo"
"denominator" = "experiment_login_count"
"description" = "Tempo médio que cada usuário leva para dar o primeiro play em algum vídeo"
"metric_title" = "Tempo para o Primeiro Play por Usuário"
"metric_type_id" = 2
"name" = "time_to_first_play_per_login"
"numerator" = "total_time_to_first_play"
}
"time_to_first_play_per_session" = {
"active" = 1
"category" = "Métrica de vídeo"
"denominator" = "experiment_session_count"
"description" = "Tempo médio que cada sessão leva para dar o primeiro play em algum vídeo"
"metric_title" = "Tempo para o Primeiro Play por Sessão"
"metric_type_id" = 2
"name" = "time_to_first_play_per_session"
"numerator" = "total_time_to_first_play"
}
"time_to_first_play_per_user" = {
"active" = 1
"category" = "Métrica de vídeo"
"denominator" = "experiment_user_count"
"description" = "Tempo médio que cada usuário leva para dar o primeiro play em algum vídeo"
"metric_title" = "Tempo para o Primeiro Play por Usuário"
"metric_type_id" = 2
"name" = "time_to_first_play_per_user"
"numerator" = "total_time_to_first_play"
}
}
"subfolder" = "time_to_first_play"
},
{
"metrics_table_id" = "time_to_first_play"
"routine_id" = "proc_globo_ab_time_to_first_play"
"subfolder" = "time_to_first_play"
"time_partitioning" = "DAY"
},
{
"metrics" = {
"time_to_second_play_per_creator" = {
"active" = 1
"category" = "Métrica de vídeo"
"denominator" = "experiment_user_count"
"description" = "Tempo médio que cada usuário leva para dar o primeiro play em algum vídeo"
"metric_title" = "Tempo para o Primeiro Play por Usuário"
"metric_type_id" = 2
"name" = "time_to_second_play_per_user"
"numerator" = "total_time_to_second_play"
}
"time_to_second_play_per_login" = {
"active" = 1
"category" = "Métrica de vídeo"
"denominator" = "experiment_user_count"
"description" = "Tempo médio que cada usuário leva para dar o primeiro play em algum vídeo"
"metric_title" = "Tempo para o Primeiro Play por Usuário"
"metric_type_id" = 2
"name" = "time_to_second_play_per_user"
"numerator" = "total_time_to_second_play"
}
"time_to_second_play_per_name" = {
"active" = 1
"category" = "Métrica de vídeo"
"denominator" = "experiment_session_count"
"description" = "Tempo médio que cada sessão leva para dar o primeiro play em algum vídeo"
"metric_title" = "Tempo para o Primeiro Play por Sessão"
"metric_type_id" = 2
"name" = "time_to_second_play_per_session"
"numerator" = "total_time_to_second_play"
}
}
"subfolder" = "time_to_second_play"
},
{
"metrics_table_id" = "time_to_second_play"
"routine_id" = "proc_globo_ab_time_to_second_play"
"subfolder" = "time_to_second_play"
"time_partitioning" = "DAY"
},
]
I am getting the following error:
│ Error: Unsupported attribute
│
│ on main.tf line 64, in locals:
│ 64: for metric_name, metric_data in metric_config.metrics :
│
│ This object does not have an attribute named "metrics".
╵
Its working! I add the lookup for "metric" keys.