Разделенные строки в Power Query - PullRequest
0 голосов
/ 13 февраля 2020

Как бы я мог равномерно сгруппировать строки между динамическим c номером ячейки?

1000 строк, нужно разбить на 10, и для каждой строки будет выглядеть как ниже

Index | Group
1     | 1
99    | 1
101   | 2
200   | 3
500   | 6
900   | 10
1000  | 10

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Это называется биннингом.

Function getBucket(rng As Range) As String
    Dim strReturn As String

    Select Case rng.Value
        Case 0 To 100
            strReturn = "1"
        Case 101 To 200
             strReturn = "2"
        Case 201 To 300
             strReturn = "3"
        Case 301 To 400
             strReturn = "4"
        Case 401 To 500
             strReturn = "5"
        Case 501 To 600
             strReturn = "6"
        Case 601 To 700
             strReturn = "7"
        Case 701 To 800
             strReturn = "9"
        Case 801 To 900
             strReturn = "9"
        Case Else
             strReturn = "10"
    End Select
    getBin = strReturn
End Function

enter image description here

Измените код в соответствии с вашими потребностями c. Кажется, что 900 должен go в корзине '9', а не в корзине '10', как вы показываете, но вы можете легко изменить код, чтобы сделать это таким образом, если хотите.

0 голосов
/ 14 февраля 2020

Не могли бы вы предоставить более подробную информацию? Не очень понятно, с чем вам нужна помощь.

В PowerQuery вы можете группировать строки, создав столбец индекса, а затем создав настраиваемый столбец, в который добавляется номер группы (IE: if [Index] <= 1000, затем еще 10, если [Index] <= 900, то 9 ... et c) и, наконец, сгруппировать по номеру группы. Вы также можете использовать некоторую алгебру, чтобы автоматически определить номер группы, используя оператор по модулю с определенной переменной # строк. Конечно, когда вы группируете строки, он выполняет агрегирование, и вы теряете другие данные в запросе. </p>

Я был бы рад предоставить более подробные шаги, но мне нужно больше информации в описании вашей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...