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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 142 След.
Ошибка при установке Power Query на 2010 Excel (x64)
 
нет-нет, нужен не Edge, а Internet Explorer.
F1 творит чудеса
PQ замена разделителя, для преобразования текстовых значений в числовые
 
Код
= Table.TransformColumns(Source, List.Transform(List.Skip(Table.ColumnNames(Source),2), each {_, (q) as number=>try Number.From(q, "ru-RU") otherwise Number.From(q, "en-US")}))
F1 творит чудеса
PQ. Проверка списков на одинаковое количество значений ( "длина" списка), оптимальный способ (по времени исполнения) проверки n-ого количества списков
 
упс. проглядел, что у ТС уже есть это
Код
check_1 = List.Count( List.Distinct( number_of_items ) ) = 1,
F1 творит чудеса
PQ. Проверка списков на одинаковое количество значений ( "длина" списка), оптимальный способ (по времени исполнения) проверки n-ого количества списков
 
Можно еще так, для разнообразия, но на скорость не проверял
Код
= List.Count(List.Distinct(List.Transform(input, List.Count)))=1

вариант PooHkrd представляется самым быстрым, хотя, кмк, это ловля блох
Изменено: Максим Зеленский - 17 Апр 2020 10:18:04 (поторопился)
F1 творит чудеса
Power Query поиск значений в тексте из списка
 
PooHkrd,  :excl:
насчет второго вопроса правда Эрен что-то отморозился :)
F1 творит чудеса
Разная скорость загрузки ссылки на запрос и таблицу в PQ
 
Не ту статью читали :)
F1 творит чудеса
Как узнать параметры диалогового окна Найти и заменить?
 
Цитата
Korshi написал:
Как узнать с помощью VBA, какие параметры отображаются в диалоговом окне Найти и заменить?
Надо искать кота  ;)  
F1 творит чудеса
удаление дубликата с условием в power query
 
Простая сортировка не обязательно сохранит порядок строк при удалении дубликатов. Но если перед удалением дубликатов добавить столбец индекса (потом можно удалить), то это фиксирует положение строк в памяти и удаление дубликата пройдет правильно.
Еще вариант:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Grouped Rows" = Table.Group(Source, {"Столбец1", "Столбец2"}, {{"tmp", each Table.Min(_, "Столбец18"), type record}}),
    #"Expanded {0}" = Table.ExpandRecordColumn(#"Grouped Rows", "tmp", {"Столбец3", "Столбец4", "Столбец5", "Столбец6", "Столбец7", "Столбец8", "Столбец9", "Столбец10", "Столбец11", "Столбец12", "Столбец13", "Столбец14", "Столбец15", "Столбец16", "Столбец17", "Столбец18"}, {"Столбец3", "Столбец4", "Столбец5", "Столбец6", "Столбец7", "Столбец8", "Столбец9", "Столбец10", "Столбец11", "Столбец12", "Столбец13", "Столбец14", "Столбец15", "Столбец16", "Столбец17", "Столбец18"})
in
    #"Expanded {0}"
F1 творит чудеса
удаление дубликата с условием в power query
 
Kss, по какому из столбцов определять меньшие значения? По третьему?
Приложите образец файла с образцом данных, и образцом того, что должно получиться.
F1 творит чудеса
Преобразование времени в число Power Query
 
Файл к предыдущему сообщению.
PS при импорте из файла без разницы, откуда берем "длинное время" - из таблицы или с листа, в обоих случаях сразу распознается как datetime.

Так что спасибо за находку :) позже дополню тему на течнете.
F1 творит чудеса
Преобразование времени в число Power Query
 
Там действительно забавно получается.
Я, когда писал сообщение выше, считал, похоже, из CurrentWorkbook
Вот как если сравнивать:

Описывается это так:
Слева исходная таблица в Excel.
Справа сведение в одну двух таблиц, через Excel.CurrentWorkbook (далее WB) и через Excel.Workbook (далее File), в обоих случаях берем данные из таблицы, а не с листа.
Данные брали в таблицу, форматирование столбца As long time в формат datetime (при получении из файла он уже сразу такой, а при получении из WB там будет просто число, как в первом столбце), далее обратно из datetime при помощи Number.From переводили в число.
После выгрузки данные в столбцах As long time форматировались в [чч]:мм:сс

