Страницы: 1
RSS
Power Query сцепить строку с данными ниже этой строки, Забираю данные в виде табл. но по структуре имеются ячейки где текс разбит с разрывом через строку
 
Коллеги всем привет!
Столкнулся с такой проблемой , при подключении данных к сайту забираю табл, но при обработке увидел что имеются строки/ячейка где данные разбиты на строку ниже  , можно ли с этим как то побороться ? в файле я выделил такие ошибки желтым цветом , если смотреть на массив таких примерно может быть шт 5 да не страшно, но когда данные полные это приятнее. Если есть решение подскажите куда копать или возможно формулу , буду благодарен. Код запроса так же присутствует в файле.
 
Если честно я не очень понял принцип объединения. Есть какой-то критерий, который дает понять, что вот эти строки надо объединить с теми?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Если первые два столбца задействовать но корректно ли это. Если в первом Text идёт через строчку и во втором на ячейку ниже стоит IMG то сцеплять ячейки(название команд), но помоему это ерундистика какая то)). Я так же искал думал за что завязаться , но не нашёл.
 
Вам так надо?
Код
let
    Источник = Web.Page(Web.Contents("http://m.myscore.ru/?d=-1")),
    Data0 = Источник{0}[Data],
    Children = Data0{0}[Children],
    Children1 = Children{1}[Children],
    Children2 = Children1{2}[Children],
    Children3 = Children2{6}[Children],
    РазвернутыйЭлемент = Table.ExpandTableColumn(Children3, "Children", {"Text"}, {"Text.1"}),
    GroupedRows = Table.Group(
        РазвернутыйЭлемент, 
        {"Name"}, 
        {{"tab", each 
            [tab = Table.Buffer(_),
             filter = Table.Transpose( Table.SelectRows(_, each [Name]="H4" or [Name]="SPAN" or [Name]="A")[[Name],[#"Text.1"]] ),
             add = Table.AddColumn( Table.PromoteHeaders( filter ), "Команды", each Text.Combine( tab[Text] ), type text)][add], type table}}, 
        GroupKind.Local, 
        (a,b)=> Number.From( b[Name] = "BR" ) ),
    Custom1 = Table.Combine( GroupedRows[tab] ),
    FilledDown = Table.FillDown(Custom1,{"H4"}),
    RenamedColumns = Table.RenameColumns(FilledDown,{{"H4", "Турнир"}, {"SPAN", "Время проведения"}, {"A", "Счет"}}),
    SelectedColumns = Table.SelectColumns(RenamedColumns,{"Турнир", "Время проведения", "Счет", "Команды"})
in
    SelectedColumns

Вы там счет спарсили как-то не очень, так что я все вообще переделал.
Вот горшок пустой, он предмет простой...
 
Да счёт я сделаю как мне нужно это не проблема , ну вы завернули в группу конечно  очень круто , я бы не додумался реально да такого, очень благодарю , сейчас буду накручивать свои поля.
Спасибо за ответ
 
PooHkrd, никак не пойму как это выражение переименовывает строки и почему не изменилось имя H4?
Код
(a,b)=> Number.From( b[Name] = "BR" )
 
artyrH, оно не переименовывает, оно группирует. Это кастомный сравниватель строк. Если этот аргумент опустить, то стандартный выглядел бы так:
Код
(a,b)=> Number.From( a[Name] = b[Name] ) 

т.е. при группировке сравниваются не 2 строки между собой, а вторая строка с фиксированным значением.
Если кнопками, то аналог был бы таким: индекс, потом делаем столбец "если name = br, то индекс", потом заполнить вверх, а потом группировать по новому столбцу. А можно вот так. ;)
Вот горшок пустой, он предмет простой...
 
PooHkrd, спасибо. посмотрел еще здесь. примерно понял
Страницы: 1
Читают тему (гостей: 1)
Наверх