Добавить столбец из одной таблицы в другую - PullRequest
1 голос
/ 02 марта 2020

У меня есть следующие таблицы:

Таблица A:

 ___________________
|    ID    | NUMBER |
|__________|________|
| 10000378 |    1   |  
|          |        |

Таблица B:

 _________________________________________________
|     ...    |    ID    |  Column 1  |  Column 2  |
|____________|__________|____________|____________|
|     ...    | 10000378 |      7     |      2     |
|            |          |            |            |

Table A и Table B совпадают ID значение.

Не то чтобы это слишком много значило, ID в Table A является его ключом, и его можно найти в Table B. Столбец

Table A NUMBER указывает, какой столбец Table B нужно прочитать.

Например:

IF
    [Table A].[NUMBER] = 1
THEN
    put the value of [Table B].[Column 1] into [Table B].[My Column]

  ... and so on

В качестве наглядного примера ( мой желаемый результат ):

 _______________________________________________________________
|     ...    |    ID    |  Column 1  |  Column 2  |  My Column  |
|____________|__________|____________|____________|_____________|
|     ...    | 10000378 |      7     |      2     |      7      |
|            |          |            |            |             |

с My Column результатом Я после (что происходит от Column 1 - как указано Table A NUMBER для идентификатора 10000378).

То, что я пробовал до сих пор

Я установил отношение 1-to-1 между Table A и Table B (в столбце ID).

Затем я вошел в Power Query Editor и попытался добавить Conditional Column:

screenshot

Но это не позволяет мне ссылаться на Table A в любом случае.

Поэтому я решил попробовать опцию Append Queries as New:

screenshot

Выбор радиокнопки Two tables, настройка Primary Table до Table B и Table to append to the primary table до Table B.

С идеей создания следующей структуры, из которой я могу получить желаемый результат (но с добавлением столбца NUMBER, чего на самом деле нет хочу, но может жить с):

 _____________________________________________________________________________
|     ...    |    ID    |  Column 1  |  Column 2  |   NUMBER    |  My Column  |
|____________|__________|____________|____________|_____________|_____________|
|     ...    | 10000378 |      7     |      2     |      1      |      7      |
|            |          |            |            |             |             |

При добавлении скопировал все содержимое Table B и вставил столбец NUMBER, что нормально, но все значения в этом столбце NUMBER сейчас null.

Я не понимаю, почему это так.

Как мне достичь желаемого результата?

Ответы [ 2 ]

1 голос
/ 02 марта 2020

Добавление запросов используется, когда у вас есть дополнительные строки данных, которые вы хотите добавить к существующему запросу (т. Е. Объединение / объединение всего в SQL). Объединение таблиц в Power BI называется «объединением»:

enter image description here

Более подробную информацию можно найти в Объединении запросов разделе Учебник. Формирование и объединение данных в статье Power BI Desktop .

Обратите внимание, что если между таблицами в модели определены правильные отношения (также описанные в статье выше).

1 голос
/ 02 марта 2020

Для этого сначала объедините Table B с Table A и разверните столбцы, которые вы хотите добавить в таблицу (Column 1 и Column 2).

Когда у вас есть это, напишите свой пользовательский столбец, My Column:

if [NUMBER] = 1 then [Column 1]
else if [NUMBER] = 2 then [Column 2]
else <whatever you want to return if not 1 or 2>
...