Желтым выделены расхождения с Excel.
  1. (Оранжевый прямоугольник)
    При получении из WB полученное числовое отображение как ни странно, совпадает с Excel, а вот datetime сползает на -1 до 29 февраля 1900 включительно. Начиная с 1 марта 1900 выравнивается.
  2. (Красный прямоугольник)
    При импорте из файла как я писал выше, "длинное время" у нас уже сразу datetime, и там встречается сразу два 1 марта, и одно из них - вместо 29 февраля.

    Но все остальные "длинные времена" - такие же как в Excel, удивительно...
  3. (Зеленый прямоугольник)
    При импорте из файла числовое отображение длинного времени сдвигается относительно Excel на 1, вплоть до 29 февраля 1900 (по Excel времени). То есть, есть два 61-х дня, если можно так выразиться.
ИТОГО
При получении из файла:
если у нас в распоряжении только длинное время, "все пропало" в районе 61 дня:
  • Если числовое отображение <61, или датавремя <29.03.1900, можно брать Number.From от "длинного времени" и вычитать 1, получим такое же число, как в Excel.
  • Если числовое отображение >=62, или датавремя >=02.03.1900, то числовое отображение совпадает.
  • Если числовое отображение >=61 и <62, то есть датавремя 29.03.1900 или 01.03.1900 в Excel, то мы теряем весь кусок данных, который в Excel отвечает за 29 февраля 1900 - у нас два 1 марта, и мы не знаем, какое из них настоящее, соответственно, не можем восстановить правильное число - то ли вычитать 1, то ли нет.
При получении из текущей книги:
  • Если в исходной таблице на листе будет выбран формат отображения "длинное время", в PQ оно будет получено в виде числа, совпадающего с числовым значением в Excel.
  • Если мы преобразуем это в датавремя, то получим визуальный сдвиг, и для того, чтобы после выгрузки в Excel можно было "датавремя" перевести в "длинное время" - такое же, как в Excel, нужно добавлять 1 к датам между 1 января 1900 и 28 февраля 1900 включительно. Звучит дико, но по картинке (п.1) понятно, о чем речь
