Во-первых, я хотел бы высказать некоторые соображения по поводу вашего запроса. Вы используете Scripting , чтобы объявить и создать al oop в своем запросе. Однако, поскольку вы объявляете и устанавливаете metricsType
в начале запроса, он никогда не войдет в первый IF
. Это происходит из-за того, что значение установлено и ничего не происходит.
Я бы посоветовал вам использовать CASE WHEN
, как показано ниже:
SELECT m.value as InstanceName,metric.type as metricType,
CASE WHEN metric.type = @parameter THEN point.value.double_value ELSE 0 END AS usagetime,
CASE WHEN metric.type = @parameter THEN point.value.double_value ELSE 0 END AS utilizationrate,
point.interval.start_time as StartTime,point.interval.end_time as EndTime,h.value as instance_id
FROM `myproject.metric_export.sd_metrics_export_fin`, unnest(resource.labels) as h,unnest(metric.labels) as m
WHERE metric.type=@parameter and h.key="project_id";
Обратите внимание, что я использую концепция параметризованных запросов . Также по этой причине этот запрос не будет работать в консоли. Кроме того, обратите внимание, что если вы установите @parameter
на "compute.googleapis.com/instance/cpu/utilization"
, в нем будет столбец ненулевое значение с usagetime
и null столбец с именем utilizationrate
.
Во-вторых, чтобы добавить новый источник данных в DataStudio, вы можете следовать этому руководству из документации . После выбора Новый отчет нажмите Коннектор BigQuery > Пользовательский запрос > Напишите свой идентификатор проекта , вам нужно нажать ДОБАВИТЬ ПАРАМЕТР (под редактором запросов). В запросе выше я бы добавил:
- Имя: параметр
- Отображаемое имя: параметр
- Тип данных: текст
- Значение по умолчанию: оставьте поле пустым
- Установите флажок Разрешить изменять "параметр" в отчетах . Это означает, что вы сможете использовать этот параметр в качестве фильтра и изменять его значение в отчетах.
После всех вышеперечисленных шагов источник данных будет добавлен плавно.
Наконец, я должен указать, что если ваш запрос был запущен в консоли, вы можете сохранить его как представление, щелкнув Сохранить представление , например, как описано здесь .