Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Формула СЧЕТЕСЛИМН в Power Query - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Формула СЧЕТЕСЛИМН в Power Query
Digitalizer Дата: Четверг, 23.05.2019, 10:38 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Доброго времени суток!

Который день пытаюсь построить цепочку функций в Power Query, но так и не смог, т.к. логика построения формул Excel в PQ не очень работает.
Вопрос про альтернативу СЧЕТЕСЛИМН в Power Query.

Вот есть массив (файл прилагаю) со столбцом Count, требуется по аналогии создать столбец в PQ для каждой позиции в массиве.
Спасибо заранее.
К сообщению приложен файл: count.xls (93.0 Kb)
 
Ответить
СообщениеДоброго времени суток!

Который день пытаюсь построить цепочку функций в Power Query, но так и не смог, т.к. логика построения формул Excel в PQ не очень работает.
Вопрос про альтернативу СЧЕТЕСЛИМН в Power Query.

Вот есть массив (файл прилагаю) со столбцом Count, требуется по аналогии создать столбец в PQ для каждой позиции в массиве.
Спасибо заранее.

Автор - Digitalizer
Дата добавления - 23.05.2019 в 10:38
_Boroda_ Дата: Четверг, 23.05.2019, 10:50 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16895
Репутация: 6613 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Вам нужна кнопка Группировать всё на вкладке Главная в PQ?
[vba]
Код

let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Model", type text}, {"Prod. date", type datetime}, {"Sale date", type datetime}, {"MIS", Int64.Type}, {"MFG date", type text}, {"Count", Int64.Type}}),
    #"Сгруппированные строки" = Table.Group(#"Измененный тип", {"MIS"}, {{"Количество", each Table.RowCount(_), type number}})
in
    #"Сгруппированные строки"
[/vba]
К сообщению приложен файл: count_1.xlsx (32.4 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВам нужна кнопка Группировать всё на вкладке Главная в PQ?
[vba]
Код

let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Model", type text}, {"Prod. date", type datetime}, {"Sale date", type datetime}, {"MIS", Int64.Type}, {"MFG date", type text}, {"Count", Int64.Type}}),
    #"Сгруппированные строки" = Table.Group(#"Измененный тип", {"MIS"}, {{"Количество", each Table.RowCount(_), type number}})
in
    #"Сгруппированные строки"
[/vba]

Автор - _Boroda_
Дата добавления - 23.05.2019 в 10:50
Digitalizer Дата: Четверг, 23.05.2019, 11:01 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
_Boroda_: Спасибо, но я имел ввиду другое - импортировать весь массив в PQ, далее добавить столбец Count и там уже применить аналог СЧЕТЕСЛИМН.
К сообщению приложен файл: _count_1.xlsx (41.1 Kb)
 
Ответить
Сообщение_Boroda_: Спасибо, но я имел ввиду другое - импортировать весь массив в PQ, далее добавить столбец Count и там уже применить аналог СЧЕТЕСЛИМН.

Автор - Digitalizer
Дата добавления - 23.05.2019 в 11:01
sboy Дата: Четверг, 23.05.2019, 11:16 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
[vba]
Код

    f = (tb,a,b,c)=> Table.RowCount(Table.SelectRows(t, each ([MIS] >= a and [Model] = b and [MFG date] = c))),
    #"Добавлен пользовательский объект" = Table.AddColumn(t, "CountPQ", each f(t, [MIS], [Model], [MFG date]))
[/vba]
К сообщению приложен файл: 4010612.xls (86.5 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
[vba]
Код

    f = (tb,a,b,c)=> Table.RowCount(Table.SelectRows(t, each ([MIS] >= a and [Model] = b and [MFG date] = c))),
    #"Добавлен пользовательский объект" = Table.AddColumn(t, "CountPQ", each f(t, [MIS], [Model], [MFG date]))
[/vba]

Автор - sboy
Дата добавления - 23.05.2019 в 11:16
anvg Дата: Четверг, 23.05.2019, 14:13 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток
each f(t, [MIS], [Model], [MFG date])

И столько времени будет эта конструкция будет работать? Стоит ли подражать Excel функциям, даже если ТС этого уж очень хочет?
 
Ответить
СообщениеДоброе время суток
each f(t, [MIS], [Model], [MFG date])

И столько времени будет эта конструкция будет работать? Стоит ли подражать Excel функциям, даже если ТС этого уж очень хочет?

Автор - anvg
Дата добавления - 23.05.2019 в 14:13
sboy Дата: Четверг, 23.05.2019, 15:01 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
anvg, я только учусь) использую, как понимаю. Предполагаю, что вариантов решения этой задачи много. Если есть у Вас время и возможность, напишите более оптимальный вариант(ы), с удовольствием изучу и пополню свою копилку знаний.


Яндекс: 410016850021169
 
Ответить
Сообщениеanvg, я только учусь) использую, как понимаю. Предполагаю, что вариантов решения этой задачи много. Если есть у Вас время и возможность, напишите более оптимальный вариант(ы), с удовольствием изучу и пополню свою копилку знаний.