От такой от бардак :) Из CurrentWorkbook надежнее, а вот при получении из файла - шняга :(
Изменено: Максим Зеленский - 15 Апр 2020 17:16:00
F1 творит чудеса
Преобразование времени в число Power Query
 
ммм... в часах если:
Код
24*Number.From([time]) - (if Duration.TotalDays([time]-DateTime.From(0))>=61 then 0 else 1)

если в днях, убираем умножение на 24
F1 творит чудеса
Преобразование времени в число Power Query
 
Цитата
Murderface_ написал:
правильно работать с данными Excel в формате "37:30:55" с помощью PQ?
а что значит - правильно? Какой результат нужен? Имея на руках формат времени PQ, получить числовой формат, равный числовому формату Excel? или что-то другое? я немного запутался, хоть и прочитал с начала
F1 творит чудеса
PQ. Применение фнкции Table.AddColumn к списку имён добавляемых полей
 
Вот вам AddColumn, в конце прописываете свою функцию:
Код
= List.Accumulate(#"Список полей"[Список полей], Source, (s,c)=>Table.AddColumn(s, Text.From(c), each [Поле1] * c))

Второй вариант:

Если нужны какие-то другие принципы вычисления, вы их хоть наметьте, угадывать сложно
F1 творит чудеса
Использование функции TOTALYTD в PowerPivot
 
честно попытался понять, что у вас там происходит и зачем там SUMX по CROSSJOIN, но так и не понял
F1 творит чудеса
Преобразование времени в число Power Query
 
Excel считает, что 0-й день - это 0-е января 1900 года, а PQ - что это 30 декабря 1899.
Плюс к тому в Excel 1900 год високосный, а в PQ - нет.

Поэтому номер дня в Excel и в PQ начинает совпадать только с 61-го дня, т.е. с 1 марта 1900 года. Отсортируйте ваше время по возрастанию и поймете, в чем прикол.
Различия на мелкие значения происходят, как правило, в 10-м знаке после запятой у секунд и связано с округлениями, числом с плавающей точкой и т.д.
 
F1 творит чудеса
PQ ошибка обновления google.table
 
Встречаю такие жалобы периодически. Какая-то бяка при подключении именно к Google.Sheets
Попробуйте
Код
Источник = Binary.Buffer(Web.Contents("https://docs.google.com/spreadsheets/d/***/export?format=xlsx")),
Источник2 = Excel.Workbook(  Источник, null, true),
    #"Выводной контроль монт. плат_Sheet" = Источник2{[Item="Выводной контроль монт. плат",Kind="Sheet"]}[Data],
 
    #"Повышенные заголовки" = Table.PromoteHeaders(#"Выводной контроль монт. плат_Sheet", [PromoteAllScalars=true]),
F1 творит чудеса
(Power Pivot, Power Query) Вместо нескольких полей со значениями сделать единое, чтобы заголовки столбцов стали измерениями, Power Pivot Power Query
 
у вас должна быть такая цепочка - лист "реестр" - запрос PQ, который грузится в модель данных - Power Pivot из модели данных
F1 творит чудеса
PQ. Передача минимальной и максимальной даты в параметры., Необходим параметр, который заполняется автоматически на основании дат в таблице событий.
 
ivanka,у вас кавычка стоит не в том месте :)

Видите, первая дата черная, вторая - красная, потому что в кавычках.
F1 творит чудеса
PQ: Разница ДатыВремя между строками
 
buchlotnik, сортировку забыли после группировки. Можно сильно удивиться в какой-то момент...
F1 творит чудеса
PQ. Есть ли возможность размещать часто используемые таблицы в оперативку чтобы PQ не читал постоянно данные с жесткого диска?, Power Query
 
Цитата
Student64 написал:
При последующем добавлении шагов в запрос2 опять идет обновление с диска
шаги-то какие? от этого может зависеть
F1 творит чудеса
PQ. Есть ли возможность размещать часто используемые таблицы в оперативку чтобы PQ не читал постоянно данные с жесткого диска?, Power Query
 
Цитата
Student64 написал:
я вижу, что опять идет обращение к сетевому диску. Хотя я ждал, что эта таблица подтянется из буфера
Возможно, таблица слишком большая :) и не поместилась в Буфер. Или же в буфер возьмите ее непосредственно в вашем втором запросе, а не в конце первого
F1 творит чудеса
PQ. Передача минимальной и максимальной даты в параметры., Необходим параметр, который заполняется автоматически на основании дат в таблице событий.
 
Цитата
ivanka написал:
Увы, при замене на запросы выдаёт ошибку:
эта ошибка многократно описана, описано, как ее разбирать, описаны обходные пути. Погуглите по "Formula.Firewall please rebuild this data combination"
Также хорошей практикой является вынесение параметров запроса в параметр Web.Contents RelativePath или Query.
Не могу это всё тут расписать, долго.
F1 творит чудеса
PQ. Передача минимальной и максимальной даты в параметры., Необходим параметр, который заполняется автоматически на основании дат в таблице событий.
 
ivanka, поставьте сначала туда руками какие-то даты, а потом замените их в формуле на названия ваших запросов, которые считают мин и макс. Ну там надо убедиться, что передается в правильном виде. Возможно, нужно еще мин и макс преобразовать в правильный текстовый вид для включения в ссылку
F1 творит чудеса
DAX. Как снять фильтр наложеный на страницу с одной конкретной меры
 
Вы там немного лишнего навернули... целиком разбирать не буду, некогда

Если правильная для вас первая формула, а вторая неверная, то тогда так:

Верхняя часть формул у вас одинаковая, разница только в одном кусочке знаменателя, смотрим только на него:
Код
CALCULATE (
        'Площадь'[Площадь, га];
        'Спр_Культура'[Культура] <> "Пар"
            && 'Спр_Культура'[Культура] <> "Травы на сено";
        ALLSELECTED ( 'Спр_Культура'[Культура] );
        ALLSELECTED ( 'Спр_Культура'[ВидКультуры] )
)

Код
CALCULATE (
        'Площадь'[Площадь, га];
        'Спр_Культура'[ВидКультуры] <> "Пар"
            && 'Спр_Культура'[ВидКультуры] <> "кормовые";
        ALLSELECTED ( 'Спр_Культура'[Культура] );
        ALLSELECTED ( 'Спр_Культура'[ВидКультуры] )
)


