Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 97 След.
Power BI формат отображения длительности
 
Цитата
zrbite написал:
Пробую и медиану по столбцу, и Меру MEDIANA
Только меня пугает, что ТС видит в этом разницу? :)

По делу: ну вы разницу в часах узнали. Как Вы это FORMATом хотите перевести?
Ну ладно, тривиально же разделить это число на 24, взять целую часть - это дни, из этого числа вычесть дни*24 - получились часы. Как бы конкатенировать это не должно вызвать трудности.
Но откуда взяться минутам, если результат уже округлен до часов? 30 мин может выйти, если четное число значений, но все же :)

С другой стороны, полезно знать, что любая дата в exce/Power BI - это число. При этом 1 день составляет 1.
"0" соответствует датавремя 30.12.1899 00:00:00
"1" - 31.12.1899 00:00:00
и тд.

Короче. Предлагаю длительность вычислять точно:
Код
Длительность = 'Таблица1'[Дата конца] - 'Таблица1'[Дата начала] 

По сути мы получим некоторое число. 1,5 - значит 1 день 12 часов, 2,2 - 2 дня 4 часа 48 минут.
Далее довольно просто привести в нужный вид:
Код
Мера = 
VAR val =
    MEDIAN ( 'Таблица1'[Длительность] )
VAR d =
    TRUNC ( val )
VAR hhmm =
    FORMAT ( val - d, "hh:mm" )
VAR result = d & " " & hhmm
RETURN
    result


*Сидорова в Ижевске проверьте, там конец раньше начала.
Power Query. Как в таблицу вывести номер встречи, и длительность встречи из подзаголовка?
 
voler83, в смысле не встречали? :) А как Вы называете data, typed, addClmn в запросе? Они отображаются справа с наименованием "Примененные шаги".

Код
let
  data    = #table ( { "product", "value" }, { { "a", 5 }, { "b", 10 } } ),
  typed   = Table.TransformColumnTypes ( data, { { "value", type number } } ),
  addClmn = Table.AddColumn ( typed, "value_sum", each List.Sum ( typed[value] ), type number )
in
  addClmn


По сути data, typed, addClmn - это имена полей записи. Код выше с использованием синтаксического сахара let ... in эквивалентен коду
Код
[
  data    = #table ( { "product", "value" }, { { "a", 5 }, { "b", 10 } } ),
  typed   = Table.TransformColumnTypes ( data, { { "value", type number } } ),
  addClmn = Table.AddColumn ( typed, "value_sum", each List.Sum ( typed[value] ), type number )
][addClmn]


Так вот. Код выше будет создавать таблицу, типизировать 3 раза: один раз просто для этой таблицы и 2 раза для расчета значения суммы по столбцу для каждой из строк. Сумма по столбцу будет вычислена 2 раза. Если бы было 1000 строк, то таблица создавалась бы 1001 раз, 1000 раз вычислялась сумма.

Чтобы этого пересчета не было, не скалярные поля можно было бы буфферизовать. То есть обернуть второй "шаг" в Table.Buffer (или List.Buffer для списков)
* Правда сумма все равно будет вычисляться столько раз, сколько строк в данных. Просто предыдущие шаги не будут пересчитываться:
Код
let
  data    = #table ( { "product", "value" }, { { "a", 5 }, { "b", 10 } } ),
  typed   = Table.Buffer ( Table.TransformColumnTypes ( data, { { "value", type number } } ) ),
  addClmn = Table.AddColumn ( typed, "value_sum", each List.Sum ( typed[value] ), type number )
in
  addClmn


Но буфферизация больших объемов данных тоже занимает время и немало ресурсов. И в данном случае вообще не нужна.
Скалярные значения PQ не пересчитывает каждый раз, когда к ним обращаешься. "Скалярным" значением в данном случае будет даже запись, не только просто значение для какого-то поля.
То есть оптимальным будет такой код (когда значение суммы вычисляется в отдельном "шаге"):
Код
let
  data    = #table ( { "product", "value" }, { { "a", 5 }, { "b", 10 } } ), 
  typed   = Table.TransformColumnTypes ( data, { { "value", type number } } ), 
  val_sum = List.Sum ( typed[value] ),
  addClmn = Table.AddColumn ( typed, "value_sum", each val_sum, type number )
in
  addClmn
Изменено: surkenny - 23.04.2024 16:29:51
Power Query. Как в таблицу вывести номер встречи, и длительность встречи из подзаголовка?
 
