209 похожих чатов

В приложенном файле 73 квартал и перечень выделов (1-6, 9,

11, 12,15,16,32,34,37,40) необходимо, чтобы в каждое значение выдела соответствовало кварталу. Часть я сделала траспонированием те, что были через запятую, а те значения, что через тире 1-6, я сначала добавляю пустые строки, потом с единицы протягиваю до 6. Пожалуйста, подскажите, можно как-нибудь это оптимизировать?

14 ответов

9 просмотров

ну вариант let from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], f=(x)=>Expression.Evaluate("{"&Text.Replace(x,"-","..")&"}",#shared), lst=Table.ToList(from,(x)=>x), tr=List.TransformMany(lst,(x)=>f(List.Last(x)),(x,y)=>List.RemoveLastN(x,1)&{y}), to = Table.FromList(tr,(x)=>x,Value.Type(from)) in to

Marie- Автор вопроса
Marie
Спасибо, сейчас попробую

в следующий раз попробуйте показывать свои попытки в файле

Marie
Хорошо, поняла

может так будет проще для восприятия: let from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], f=(x)=>Expression.Evaluate("{"&Text.Replace(x,"-","..")&"}",#shared), tr = Table.TransformColumns(from,{"выдел",f}), to = Table.ExpandListColumn(tr,"выдел") in to

Andrey Kozlenok
интересный подход

надёжный если вот такое попадётся, например: 1-6,9,11,12-15,16,32-34,37,40

Mikhail Muzykin
надёжный если вот такое попадётся, например: 1-6,9...

Получается, принципиальной разницы, делать replace до evaluate или внутри нет?

Andrey Kozlenok
а, там же текст, добавил Number.From

а если гонять, то наверное так: let from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], f=(x)=>List.Combine(List.Transform(Text.Split(x,","),(x)=>[a=List.Transform(Text.Split(x,"-"),Number.From),b=if List.Count(a)>1 then {a{0}..a{1}} else a][b])), tr = Table.TransformColumns(from,{"выдел",f}), to = Table.ExpandListColumn(tr,"выдел") in to

Mikhail Muzykin
а если гонять, то наверное так: let from = Exc...

визуально не могу найти отличий, но это быстрее ))

Andrey Kozlenok
визуально не могу найти отличий, но это быстрее ))

ааа, прикольно - я не вчитывался - очень много стокав; но разница есть - у меня на одно пространство имён меньше )))

Mikhail Muzykin
ааа, прикольно - я не вчитывался - очень много сто...

let Source = Excel.CurrentWorkbook(){[Name="src"]}[Content], tableTransformColumns = Table.TransformColumns( Source, { "выдел", ( x ) => [ textSplit = Text.Split( x, "," ), listTransform = List.Transform( textSplit, ( y ) => if Text.PositionOf( y, "-" ) = -1 then { Number.From( y ) } else [ textSplit = Text.Split( y, "-" ), numberFrom = List.Transform( textSplit, Number.From ), listValues = { numberFrom{ 0 } .. numberFrom{ 1 } } ][ listValues ] ), listCombine = List.Combine( listTransform ) ][ listCombine ] } ), #"Expanded {0}" = Table.ExpandListColumn(tableTransformColumns, "выдел") in #"Expanded {0}"

Mikhail Muzykin
ааа, прикольно - я не вчитывался - очень много сто...

никогда бы не подумал, что скорость из-за имен так может влиять, тем более так существенно. либо я действительно не вижу разницу по функциям и их порядку, а она есть))

Похожие вопросы

Обсуждают сегодня

@samkazemian - couple questions: Update on frxBTC? - This would do well with the current influx of institutional investment entering the space Update on future veFXS streams...
Costi
16
Does anyone here have a connection Mullvad? it would be nice to know what it would take to have them accept BCH 0-conf.
tl121x
16
Can an XMR transaction be tracked from its sender to its receiver by performing blockchain analysis, no matter how many addresses are used?
Trkz342
16
I arrived here after a Chico Crypto show highlighted the project & the Team - the fact that the Team had a long history of successfully working with household names gave me e...
Banter is Bullish
5
So after the feedback, we have broken it down into 4 road maps. Dev team, Marketing, Partnerships, and community. Dev branch will show the status of the swap, fork, gb’s, bug...
LGCY
1
Dear super pioneers 🥳🥳: I want to purchase a hosting plan for a website where video games, metaverse, AI avatars, videos, and heavy virtual twins can be uploaded, which I wan...
Guapi
10
Morning people Just seeing the conversation about Mining. It's clear that at this point in time it doesn't look like there is much point to it. But the Hasrate is at a al...
Kenny
4
Maybe an article to read?
Dev Bobby
14
We're excited to announce our beta integration with Enkrypt, a multi-chain browser wallet by MyEtherWallet — a major step towards $KDA accessibility in the broader Web3 ecosys...
Mal (will not DM you first) Sutton
5
Is it a good price to buy hex now on 0,0019?
Patrick
29
Карта сайта