Как объединить две вкладки с разными заголовками в одну сводную таблицу?

#google-sheets #google-bigquery #pivot-table #google-colaboratory

# #google-таблицы #google-bigquery #сводная таблица #google-colaboratory

Вопрос:

У меня есть две вкладки для консолидации, они выглядят так:

Табл. 1: Оплата обучения сотрудников

 Emp_ID    Emp_Name    Institute_Name    Course_Name    Cost
000001    John        A                 PM             $100
000001    John        B                 DS             $150
000002    Nancy       B                 PM             $130
 

Таб2: Возмещение членства сотрудников

 Emp_ID    Emp_Name    Membership?    Amount_Requested    Amout_Approved
000001    John        T                 $150             $100
000001    John        T                 $100             $100
000003    Steven      T                 $200             $100
 

Итак, я хотел бы объединить вкладки следующим образом:

 Emp_ID    Emp_Name    Institute_Name    Course_Name    Cost     Membership?    Amount_Requested    Amout_Approved
000001    John        A                 PM             $100
000001    John        B                 DS             $150
000002    Nancy       B                 PM             $130
000001    John                                                      T                 $150             $100
000001    John                                                      T                 $100             $100
000003    Steven                                                    T                 $200             $100
 

И сводная таблица будет выглядеть так

 Emp_ID    Emp_Name    Cost
000001    John        $450
000002    Nancy       $130
000003    Steven      $100
 

Я не знаю, как объединить вкладки с разными заголовками. Кто-нибудь может помочь?

Комментарии:

1. @Sandy Ты знаешь, как объединить слева?

2. @ombk Да. Мы можем выполнить соединение по левому краю. Но не забывайте, что мы можем исключить сотрудников, которые отображаются только в этой таблице прав доступа.

3. @Sandy действительно, я не заметил, что все сотрудники там. Извиняюсь!

Ответ №1:

Ниже приведен стандартный SQL для BigQuery

 #standardSQL
select Emp_ID, Emp_Name, sum(Cost) as Cost
from (
  select Emp_ID, Emp_Name, Cost
  from `project.dataset.table1`
  union all
  select Emp_ID, Emp_Name, Amout_Approved
  from `project.dataset.table2`
)
group by Emp_ID, Emp_Name     
 

если применить к образцу данных из вашего вопроса — вывод

введите описание изображения здесь

Чтобы получить объединенную таблицу — используйте ниже

 #standardSQL
select Emp_ID, Emp_Name, Institute_Name, Course_Name, Cost, null Membership, null Amount_Requested, null Amout_Approved
from `project.dataset.table1`
union all
select Emp_ID, Emp_Name, null, null, null, Membership, Amount_Requested, Amout_Approved
from `project.dataset.table2`
 

с выводом

введите описание изображения здесь

Комментарии:

1. Есть ли способ объединить две вкладки и получить объединенную таблицу, которой я поделился выше?

2. разве «сводная таблица» не тот результат, которого вы ожидали? Я так и думал. пожалуйста, уточните

3. ДА. Я мог бы создать сводную таблицу, если получу эту объединенную таблицу. Итак, я хотел бы знать, можем ли мы выполнить объединение, чтобы получить эту третью таблицу (объединенную).

4. но мой ответ дает вам эту «сводную таблицу», поэтому я теперь не понимаю, какой именно ожидаемый конечный результат

5. Я хотел бы получить эту третью объединенную таблицу. Сводная таблица будет легко получена, если у нас есть эта третья таблица. Ваши запросы действительно имеют смысл.