voler83, лучше значение номера и длительности в отдельное поле записи вынести (имена шагов, которые перед =, - это поля записи :) весь запрос - запись, а в in указывается, значение какого поля вынести), иначе итератор Table.Addcolumn для каждой строки будет заново получать таблицу из шага «Измененный тип», то есть каждый раз читать csv, менять тип и тд. Это очень замедлит запрос.
Надеюсь, понятно :)
Изменено: surkenny - 23.04.2024 15:00:06
Power Query. Как в таблицу вывести номер встречи, и длительность встречи из подзаголовка?
 
Р.Н. С., а в чем именно проблема, где Ваши попытки? Даже кнопками же нет особых сложностей.
Впр не дает покоя. Возникает ошибка Н/Д
 
hotster-bobster, а Вы справку по ВПР читали? Это риторический вопрос :)
У Вас код aaaa-bbbb-ccc. Такого значения нет в первом столбце второй таблицы.
Расчет цены товара
 
MINA25, сам.
На ваших данных (если они всегда такие правильные - идет товар без штук, потом те же товары со штуками) можно проще: тупо заполнить вниз цену, потом добавить столбец цена*количество, удалить старый столбец, новый переименовать. Это можно тупо кнопками.
Я же усложнил (выделяя из наименований товар без штук, группируя по этому наименованию, сортируя и заполняя ценой из первой строки, умноженной на количество в соответствующей строке). Такой код именно кнопками не сделаете:(
Подсчет заполняемости саун, Подсчет заполняемости саун
 
deffocus, можно в PQ, но рекомендую сделать в PP :)
По стоимости в ЛС напишу.

upd: обменялись
Изменено: surkenny - 22.04.2024 21:59:46
Расчет цены товара
 
Цитата
MINA25 написал:
хотелось бы, чтоб не в отдельном столбце считалось, а в существующем
можно в PQ. Нажмите "Обновить все" на вкладке данные - стоимость заполнится.
Связи между таблицами в PowerPivot
 
Цитата
Александр написал:
Труды Марко Руссо и Альберто Феррари в помощь)  
Помощь с чем?)
Если честно, я не знаю решения для excel, кроме вывода меры и скрытия этого столбца. Оно есть? Тогда поделитесь :)
Можно еще в PQ именно для этой первой сводной без вычислений (там же только измерения) создать плоскую таблицу с id и значениями всех нужных измерений. И просто из нее тащить измерения в визуал.

В любом случае, я очень редко что-то сложное делаю в PP, а в PBI с этим кейсом проблем нет.
Или Вы про двунаправленную фильтрацию? Всех тонкостей в PBI я точно не помню, так как после санкций меньшая часть проектов в PBI, но ощущаю всю ее боль в Fine BI. Потому что там в модели только двунаправленная фильтрация :) (не совсем так, но не буду углубляться).
Изменено: surkenny - 21.04.2024 19:19:45
Подсчет количества клиентов, Подсчет количества клиентов
 
Цитата
max2525 написал:
получить ожидаемый результат, без дополнительных  манипуляций.
А какие манипуляции?
1. На вкладке данные нет планов. Из нужно откуда-то взять, поэтому добавил таблицу планов. Если планы поменяются, в ней изменить.
2. На вкладке данные нет соответствия сортов виду продукции. Поэтому пришлось добавить справочник товаров рядом с планами. Если из 1С выгружать с видом продукции, то можно справочник генерировать из этой таблицы.
3. Теперь Вам просто нужно в таблицу на вкладке данные вставлять данные. Хоть из 1С, хоть откуда. Можно вообще из 1С грузить в csv/txt и тащить оттуда.
4. Просто нажимаете «Обновить все» на вкладке «Данные» (сверху эта вкладка) - получаете обновление всей модели данных и сводной.
Какие еще доп манипуляции?)

* Можете вообще усовершенствовать и тащить данные из 1С с периодами. Добавить срез по периодам и простым переключением смотреть результаты по любому периоду.
Или построить диаграмму динамики или любой необходимый Вам визуал.
Просто поизучайте power query + power pivot.

** А вот в формульном решении уже будут доп манипуляции. У Вас же список сортов и видов продукции разным может быть. То есть нужно «сводную» рисовать ручками и менять при изменении данных.
Изменено: surkenny - 21.04.2024 19:07:17
Как "прилепить" две схожих таблицы, полученных SQL-запросом?
 