Все дело в том, что выражение
Код
'Спр_Культура'[Культура] <> "Пар"  && 'Спр_Культура'[Культура] <> "Травы на сено";
является эквивалентом формулы
Код
FILTER(ALL('Спр_Культура'[Культура]); 'Спр_Культура'[Культура] <> "Пар" ) 
    && FILTER(ALL('Спр_Культура'[Культура]); 'Спр_Культура'[Культура] <> "Травы на сено" )

Как видите, сначала сбрасывается примененный фильтр по столбцу Культура, потом отбираются те значения, которые не равны Пар.
Аналогично с травами на сено. Итого после применения этих фильтров у нас остаются все культуры, которые не "Пар" и не "Травы на сено".

При этом у вас мало того, что срез по культуре, но и в строке матрицы стоит культура. этот внешний контекст вашей формулой игнорируется - за счет того, что вот эти вот FILTER на нее тоже плевать хотели.

Если смотреть на вторую меру, у нее фильтр выглядит уже не так:
Код
FILTER(ALL( 'Спр_Культура'[ВидКультуры]); 'Спр_Культура'[ВидКультуры] <> "Пар")
    && FILTER(ALL( 'Спр_Культура'[ВидКультуры]); 'Спр_Культура'[ВидКультуры] <> "кормовые")
То есть, здесь фильтр со столбца [Культура] уже не сбрасывается, сбрасывается только с "ВидКультуры", но там и нет фильтра, значит, фильтр по Культуре продолжает действовать и надо его сбросить:
Код
CALCULATE (
        'Площадь'[Площадь, га];
        'Спр_Культура'[ВидКультуры] <> "Пар"
            && 'Спр_Культура'[ВидКультуры] <> "кормовые";
        ALL ( 'Спр_Культура'[Культура] )
)

а в первой формуле достаточно такого:
Код
CALCULATE (
        'Площадь'[Площадь, га];
        'Спр_Культура'[Культура] <> "Пар"
            && 'Спр_Культура'[Культура] <> "Травы на сено"
)

Ну разве что у вас где-то еще используется срез по видам культур.
F1 творит чудеса
PQ. Передача минимальной и максимальной даты в параметры., Необходим параметр, который заполняется автоматически на основании дат в таблице событий.
 
Цитата
ivanka написал:
Необходимо найти наименьшую и наибольшую дату и создать из них параметры. Эти параметры будут корректировать web-запрос.
если это всегда наименьшая и наибольшая даты, то нет смысла делать из них параметры. Достаточно просто посчитать их, как вы и сделали. Если же хотите менять их руками в вебе - тогда это же могут быть любые даты, не только наименьшая и наибольшая фактически? Иначе зачем бы их менять.
F1 творит чудеса
Не показывать пустой строку иерархии, Power Pivot, Power BI
 
bereteli, вот тут показано, как убирать пустые элементы иерархий
F1 творит чудеса
Power Query поиск значений в тексте из списка
 
Цитата
PooHkrd написал:
имеет смысл влезть с вопросом самому?
имеет. Плюс там кроме ребят из МС есть очень крутые спецы, которые могут подсказать
F1 творит чудеса
Power Query поиск значений в тексте из списка
 
PooHkrd, думаю, зависит от размера обеих таблиц. Хотя не проверял, любопытная идея. Но тут, кмк, лучше перебдеть
F1 творит чудеса
Преобразование многоуровневой таблицы из1С в плоскую
 
Цитата
PooHkrd написал:
В связи с этим предупреждаю что если последним шагом разворачивать столбец без агрегирования, то эти позиции выдадут ошибку, а если с агрегированием то ошибки не будет, но по сути данные по двум разным позициям соберутся в одну.
вот так будет без ошибки, если считаем, что на одну номенклатуру всегда 2 строки (после шага RemovedEmptyColumns):
Код
    ToPairs = Table.Split(RemovedEmptyColumns,2),
    TransformPairs = List.Transform(ToPairs, each let a = Table.UnpivotOtherColumns(_, {"Период", "Счет", "Склады", "Номенклатура", "Показатели"}, "Атрибут", "Значение") in Table.Pivot(a, List.Distinct(a[Показатели]), "Показатели", "Значение", List.Sum)),
    Combine = Table.Combine(TransformPairs)
in
    Combine
F1 творит чудеса
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 142 След.
Наверх