Как объединить таблицы и включить несопоставленные записи как 0 вместо нуля? - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть две таблицы в Power Query: аналитика и инвентаризация. Мне нужно объединить их, чтобы существующие записи Google Analytics были добавлены в таблицу инвентаризации, а там, где нет совпадений, столбец «Посещения» становится 0. Я использую страницу / URL в качестве столбца ссылок.

Инвентарная таблица

URL   | Created By
Page1 | John
Page2 | Mike
Page3 | Scot

Таблица аналитики

Page  | Visits
Page1 | 12
Page2 | 10
Page5 | 5

Таблица желаемых результатов

URL   | Created By | Visits
Page1 | John       | 12
Page2 | Mike       | 10
Page3 | Scot       | 0

Перед выполнением слияния в Power Query я очистил данные в Page / URL с помощью Text.Trim, Text.Lower, Remove Rows (Удалить дубликаты и Удалить пустые строки) и Table.SelectRows, чтобы удалить любые записи с пустая страница / URL.

Я сделал левое внешнее соединение с Inventory :: Analytics, но посещения отображаются как «пустые» вместо 0, когда я просматриваю посещения по странице. Я попытался решить эту проблему, добавив следующий код после слияния в Power Query Table.ReplaceValue(referenceToAboveLine, null, 0,Text.Replace, {Analytics}), но это привело к тому, что запрос занимал очень много времени, и мне пришлось его тайм-аут.

Где я иду не так? Я использую неправильный метод Join? Есть ли лучший способ заменить нулевые значения после слияния?

1 Ответ

1 голос
/ 05 апреля 2019

DAX довольно хорошо обрабатывает нули, по моему опыту, поэтому я не уверен, что вам нужно конвертировать для целей расчета, но давайте предположим, что вы делаете.

Вместо Table.ReplaceValue, возможно, попробуйте Table.Transform?

Table.TransformColumns(
    referenceToAboveLine,
    {{"Visits", each if _ = null then 0 else _, Int64.Type}}
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...