sasch78, так создайте 2 копии запроса. И к как злому из них свою таблицу с набором столбцов. Поменяли в таблицах столбцов столбцы, нажали обновить все - получили 2 таблицы с нужными столбцами.
Вы почитайте хоть немного о pq :)
Связи между таблицами в PowerPivot
 
Александр, а в чем баг?
В Power pivot не предусмотрена двунаправленная фильтрация.
Если представить простую модель с одной таблицей фактов (N) и двумя связанными с ней справочниками (1), то справочники никак не фильтруют друг друга. Направление фильтрации указано стрелочками на связях. Если расположить, к примеру, в строках измерение из первого справочника и из второго, то для каждого уникального значения из первого справочника будут все уникальные значения из второго.
В Power BI, кроме двунаправленной фильтрации, которую лучше вообще не использовать, пока не изучите рее работу, можно фильтровать визуал по значению меры. В excel - нельзя. Просто вытащите на визуал какую-то меру.

P.S. Я не очень понимаю ситуацию, когда описанное плохо. Может, модель подкорректировать (убрать излишнюю нормализацию, к примеру)?
Изменено: surkenny - 21.04.2024 16:14:27
Сбор данных из отдельных листов в общую таблицу.
 
Цитата
Сергей У написал:
Кстати, плохо что личные сообщения на почту не приходят, только сегодня на форуме в "Сообщениях" увидел отклики, а на почте пусто.
ОткликИ?
Если Вам кто-то написал в ЛС без того, чтобы отписаться тут, - сообщите ники данных пользователей.
В таком случае Вы сильно рискуете не получить решение на предоплаченную задачу.

P.S. Пусть формулисты меня поправят, но, по-моему, только формулами (без VBA/PQ) задачу полноценно не решить.
Изменено: surkenny - 21.04.2024 14:11:40
Подсчет количества клиентов, Подсчет количества клиентов
 
Наверное, как-то так.
Почему люди, даже сами называя результат "сводной таблицы" не используют сводные таблицы в excel?
Как "прилепить" две схожих таблицы, полученных SQL-запросом?
 
А почему бы не воспользоваться Power Query? И sql-запрос туда можно засунуть (при этом динамически менять столбцы, к примеру, брать список столбцов из таблицы на листе excel), и просто создать запрос на M, а PQ уже сам преобразует в sql запрос, если это возможно.
Работа функции CALCULATE. Расчёт доли продаж месяца относительно года, Вопрос по языку DAX в Power BI
 
Коллеги, я вмешаюсь :)
Очевидно, что лучше (почти всегда, кроме сложных случаев с приоритетом производительности) написать шаблонную меру.
Не важно, что будет влиять на контекст фильтра: даты, недели, месяцы, кварталы, .. . В любом случае мера должна вычислять значение за весь год.
В таком случае идеально подходит ALLEXCEPT('фактЗаявки','спрКалендарь'[Год]) .

Дмитрий Никитин, а Вам посоветую купить книги Феррари/Руссо
Подробное руководство по DAX
Анализ данных…

Ощущение, что Вы пока даже очевидных подсказок не понимаете (без подсказки, это может быть действительно не так просто) и мыслите не “функциональным языком bi”. Тут и теорию изучить нужно, и мыслить образно что ли.
Изменено: surkenny - 20.04.2024 22:33:41
Сбор данных из отдельных листов в общую таблицу.
 
Цитата
Сергей У написал:
как то по старинке?
По старинке - это как? VBA? Лучше тогда спец по VBA реализует.

Ок, заказ не занимаю.
Найти самую позднюю дату для нескольких диапазонов дат и клиентов подставив соседнее значение, Power Query
 
Что-то мне кажется, что реализация интервального поиска, но чуть измененная (в обратную сторону ищем), будет гораздо шустрее.
Но особо не вникал :) Могу ошибаться.
Изменено: surkenny - 19.04.2024 20:00:35
Сбор данных из отдельных листов в общую таблицу.
 
Сергей У,
Какая версия офиса?
Если 2013+, готов реализовать в Power Query. По стоимости напишу в ЛС.
"Проблема с преобразованием формулы Excel в Power Query"., "Не удается корректно преобразовать формулу Excel в Power Query для работы с датами".
 
