Pentaho Spoon: установить результат SQL-скрипта в значение нового поля
В настоящее время я пробовал несколько способов (Выполнить сценарий SQL, Ввод таблицы, Соединения базы данных), чтобы выполнить то, что я пытаюсь сделать. Мне нужно, чтобы сумма и число, соответственно, которые создаются в моих сценариях sql ниже, были помещены в совершенно новое поле, или эти значения должны быть установлены как константы. Я пытаюсь использовать каждый результат в шаге калькулятора позже в моем преобразовании. В настоящее время я пытался определить поля, используя константы добавления, а затем поиграл с настройками сценария "Выполнение SQL" (включение или отключение подстановки переменных, добавление имени поля в "Поле для чтения статистики"). Но ничего не сработало. Если кто-нибудь знает хороший способ сделать это, это очень поможет!
Select sum(days_in_hospital) days_in_hospital_sum from hospital_days
where unique_stay_id in
(select unique_stay_id from hospital_days group by unique_stay_id having COUNT(unique_stay_id)=1);
SELECT COUNT(DISTINCT member_id) as "Total_Employees" from Hospital_days
1 ответ
Есть два красавца Group by
шаг в Statistic
папка. Я обычно использую Memory Group by
,
По второму вопросу: импортируйте данные с Input table
с SELECT * FROM Hospital_day
и направить поток в Memory Group By
без Group field
и один агрегат по имени Total-Employees
с типом Number of Distinct Values
, на предмет member_id
,
По первому вопросу: вы просите отфильтровать unique_stay, который появляется один раз в hospital_days, и получить сумму дней для них.
SELECT * FROM Hospital-day
который ты (Memory) Group by
unique stay
чтобы получить Number_of_unique_stay
, затем Filter
из строки, которую вы хотите, то есть строки с фильтром Number_of_unique_stay
=1. Затем сложите days_in_hospita
я со вторым (Memory) Group by
,
В этот момент вы обнаружите, что этот столбец был удален первым Group by
, Bogger! Откройте снова этот шаг! И попробуйте добавить этот столбец где-нибудь. Вы можете добавить его на Group field
или к Aggregates
, Но добавив его в group field
повредит счет на основе unique_stay
только. Итак, вы должны добавить day_in_hospital
к агрегатам. И агрегация, очевидно, является суммой, так как сумма суммы является суммой (ответ будет другим для среднего).