Автор - sboy
Дата добавления - 23.05.2019 в 15:01
anvg Дата: Пятница, 24.05.2019, 09:04 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
напишите более оптимальный вариант
Так собственно использовать код Александра
[vba]
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Model", type text}, {"Prod. date", type datetime}, {"Sale date", type datetime}, {"MIS", Int64.Type}, {"MFG date", type text}, {"Count", Int64.Type}}),
    #"Сгруппированные строки" = Table.Group(#"Измененный тип", {"MIS"}, {{"temp", each _},{"Количество", each Table.RowCount(_), type number}}),
    #"Removed Columns" = Table.RemoveColumns(#"Сгруппированные строки",{"MIS"}),
    #"Expanded {0}" = Table.ExpandTableColumn(#"Removed Columns", "temp", {"Model", "Prod. date", "Sale date", "MIS", "MFG date", "Count"}, {"Model", "Prod. date", "Sale date", "MIS", "MFG date", "Count"})
in
    #"Expanded {0}"
[/vba]
 
Ответить
Сообщение
напишите более оптимальный вариант
Так собственно использовать код Александра
[vba]
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Model", type text}, {"Prod. date", type datetime}, {"Sale date", type datetime}, {"MIS", Int64.Type}, {"MFG date", type text}, {"Count", Int64.Type}}),
    #"Сгруппированные строки" = Table.Group(#"Измененный тип", {"MIS"}, {{"temp", each _},{"Количество", each Table.RowCount(_), type number}}),
    #"Removed Columns" = Table.RemoveColumns(#"Сгруппированные строки",{"MIS"}),
    #"Expanded {0}" = Table.ExpandTableColumn(#"Removed Columns", "temp", {"Model", "Prod. date", "Sale date", "MIS", "MFG date", "Count"}, {"Model", "Prod. date", "Sale date", "MIS", "MFG date", "Count"})
in
    #"Expanded {0}"
[/vba]

Автор - anvg
Дата добавления - 24.05.2019 в 09:04
sboy Дата: Пятница, 24.05.2019, 09:19 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Но результат этого запроса не соответствует тому, что хочет получить ТС %)
К сообщению приложен файл: 4064548.xls (95.0 Kb) · 5901278.jpg (15.2 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеНо результат этого запроса не соответствует тому, что хочет получить ТС %)

Автор - sboy
Дата добавления - 24.05.2019 в 09:19
anvg Дата: Пятница, 24.05.2019, 10:36 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Но результат этого запроса не соответствует тому

Sorry, не досмотрел

Естественно, можно было бы обойтись и без join, но лень было исходную часть переделывать :)


Сообщение отредактировал anvg - Пятница, 24.05.2019, 10:39
 
Ответить
Сообщение
Но результат этого запроса не соответствует тому

Sorry, не досмотрел

Естественно, можно было бы обойтись и без join, но лень было исходную часть переделывать :)

Автор - anvg
Дата добавления - 24.05.2019 в 10:36
sboy Дата: Пятница, 24.05.2019, 11:22 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
anvg, Благодарю. ушел разбирать код :)


Яндекс: 410016850021169
 
Ответить
Сообщениеanvg, Благодарю. ушел разбирать код :)

Автор - sboy
Дата добавления - 24.05.2019 в 11:22
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!