Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 153 След.
PQ. Перемножить коэф по лестнице внутри групп
 
Цитата
OblivionR написал:
(ну и сам шаг) fnAddStairway
это не шаг, это функция, которую применяем к группируемым строкам.
Если нужно, могу расписать по шагам, что она делает
F1 творит чудеса
Dax Мера - подсчёт уникальных закупок, которые не присутствовали в предыдущем периоде
 
тоже вариант:
Код
Сумма новых =
CALCULATE(
    SUM( 'Таблица1'[АТ] );
    EXCEPT(
        SUMMARIZE( 'Таблица1'; 'Таблица1'[SKU]; 'Таблица1'[SMSid] );
        CALCULATETABLE(
            SUMMARIZE( 'Таблица1'; 'Таблица1'[SKU]; 'Таблица1'[SMSid] );
            FILTER(
                ALL( 'Таблица1'[Period] );
                'Таблица1'[Period] < MIN( 'Таблица1'[Period] )
            )
        )
    )
)
F1 творит чудеса
PQ. Перемножить коэф по лестнице внутри групп
 
Если правильно понял идею, то так, наверное - группируем по позиции и типу сырья, затем внутри группировки делаем чики-пуки:
F1 творит чудеса
Сопоставление столбцов на наличие нечетких совпадений
 
александр солнцев, у вас аллергия на ВПР? чем он не угодил?
F1 творит чудеса
Сопоставление столбцов на наличие нечетких совпадений
 
александр солнцев,
пробуйте:
Код
=ЕСЛИОШИБКА(ВПР(ТЕКСТ(A1;"ДД.ММ.ГГГГ")&"*";$I$1:$J$8;2;0);"")=B1
F1 творит чудеса
Вывести название месяца (месяцев), если в ячейках месяц один (два)
 
= Если(D2=E2;D2;D2&"-"&E2)
F1 творит чудеса
PowerPivot: посчитать кол-во задач по дням и ответственным
 
duhovnik, какая версия Excel?
Впрочем,
Код
=countrows(filter('Диапазон';'Диапазон'[Начало]<=max( 'Calendar'[date])&&'Диапазон'[Окончание]>=max( 'Calendar'[date])))
F1 творит чудеса
Читабельная сводная таблица (закупка/продажа)
 
см. Лист1, если правильно понял идею
F1 творит чудеса
Power Bi: как делать так, чтобы фильтр(срезы) показывали все визуализации на текущую дату(месяц)
 
можно сменить тип среза по дате на "относительный срез по дате", и там выбрать "текущий месяц".
К сожалению, форсированного выбора текущего месяца на обычном срезе нет.
F1 творит чудеса
Power Query выделяет скрытый лист и "ломает" текущий.
 
на 365 не могу повторить. Попробуйте поиграть с фоновым/не фоновым обновлением в свойствах запроса
F1 творит чудеса
powerquery - убрать первые 5 символов если начинается с 41001
 
Цитата
Владимир . написал:
15 симовлов, достаточно часто последняя цифра обращается в ноль.  
импортируйте как текст, и не будет ничего обрезаться.
Цитата
Владимир . написал:
убирать первые 5 символов в столбце
Text.Middle
Код
Text.Middle("410011234567890", 6) // "1234567890"
F1 творит чудеса
Объединить данные нескольких таблиц с добавлением строк (Power Query?)
 
Цитата
alpopo написал:
64-разрядная версия 2.61.5192.1301
нужно накатить все обновления Excel.
F1 творит чудеса
Объединить данные нескольких таблиц с добавлением строк (Power Query?)
 
Pavlin3, да, верно, не учел. Недавно (два-три месяца назад) в команду Table.AddIndexColumn добавили автоматический 5-й аргумент - тип столбца (х.з., зачем это сделали именно так, но теперь надо следить за версией PQ). Сотрите в этих шагах добавления индекса последнюю часть, вот такую, вместе с запятой
Код
, Int64.Type
Цитата
alpopo написал:
где увидеть версию PQ?
В редакторе Power Query: Файл - Параметры и настройки - Параметры запроса - Диагностика. У меня версия 2.84.801.0
F1 творит чудеса
PQ Вывести сообщение об отправке данных после вызова процедуры
 
Цитата
buchlotnik написал:
OFF: Максим, откуда такая нелюбовь к j?
так получилось :) для меня i, j, k, l, m, n - это, по привычке, счетчики :)
F1 творит чудеса
PQ Вывести сообщение об отправке данных после вызова процедуры
 
Цитата
Михаил Л написал:
Раз сделал, еще вариант.
вопрос в том, будет ли проведена оценка meta без обращения к метаданным? Это такой "запрос Шредингера".
F1 творит чудеса
Найти повторы в строке PQ
 
