Формула СЧЕТЕСЛИМН в Power Query
Digitalizer
Дата: Четверг, 23.05.2019, 10:38 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация:
0
±
Замечаний:
20% ±
Excel 2013
Доброго времени суток! Который день пытаюсь построить цепочку функций в Power Query, но так и не смог, т.к. логика построения формул Excel в PQ не очень работает. Вопрос про альтернативу СЧЕТЕСЛИМН в Power Query. Вот есть массив (файл прилагаю) со столбцом Count, требуется по аналогии создать столбец в PQ для каждой позиции в массиве. Спасибо заранее.
Доброго времени суток! Который день пытаюсь построить цепочку функций в Power Query, но так и не смог, т.к. логика построения формул Excel в PQ не очень работает. Вопрос про альтернативу СЧЕТЕСЛИМН в Power Query. Вот есть массив (файл прилагаю) со столбцом Count, требуется по аналогии создать столбец в PQ для каждой позиции в массиве. Спасибо заранее. Digitalizer
К сообщению приложен файл:
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]
Вам нужна кнопка Группировать всё на вкладке Главная в 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_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: 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 и там уже применить аналог СЧЕТЕСЛИМН.
_Boroda_: Спасибо, но я имел ввиду другое - импортировать весь массив в PQ, далее добавить столбец Count и там уже применить аналог СЧЕТЕСЛИМН. Digitalizer
Ответить
Сообщение _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]
Добрый день. [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
Яндекс: 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
Ответить
Сообщение Доброе время суток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 , я только учусь) использую, как понимаю. Предполагаю, что вариантов решения этой задачи много. Если есть у Вас время и возможность, напишите более оптимальный вариант(ы), с удовольствием изучу и пополню свою копилку знаний.
anvg , я только учусь) использую, как понимаю. Предполагаю, что вариантов решения этой задачи много. Если есть у Вас время и возможность, напишите более оптимальный вариант(ы), с удовольствием изучу и пополню свою копилку знаний.sboy
Яндекс: 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
Ответить
Сообщение напишите более оптимальный вариант
Так собственно использовать код Александра [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
Но результат этого запроса не соответствует тому, что хочет получить ТС
Но результат этого запроса не соответствует тому, что хочет получить ТС sboy
Яндекс: 410016850021169
Ответить
Сообщение Но результат этого запроса не соответствует тому, что хочет получить ТС Автор - sboy Дата добавления - 24.05.2019 в 09:19
anvg
Дата: Пятница, 24.05.2019, 10:36 |
Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация:
271
±
Замечаний:
0% ±
2016, 365
Но результат этого запроса не соответствует тому
Sorry, не досмотрел
[vba]
Код
let Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Model", type text}, {"Prod. date", type datetime}, {"Sale date", type datetime}, {"MIS", Int64.Type}, {"MFG date", type text}, {"Count", Int64.Type}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"Model", "MFG date", "MIS"}, {{"count", each Table.RowCount(_), type number}}), #"Sorted Rows" = Table.Sort(#"Grouped Rows",{{"Model", Order.Ascending}, {"MFG date", Order.Ascending}, {"MIS", Order.Descending}}), #"Grouped Rows1" = Table.Group(#"Sorted Rows", {"Model", "MFG date"}, {{"countif", (sub) => let items = List.Buffer(Table.ToRecords(sub)), itemCount = List.Count(items), calcer = List.Generate( () => [id = 0, rec = items{0}, MIS = rec[MIS], countif = rec[count]], each [id] < itemCount, each [id = [id] + 1, rec = items{id}, MIS = rec[MIS], countif = [countif] + rec[count]], each [[MIS], [countif]] ) in Table.FromRecords(calcer) }}), #"Expanded {0}" = Table.ExpandTableColumn(#"Grouped Rows1", "countif", {"MIS", "countif"}, {"MIS", "countif.1"}), result = Table.Join(#"Changed Type", {"Model", "MFG date", "MIS"}, #"Expanded {0}", {"Model", "MFG date", "MIS"}) in result
[/vba]
Естественно, можно было бы обойтись и без join, но лень было исходную часть переделывать
Но результат этого запроса не соответствует тому
Sorry, не досмотрел
[vba]
Код
let Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Model", type text}, {"Prod. date", type datetime}, {"Sale date", type datetime}, {"MIS", Int64.Type}, {"MFG date", type text}, {"Count", Int64.Type}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"Model", "MFG date", "MIS"}, {{"count", each Table.RowCount(_), type number}}), #"Sorted Rows" = Table.Sort(#"Grouped Rows",{{"Model", Order.Ascending}, {"MFG date", Order.Ascending}, {"MIS", Order.Descending}}), #"Grouped Rows1" = Table.Group(#"Sorted Rows", {"Model", "MFG date"}, {{"countif", (sub) => let items = List.Buffer(Table.ToRecords(sub)), itemCount = List.Count(items), calcer = List.Generate( () => [id = 0, rec = items{0}, MIS = rec[MIS], countif = rec[count]], each [id] < itemCount, each [id = [id] + 1, rec = items{id}, MIS = rec[MIS], countif = [countif] + rec[count]], each [[MIS], [countif]] ) in Table.FromRecords(calcer) }}), #"Expanded {0}" = Table.ExpandTableColumn(#"Grouped Rows1", "countif", {"MIS", "countif"}, {"MIS", "countif.1"}), result = Table.Join(#"Changed Type", {"Model", "MFG date", "MIS"}, #"Expanded {0}", {"Model", "MFG date", "MIS"}) in result
[/vba]
Естественно, можно было бы обойтись и без join, но лень было исходную часть переделывать anvg
Сообщение отредактировал anvg - Пятница, 24.05.2019, 10:39
Ответить
Сообщение Но результат этого запроса не соответствует тому
Sorry, не досмотрел
[vba]
Код
let Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Model", type text}, {"Prod. date", type datetime}, {"Sale date", type datetime}, {"MIS", Int64.Type}, {"MFG date", type text}, {"Count", Int64.Type}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"Model", "MFG date", "MIS"}, {{"count", each Table.RowCount(_), type number}}), #"Sorted Rows" = Table.Sort(#"Grouped Rows",{{"Model", Order.Ascending}, {"MFG date", Order.Ascending}, {"MIS", Order.Descending}}), #"Grouped Rows1" = Table.Group(#"Sorted Rows", {"Model", "MFG date"}, {{"countif", (sub) => let items = List.Buffer(Table.ToRecords(sub)), itemCount = List.Count(items), calcer = List.Generate( () => [id = 0, rec = items{0}, MIS = rec[MIS], countif = rec[count]], each [id] < itemCount, each [id = [id] + 1, rec = items{id}, MIS = rec[MIS], countif = [countif] + rec[count]], each [[MIS], [countif]] ) in Table.FromRecords(calcer) }}), #"Expanded {0}" = Table.ExpandTableColumn(#"Grouped Rows1", "countif", {"MIS", "countif"}, {"MIS", "countif.1"}), result = Table.Join(#"Changed Type", {"Model", "MFG date", "MIS"}, #"Expanded {0}", {"Model", "MFG date", "MIS"}) in result
[/vba]
Естественно, можно было бы обойтись и без join, но лень было исходную часть переделывать Автор - anvg Дата добавления - 24.05.2019 в 10:36
sboy
Дата: Пятница, 24.05.2019, 11:22 |
Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
0% ±
Excel 2010
anvg , Благодарю. ушел разбирать код
anvg , Благодарю. ушел разбирать код sboy
Яндекс: 410016850021169
Ответить
Сообщение anvg , Благодарю. ушел разбирать код Автор - sboy Дата добавления - 24.05.2019 в 11:22