LuckyTemplates Power Query: видалення повторюваних рядків

У цьому блозі я покажу вам, як видалити повторювані рядки в Power Query LuckyTemplates на основі умов. Ви можете переглянути повне відео цього підручника внизу цього блогу.

Цей приклад із запитання, яке було піднято на. Учасник має дані транзакцій і хоче видалити рядки, які компенсують одна одну.

Існує два різних типи транзакцій: один для вхідних і один для вихідних. Вона також додала кількість рухів. І на основі цього сформулювала три сценарії.

LuckyTemplates Power Query: видалення повторюваних рядків

Перший сценарій базується на двох рядках. Якщо вони компенсують один одного, обидва рядки слід видалити. Якщо це не так, то слід зберегти обидва рядки.

Другий і третій сценарії базуються на комбінації рядків, які частково компенсують один одного. Ці рядки слід видаляти за принципом "перший прийшов - перший вийшов", щоб зберігати лише останні вхідні транзакції.

По суті, ми повторюємо ту саму логіку знову і знову. Ми повинні мати можливість розробити єдиний підхід для всіх цих сценаріїв.

Деякі речі, які ми збираємося зробити, це додати стовпець з абсолютними кількостями та згрупувати за «додати стовпець балансу кількості» та вкладену таблицю за допомогою параметра «всі рядки». Ми також трансформуємо ці вкладені таблиці, відсортуємо тип руху та дату публікації, створимо поточний підсумок і збережемо лише рядки на основі умови.

Я оцінив це як проміжний рівень, оскільки більшість перетворень, які ми можемо зробити тут, здійснюється за допомогою інтерфейсу користувача. З огляду на це, давайте перейдемо до Power Query LuckyTemplates.

Зміст

Додавання стовпця з абсолютними величинами в Power Query

Ми почнемо з додавання стовпця з абсолютними величинами. Виберіть стовпець «Кількість» , потім на стрічці або вкладці «Додати стовпець» перейдіть до «Наукове» та натисніть « Абсолютне значення» .

LuckyTemplates Power Query: видалення повторюваних рядків

Я збираюся перейменувати цей стовпець у рядку формул.

LuckyTemplates Power Query: видалення повторюваних рядків

Групуйте за ідентифікаційним індексом і абсолютною кількістю

Тепер ми можемо групувати за ідентифікаційним індексом і абсолютною кількістю. Виберіть ID Index , потім утримуйте shift або control для вибору кількох елементів, а потім клацніть Abs qty (абсолютна кількість).

LuckyTemplates Power Query: видалення повторюваних рядків

Ви знайдете «Групувати за» на вкладці «Перетворення».

LuckyTemplates Power Query: видалення повторюваних рядків

Але ви також можете знайти його на вкладці «Головна».

LuckyTemplates Power Query: видалення повторюваних рядків

Натисніть на нього, і тепер ми збираємося додати новий стовпець. Це не «підрахунок», але це буде «сума» кількості. Отже, давайте перейменуємо його на Qty (quantity) Balance . Це буде сума стовпця кількості. А потім ми додамо інше об’єднання, але воно буде особливим, тому ми виберемо « Усі рядки» . Давайте також назвемо цей стовпець ( AllRows ). Потім натисніть OK.

LuckyTemplates Power Query: видалення повторюваних рядків

Якщо ми клацнемо білий простір у таблиці, ми побачимо попередній перегляд вкладеної таблиці внизу. Ми бачимо, що кількості для цієї вкладеної таблиці компенсують одна одну, а кількісний баланс дорівнює нулю.

LuckyTemplates Power Query: видалення повторюваних рядків

Якщо ми подивимося на наступну вкладену таблицю (тому клацніть збоку в білому просторі наступного рядка), ми побачимо, що стовпець кількості не скасовує один одного, а баланс кількості більше нуля.

LuckyTemplates Power Query: видалення повторюваних рядків

Давайте додамо спеціальний стовпець, щоб ми могли використовувати його для перетворень вкладеної таблиці пізніше. Отже, виберіть Додати спеціальний стовпець .

LuckyTemplates Power Query: видалення повторюваних рядків

Давайте перейменуємо цей стовпець наі ми додамо нуль (0) як заповнювач. Потім натисніть OK.

LuckyTemplates Power Query: видалення повторюваних рядків

Перетворення вкладених таблиць у LuckyTemplates Power Query

Тепер ми готові створити логіку для перетворення цих вкладених таблиць. Але ми не хочемо писати їх купу, та й не потрібно.