Цитата
buchlotnik написал:
если ставить цель покороче
[QUOTE]а так еще на 2 символа короче :)
Код
Table.AddColumn(Excel.CurrentWorkbook(){[Name="Welds"]}[Content],"doubles",each let a=List.Skip(Record.FieldValues(_),4)in Text.Combine(List.Distinct(List.Difference(a,List.Distinct(a))),"; "))
F1 творит чудеса
Странное уведомление при использовании формулы ВПР после обновления Excel до новой версии
 
Цитата
Skywriter Sky написал:
Что означает значок амперсант в скобках?
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=125314&TITLE_SEO=125314-pochemu-excel-samostoyatelno-pripisyvaet-simvol-_-v-nekotorykh-formulakh&MID=1034019#message1034019
F1 творит чудеса
PQ Вывести сообщение об отправке данных после вызова процедуры
 
Цитата
Дмитрий Осипов написал:
показать как сделать через meta?
попробуйте так
Код
in
    Custom1 meta [insert = a3]
хотя я всё же посоветовал бы по такому типу:
Код
let
     
    a1= Регион("Регион"),
    a2= Бренд("Бренд"), 
     
    a3 = Teradata.Database(
        "база_данных", 
        [Query="
                CALL PROCEDURE имя_процедуры('"&a1&"', '"&a2&"')
    "]),
    Custom1 = if (try a3)[HasError] then "Ошибка отправки данных" else "Данные отправлены на сервер в "& Text.From(Time.From(DateTime.LocalNow()))
in
    Custom1
(try a3)[HasError] здесь только как пример, не знаю, какие дает ответы Teradata если вставка не удалась, но можно было бы их отлавливать и выводить сообщения по результату.

Можно и макросом -  запишите макрорекордером обновление запроса, а в конец получившегося кода перед End Sub добавьте строку
Код
MsgBox "Данные отправлены"

но это будет значить только, что запрос обновлен, а отправлены данные или нет - макросу не видно.
F1 творит чудеса
Объединить данные нескольких таблиц с добавлением строк (Power Query?)
 
Pavlin3, простите, вот сейчас не понял... решение должно отличаться от требуемого результата?
F1 творит чудеса
DAX. Вычислить количество дней между событиями по дате в одном столбце, Необходимо выполнить внутри существующей меры.
 
Еще актуален вопрос?
Если честно, не понял, что вы пытаетесь посчитать второй (нерабочей) мерой. Только количество дней между двумя операциями?
Код
Количество дней между операциями = 
IF(NOT(ISBLANK([Сумма ДДС])),
VAR _PrevDate = CALCULATE(LASTNONBLANK('ДДС'[Дата],[Сумма ДДС]), FILTER(ALL('Календарь'), 'Календарь'[Date]< MAX('Календарь'[Date])))
VAR _CurrentDate = MAX('Календарь'[Date])
RETURN DATEDIFF(_PrevDate,_CurrentDate,DAY)
)
где
Код
Сумма ДДС = SUM('ДДС'[Сумма])
F1 творит чудеса
Не работает меню "Моё избранное"
 
Увы, подтверждаю. Как раз понадобилось найти тему, и ах
F1 творит чудеса
Объединить данные нескольких таблиц с добавлением строк (Power Query?)
 
Лучше, конечно, объединить ведомости работ в одну таблицу (см. Вариант 2 в файле)
F1 творит чудеса
PQ Вывести сообщение об отправке данных после вызова процедуры
 
Цитата
Максим Зеленский написал:
Выражения элементов списка
откуда, кстати, следует, что в этом выражении будет рассчитано только одно значение списка - первое.
Код
let
    A = List.Generate(()=>[i=0, z = 1], each [i]<1000000000, each [i=[i]+1, z = Number.Power(2, i)], each [z])
    B = List.First(A)
in
    B
что будет, если запросить последнее - предлагаю проверить :)
F1 творит чудеса
PQ Вывести сообщение об отправке данных после вызова процедуры
 
Михаил Л, да, все верно, об этом очень четко и ясно сказано в документации языка.

М частично lazy evaluation - не вычисляем до тех пор, пока не потребуется, или - вычисляем только то, что требуется.
Например, имеем в Excel в ячейке A1 = 1, в ячейке B1 = A1/0 (деление на 0), в ячейке C1 = A1+1. Цепочка вычисления C1 не включает в себя B1, то есть для вычисления C1 нам надо знать только A1.
Теперь берем запрос
Код
let 
    A1 = 1, 
    B1 = = error "еггог", 
    C1 = A1 +1 
in 
    C1
Это абсолютно равнозначно
Код
[
    A1 = 1,
    B1 = = error "еггог", 
    C1 = A1 +1
][C1]
let variable-list in expression это просто syntax sugar для обращения к отдельному полю записи.

для получения C1 нам не надо знать B1, соответственно он не будет рассчитываться, и запрос не вернет ошибку, потому что:
Цитата
Выражения элементов списка и записи (а также выражения let, представленные ниже) оцениваются с помощью отложенных вычислений, что означает, что они оцениваются только по мере необходимости.
Так как let-in это получение значения поля некоей записи, то в этой записи будут вычисляться только те значения, которые необходимы для получения итогового значения (идущего после in).
Поэтому любой запрос, который мы пишем в Power Query в Excel и Power BI и в SSAS, работает именно так. Разве что при написании кастомных коннекторов есть исключения, но это не точно :)