Цитата
SShakeno0220 написал:
"DataFormat.Error: Не удалось выполнить синтаксический анализ входных данных, предоставленных в качестве значения даты. Сведения: 1999.2.30"
а у февраля есть 30 число?
Почему просто не сделать Date.AddMonths([Дата приема], 3)?
Да, 28.10.1998, 29.10.1998 и 30.10.1998 будут 28.02.1999

Если уж хотите по-вашему, то
Код
  #"Добавлен пользовательский объект" = Table.AddColumn (
    #"Измененный тип", 
    "Пользовательский", 
    each [ new_date = Date.AddMonths ( [Дата приема], 3 ), result = Date.AddDays ( new_date, Date.Day ( [Дата приема] ) - Date.Day ( new_date ) ) ][
      result
    ], 
    type date
  )


Но смотрите, что дает Ваша формула (и последний эквивалентный код в PQ): для более поздней даты истечение срока раньше :)


P.S. Вообще, поэтому сроки обычно задаются в днях, а не месяцах.
Изменено: surkenny - 17.04.2024 09:31:53
Power Query. Сводная таблица (столбец сведения) с использованием нескольких столбцов значений
 
Цитата
Nigle2 написал:
Какое более элегантное решение может быть для работы со столбцом сведения и несколькими столбцами значений?
Сводная таблица (обычная или Power Pivot, если будут нужны меры посложнее).
Не нужно этого делать в PQ. Он не для этого.
Power query более миллиона строк
 
ponrussell,
1. А нафига Вы данные на лист грузите? Загрузите только в модель.
2. А нафига Вы данные храните в файлах excel? Выгружайте в csv.
Там нет ограничения строк + чтение из csv гораздо быстрее.
Среднее значение прироста, Dax
 
mechanix 85, иногда для краткости лучше предикаты использовать :) И для вычисления "за текущий год" изменение контекста излишне:
просто CALCULATE ( [кол-во] ) вместо CALCULATE([кол-во];FILTER(ALL( 'Таблица1'[Год]);'Таблица1'[Год]=MAX('Таблица1'[Год])))

Я бы с помощью переменных попонятнее делал. А то длинно читать это все:
Код
av:=
AVERAGEX (
    VALUES ( 'Таблица1'[Год] );
    VAR PY = 'Таблица1'[Год] - 1
    VAR valueCY =
        CALCULATE ( [кол-во] )
    VAR valuePY =
        CALCULATE ( [кол-во]; 'Таблица1'[Год] = PY )
    VAR result =
        DIVIDE ( valueCY; valuePY )
    RETURN
        result
)


В случае CALCULATE ( [кол-во] ) CALCULATE излишний, так как [кол-во] - мера и неявно оборачивается в CALCULATE. Но лишний раз напомнить о преобразовании контекста строки в контекст фильтра - стоит :)
Изменено: surkenny - 01.04.2024 16:53:15
Выгрузка данных из Power Query в сводную таблицу Excel, Вопрос по выгрузке данных из Power Query в сводную таблицу Excel
 
Golubev.aa, а Вам никто не ответит. А если ответит, то это будет ложь :)
1. Лучше выгружать данные в модель данных (движок их там сохранит с заниманием меньшего объема памяти). Так же в этом случае Вы получаете огромный функционал Power Pivot с написанием сложных мер.
2. Ваш запрос грузится очень долго. И проблему просто так не понять. Это может быть и долгое получение большого объема данных с какого-то ресурса, и (более вероятно) Ваш неоптимальный код, и другие причины.
Скорее всего, Вы делаете какие-то расчеты в PQ не оптимально и/или их вообще не нужно там делать, а реализовать в PP.

P.S. Не нужно нас заставлять гадать по картинкам. Сделайте пример данных + файл с Вашим запросом из этого примера.
Изменено: surkenny - 06.03.2024 11:05:09
В Power Query при отмене свертывания столбцов исчезли строки с нулевыми значениями, В Power Query при отмене свертывания столбцов исчезли строки с нулевыми значениями
 
Цитата
AlienSx написал:
придать им действительно нулевое значение.
Ну это же не по-нашему :) Ведь замена null (которое ТС называет "нулевым") на 0 будет совсем не эквивалентна для дальнейшей аналитики :)
Можно просто погуглить:
Код
/**
 * Unpivots columns (or optional other columns) while keeping empty fields (with
 * null). Any entry to the 3rd parameter will set to 'Unpivot Other Columns'
 * instead.
 * 
 * @categories table, pivot
 * @author https://github.com/ImkeF
 * @source https://github.com/ImkeF/M
 * @license MIT (c) 2017 Imke Feldmann
 * @version 2021-02-09-1
 */