Ми можемо використовувати інтерфейс користувача здебільшого. Якщо ми побудуємо логіку цих перетворень в окремому запиті, найдосконаліший сценарій, який у нас був, був сценарієм з трьома або чотирма рядками.

Тепер, якщо я клацну праворуч в останньому рядку, я побачу, що ця таблиця має чотири рядки. Отже, ми можемо використовувати це для побудови наших перетворень.

LuckyTemplates Power Query: видалення повторюваних рядків

Клацніть правою кнопкою миші збоку в білому просторі та виберіть Додати як новий запит .

LuckyTemplates Power Query: видалення повторюваних рядків

Ми бачимо, що вкладену таблицю тепер розширено та додано як новий запит, і ми можемо використовувати це для побудови потрібної нам логіки.

LuckyTemplates Power Query: видалення повторюваних рядків

Сортування типу руху та дати проводки

Тепер перше, що нам потрібно зробити, це відсортувати за типом руху . Давайте виберемо спадання . Таким чином, вихідні транзакції завжди будуть у верхній частині.

LuckyTemplates Power Query: видалення повторюваних рядків

Далі ми відсортуємо дату публікації за зростанням , переконавшись, що якщо ми пропускаємо рядки, це завжди виконуватиметься за принципом FIFO (першим прийшов, першим вийшов).

LuckyTemplates Power Query: видалення повторюваних рядків

Створення поточного підсумку

Щоб визначити рядки, які ми збираємося видалити, я збираюся додати загальну суму для вимкнення, і ми можемо використовувати List.FirstN для цього завдання. Ця функція створює список на основі іншого списку, де верхні елементи зберігаються на основі певного числа або критерію.

LuckyTemplates Power Query: видалення повторюваних рядків

Повернемося до нашого запиту. Нам потрібні дві речі для List.FirstN. По-перше, нам потрібен цей список, і цей список є нашим стовпцем кількості . Якщо я клацну правою кнопкою миші заголовок стовпця Quantity, ми отримаємо опцію Add as NewQuery .

LuckyTemplates Power Query: видалення повторюваних рядків

І тут ми бачимо код, який нам потрібен для створення цього списку. У застосованому кроці ви можете побачити, що він вказує на останній крок, а потім визначає стовпець у цих дужках.

LuckyTemplates Power Query: видалення повторюваних рядків

Друга частина, яка нам потрібна для List.FirstN, — це число, яке визначає, скільки чисел залишити зі списку. Ми можемо використати для цього індекс, тому я збираюся додати стовпець індексу з одного (1) для цього рядка.

LuckyTemplates Power Query: видалення повторюваних рядків

Отже, для числа 1 буде збережено число в першому рядку в стовпці «Кількість» і так далі. І тепер ми можемо підсумувати це.

LuckyTemplates Power Query: видалення повторюваних рядків

Давайте додамо спеціальний стовпець і назвемо його Підсумок . Тут ми використовуємо List.FirstN і бачимо, що першим параметром був цей список, стовпець Quantity. Нам потрібно вказати на останній крок, і цим останнім кроком є ​​Added Index .

LuckyTemplates Power Query: видалення повторюваних рядків

Ми визначили потрібний стовпець, і це наш стовпець "Кількість". Наш підрахунок у колонці Індекс.

LuckyTemplates Power Query: видалення повторюваних рядків

Тепер він повертає список. Якщо ми клацнемо збоку в білому просторі, ми побачимо вміст цього списку. Для першого запису він зберіг лише верхній рядок цього списку. Для другого запису він зберіг два верхніх рядки.

LuckyTemplates Power Query: видалення повторюваних рядків

Тепер все, що нам потрібно зробити, це підсумувати ці кількості, і ми можемо використовувати для цього Lists.Sum . Отже, я додам це в рядок формул. І я також збираюся поставити Type .

LuckyTemplates Power Query: видалення повторюваних рядків

Фільтрування рядків на основі умови

За допомогою цієї поточної суми ми можемо визначити рядки, які хочемо зберегти. Ми хочемо зберегти лише рядки, які перевищують нуль, тому давайте додамо умову фільтра.

LuckyTemplates Power Query: видалення повторюваних рядків

Тепер ми можемо видалити наші допоміжні стовпці. Виберіть «Індекс» і «Загальна сума», а потім натисніть «Видалити стовпці».

LuckyTemplates Power Query: видалення повторюваних рядків

Тепер у розширеному редакторі ми можемо скопіювати код, який ми створили. Я відкрию , і ми побачимо, що це наш розділений крок. Отже, ми можемо вибрати та скопіювати все, що нижче.