И тут еще:
Цитата
Unless the expressions in the variable-list are accessed, they must not be evaluated.
Если нет обращения к выражениям в variable-list, они не должны вычисляться.

Вот такой запрос тоже спокойно выполнится без ошибки, так как нет необходимости рассчитывать результат false:
Код
let
    A = "some text",
    B = error "еггог",
    C = if A <> "" then A else B
in
    C
Цитата
  • The true-expression is only evaluated if the if-condition evaluates to the value true.

  • The false-expression is only evaluated if the if-condition evaluates to the value false.

В общем, палка о двух концах, нужно знать и учитывать, и чтить спецификацию языка, как уголовный кодекс :)
F1 творит чудеса
PQ Вывести сообщение об отправке данных после вызова процедуры
 
Через meta должно сработать.
F1 творит чудеса
Удаление дублей в Power Query, Более 1000 строк, удаляет некорректно
 
PooHkrd, а так короче и "типа без сортировки" :)
Код
GroupedRows = Table.Group(PromotedHeaders, {"Имя пользователя"}, {{"Статус курса", each Table.Min(_, "Статус курса")[Статус курса], type text}})
F1 творит чудеса
Функции Power Query, которые ведут себя неоднозначно, и вообще возомнили о себе
 
нет, не косяки, а типичное буквоедство :):)
На самом деле настолько неочевидный момент, что только кропотливое изучение схемы дает ответ.
В Typed тип nullable date, а в Added2Typed - просто date. И пойди догадайся.
Причина в том, что Table.TransformColumnTypes всегда присваивает nullable type.
Пытался сделать такую операцию:
Код
=Table.ReplaceValue(Source, "", null, Replacer.ReplaceValue, Table.ColumnsOfType(Source, {type text}))

Если все столбцы были типизированы через Table.TransformColumnTypes, замену не делало совсем, и Table.ColumnsOfType давало пустой список.
Потом обнаружил, что замену делает только в тех столбцах, где тип был задан по примеру Added2Typed (через присвоение типа в процессе создания столбца, например, или через прописывание типа таблицы).
Вот такая конструкция зато работает
Код
=Table.ReplaceValue(Source, "", null, Replacer.ReplaceValue, Table.ColumnsOfType(Source, {type nullable text}))

пришлось долго гуглить и спрашивать старших товарищей. В общем, если кратко, то любой примитивный тип конформится с им же nullable, НО не наоборот:
Код
= Type.Is(type nullable date, type date) // false
= Type.Is(type date, type nullable date) // true

У Бена это тоже расписано, хоть и не просто
F1 творит чудеса
PQ. Отбор по двум и более колонкам значений по списку
 
Цитата
Solomama написал:
применение List.Buffer или его плюсы?
Вы выполняете проверку для каждой строки таблицы на попадание значений в некий список. Списки (как и таблицы), в отличие от обычных скалярных значений, обладают свойством мутабельности (изменчивости) - то есть, PQ может решить, что между проверкой первой и второй строки список мог измениться, поэтому его надо прочитать снова. И так он будет пытаться читать его из источника снова и снова, для каждой строки второй таблицы. Если вторая таблица большая, то можно удивиться. В общем, нужно как-то запретить ему это делать.
Есть несколько вариантов:
- перед фильтрацией положить список в буфер (т.е. в память). Фактически, можно было в основном запросе сделать шаг типа
Код
MyList = List.Buffer(#"ТаблицаДляОтбора"[Группа])

и ссылаться на него
- рассчитать список как часть определения функции (это уже более тонкие материи, долго описывать), тогда шаг с фильтрацией выглядел бы так:
Код
= Table.SelectRows(Source, let MyList = #"ТаблицаДляОтбора"[Группа] in each List.ContainsAny(MyList, {[Субконто Дт],[Субконто Кт]}))

ну и прочие другие способы
F1 творит чудеса
Функции Power Query, которые ведут себя неоднозначно, и вообще возомнили о себе
 
Андрей VG, По идее да, но нет, будет только второй. Вопрос на засыпку: какого типа первый столбец? :)
F1 творит чудеса
Функции Power Query, которые ведут себя неоднозначно, и вообще возомнили о себе
 
Еще вот любопытное наблюдение:
Код
let
    Source = Table.FromRows({{"01.01.2020"}}, {"date1"}),
    Typed = Table.TransformColumnTypes(Source,{{"date1", type date}}),
    Added2Typed = Table.AddColumn(Typed, "date2", each [date1], type date),
    ColumnsOfType = Table.ColumnsOfType(Added2Typed, {type date})
in
    ColumnsOfType

не подглядывая, какие имена столбцов будут в списке? :)
F1 творит чудеса
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 153 След.
Наверх