let
  func = (Table_ as table, Columns as list, optional Others as any) =>
    let
      NonSelectedColumns = List.Difference(Table.ColumnNames(Table_), Columns),
      Unpivot = if Others <> null then NonSelectedColumns else Columns,
      AddColumn = Table.AddColumn(
        Table_,
        "Custom",
        each Record.ToTable(Record.SelectFields(_, Unpivot))
      ),
      Cleanup = Table.RemoveColumns(AddColumn, Unpivot),
      Expand = Table.ExpandTableColumn(Cleanup, "Custom", {"Name", "Value"}, {"Name", "Value"})
    in
      Expand,
  documentation = [
    Documentation.Name = " Table.UnpivotKeepNulls#(cr,lf)",
    Documentation.Description
      = " Unpivots columns (or optional other columns) while keeping empty fields (with null). #(cr,lf)",
    Documentation.LongDescription
      = " Unpivots columns (or optional other columns) while keeping empty fields (with null). Any entry to the 3rd parameter will set to ""Unpivot Other Columns"" instead. #(cr,lf)",
    Documentation.Category = " Table Transformation#(cr,lf)",
    Documentation.Source = " local#(cr,lf)",
    Documentation.Author = " Imke Feldmann: www.TheBIccountant.com .#(cr,lf)",
    Documentation.Examples = {[Description = " #(cr,lf)", Code = " #(cr,lf) ", Result = " #(cr,lf)"]}
  ]
in
  Value.ReplaceType(func, Value.ReplaceMetadata(Value.Type(func), documentation))
Расчет цен для товаров, Расчет цен для товаров
 
Цитата
excelboy1 написал:
Необходимо чтобы функция автоматически выбрала необходимое значение для цены продажи товара (ЗЕЛЕНОЕ ВЫДЕЛЕНИЕ), условием истиности является % от закупки - 15% (голубые ячейки). Или процент от продажи 15% (желтые ячейки)
Так от чего именно нужен расчет? Вы руками будете вводить либо % от закупки, а % от продажи будет вычисляться по формуле (учитывая рассчитанную цену товара), либо наоборот.

* Если еще актуально - могу сделать любой из вариантов. В ЛС отправил стоимость.

Цитата
tolikt написал:
при данной постановке задачи она не решаема из-за циклических ссылок.
Не совсем так. Во-первых, можно в VBA/PQ просто перебрать цены и вернуть максимально соответствующую условию.
Ну или чуть громоздкой, но формулой :)
Установить связь между таблицами в power bi
 
Цитата
dim678 написал:
в таблице перестало считать другие параметры
Вам бы эту книжку почитать... Хотя, желательно перед этим DAX изучить, но все же.
В таблице Вы выводите измерения из одной из таблиц фактов, а нужно из справочника. Направление стрелочки на связях показывает направление фильтра. То есть таблица фактов никак не фильтрует справочники, которые, в свою очередь, фильтруют остальные таблицы фактов, поэтому Вы видите ожидаемое значение только у мер, которые используют данные этой таблицы фактов, а у остальных мер тупо вся сумма.
В визуалы выносите измерения ТОЛЬКО из справочников. Для удобства и избегания ошибок даже сделайте соответствующие столбцы в таблицах фактов скрытыми.
Установить связь между таблицами в power bi
 
dim678,
Во-первых, исправьте свой ник (уберите оттуда цифры).
Во-вторых, а если нормальную модель создать?
* Для Тип операции тоже создайте отдельный справочник.

НЕ используйте связь N:N до того момента, как Вы начнете понимать ее работу.
Изменено: surkenny - 07.02.2024 10:48:23
Создание отчета с использованием query и pivot
 
Написал в ЛС.

upd. ТС не устроила стоимость решения.
Видимо, решение найдено где-то в другом месте.
Изменено: surkenny - 31.01.2024 19:46:33
Как заменить null на 0 при отмене свертывания и далее
 
Цитата
Сергей написал:
Как убрать отражение на графике из  сводной с нарастающим итогом нарастающий итог после последней операции(на последнюю ненолевую дату)
На каком графике? У нас он есть? :) Мне вот неизвестно, какую Вы меру пишите для нарастающего итога. Может, проблема в ней?

* Не растягивайте сообщения. Зачем Вы пишите через строку, когда следующее предложение продолжает мысль предыдущего?
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 97 След.
Наверх