LuckyTemplates Power Query: видалення повторюваних рядків

Тепер давайте повернемося до нашого початкового запиту. Знову відкрийте розширений редактор. А замість заповнювача перейдемо на новий рядок. Я збираюся використовувати вираз « let », оскільки він може фіксувати значення з проміжних обчислень у змінних. Отже, «дозвольте», а потім перейдіть на новий рядок і вставте мої перетворення. Також я оголошу Type .

LuckyTemplates Power Query: видалення повторюваних рядків

Виділений вище код вказує на нашу розгорнуту вкладену таблицю, яка розміщена в стовпці «Усі рядки». Отже, я збираюся вказати на це, замінивши цей виділений код на AllRows .

Отже, наш стовпець трансформації тепер має вкладені таблиці. Ми будуємо наш запит на основі останнього рядка, чи не так? І це містило чотири рядки, коли ми почали, і містило лише два. У нас також ця кількість збалансована нулем, чи не так? А тепер у нього порожній стіл.

LuckyTemplates Power Query: видалення повторюваних рядків

Ми можемо видалити їх, відфільтрувавши стовпець «Кількісний баланс». Ми не хочемо, щоб кількісний баланс дорівнював нулю.

LuckyTemplates Power Query: видалення повторюваних рядків

Потім я виберу свій стовпець трансформації та видалю інші стовпці. Тепер я можу розгортати свої вкладені таблиці трансформації. Не використовуйте оригінальну назву стовпця як префікс і натисніть «ОК».

LuckyTemplates Power Query: видалення повторюваних рядків

На вкладці «Перетворення» виберіть «Тип даних» , і все готово. І саме так ви очищаєте дані транзакцій.




Висновок

У цьому підручнику я показав вам, як очистити дані транзакцій, зокрема видаливши повторювані рядки. Це чудова техніка, яку можна використовувати під час використання Power Query LuckyTemplates.

Сподіваюся, вам сподобався цей. Перегляньте повний відеоурок нижче, щоб дізнатися більше. Також перегляньте посилання нижче, щоб отримати більше пов’язаного вмісту про LuckyTemplates Power Query Editor.

здоров'я!

Меліса


Поле пошуку PowerApps: як додати та налаштувати

Поле пошуку PowerApps: як додати та налаштувати

Дізнайтеся, як створити поле пошуку PowerApps з нуля та налаштувати його відповідно до загальної теми вашої програми.

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Збирайте або фіксуйте значення в мірі для повторного використання в іншій мірі для динамічних обчислень за допомогою SELECTEDVALUE DAX у LuckyTemplates.

Історія версій у списках SharePoint

Історія версій у списках SharePoint

Дізнайтеся, як історія версій у SharePoint може допомогти вам побачити еволюцію певних даних і скільки змін вони зазнали.

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Ось інструмент для створення звітів і візуальних матеріалів, засіб вибору шістнадцяткових кодів кольорів, за допомогою якого можна легко отримати кольори для звітів LuckyTemplates.

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Ви можете легко відобразити діапазон дат як роздільник у своєму звіті за допомогою таблиці періодів. Використовуйте M-код, щоб створити динамічний роздільник дат у LuckyTemplates.

Таблиці пропорцій і частот в Excel

Таблиці пропорцій і частот в Excel

Збирався зануритися в частотні таблиці в Excel, а також у таблиці пропорцій. Добре подивіться, що це таке і коли їх використовувати.

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Дізнайтеся, як завантажити та інсталювати DAX Studio та Tabular Editor 3 і як налаштувати їх для використання в LuckyTemplates і Excel.

Візуалізація карти форми LuckyTemplates для просторового аналізу

Візуалізація карти форми LuckyTemplates для просторового аналізу

Цей блог містить візуалізацію Shape Map для просторового аналізу в LuckyTemplates. Я покажу вам, як ви можете ефективно використовувати цю візуалізацію з її функціями та елементами.

Фінансова звітність LuckyTemplates: розподіл результатів за шаблонами в кожному окремому рядку

Фінансова звітність LuckyTemplates: розподіл результатів за шаблонами в кожному окремому рядку

У цьому підручнику я демонструю унікальну ідею щодо фінансової звітності, яка полягає в розподілі результатів для попереднього визначення шаблонів таблиць у LuckyTemplates.

Вимірювання DAX у LuckyTemplates за допомогою розгалуження вимірювання

Вимірювання DAX у LuckyTemplates за допомогою розгалуження вимірювання

Створіть показники DAX у LuckyTemplates, використовуючи наявні показники або формули. Це те, що я називаю технікою розгалуження міри.