#indexing #count #powerbi #row #powerquery
#индексирование #количество #powerbi #строка #powerquery
Вопрос:
У меня есть следующее:
|---------------------|------------------|------------------|
| ID | Geography | Count |
|---------------------|------------------|------------------|
| AB0000 | ItalyZ | 435 |
|---------------------|------------------|------------------|
| ZB4041 | ItalyB | 5435 |
|---------------------|------------------|------------------|
| BC0000 | UKY | 543 |
|---------------------|------------------|------------------|
| BC0000_1 | UKM | 543 |
|---------------------|------------------|------------------|
| BC0000_2 | UKM | 545543 |
|---------------------|------------------|------------------|
| CC0000 | UKY | 54433 |
|---------------------|------------------|------------------|
| CC0000_1 | UKM | 5543 |
|---------------------|------------------|------------------|
| CC0000_2 | UKM | 456543 |
|---------------------|------------------|------------------|
Я хотел бы получить следующее (без повреждения других столбцов, таких как второй столбец):
|---------------------|------------------|------------------|
| ID | Geography | Count |
|---------------------|------------------|------------------|
| AB0000 | ItalyZ | 435 |
|---------------------|------------------|------------------|
| ZB4041 | ItalyB | 5435 |
|---------------------|------------------|------------------|
| BC0000_1 | UKM | 543 |
|---------------------|------------------|------------------|
| BC0000_2 | UKM | 545543 |
|---------------------|------------------|------------------|
| CC0000_1 | UKM | 5543 |
|---------------------|------------------|------------------|
| CC0000_2 | UKM | 456543 |
|---------------------|------------------|------------------|
Поэтому всякий раз, когда у меня есть идентификатор с «_» в конце, я хотел бы подавить строку выше.
Однако может быть несколько «_», за каждым из которых следует число.
Вы знаете, как я мог бы это сделать?
Я безуспешно пробовал по-разному, от группировки до разделения.
Ответ №1:
Добавьте столбец… столбец индекса…
Добавьте столбец… пользовательский столбец с формулой
= try Text.Contains(#"Added Index"{[Index] 1}[ID],[ID]amp;"_") otherwise false
это проверяет наличие следующей строки с тем же идентификатором, к которой впоследствии добавляется _
Filter =False для удаления лишних строк
Удалите лишние столбцы
Пример кода
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Index" = Table.AddIndexColumn(Source, "Index", 0, 1),
#"Added Custom" = Table.AddColumn(#"Added Index", "Custom", each try Text.Contains(#"Added Index"{[Index] 1}[ID],[ID]amp;"_") otherwise false),
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = false)),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Index", "Custom"})
in #"Removed Columns"
Комментарии:
1. Да, это то, что я имел в виду. Везде, где есть «_», я хочу стереть строку выше.
2. ХОРОШО! Я попробовал! Это работает! Но я не знаю, почему самая последняя строка равна 0? У меня есть «True» и «falses», а также «0» в самом конце. Почему это так?
3. Поскольку в нижней строке вы не можете найти следующую строку вниз, это создает ошибку и попытку… В противном случае … преобразует ошибку в ноль
4. Но я понимаю, что есть проблема. Единственное, что я хочу подавить, это строка «выше» «. И сохраните все остальные » » ниже. Но в этом случае это подавляет не только первую строку, но и все остальные «_» ниже….
5. он принимает поле [ID] текущей строки 1 # «Добавленный индекс» {[Index] 1} [ID] и выполняет поиск [ID] из текущей строки с _, добавленным в конец [ID] amp; «_»