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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 144 След.
Сколько названий изменилось на строго заданное?
 
Код
=СУММПРОИЗВ((F3:F10=I3:I10)*(G3:G10<>J3:J10)*(J3:J10="груша"))
F1 творит чудеса
Power Pivot При попытке сохранения любой меры сообщение об ошибке MdsScript(Model) (6,91)
 
PooHkrd, Возможно, у автора топика стоит Power BI Desktop, и такая бяка начинается, когда запущены обе программы одновременно.
F1 творит чудеса
Изменение даты на предыдущую в запросе PQ на курс валют ЦБР если нет данных
 
PooHkrd, уточните на всякий на течнете. Может и правда там есть особенности, которых раньше не было. Но почти уверен, что получите ответ "due to streaming semantics of tables,..."
F1 творит чудеса
Изменение даты на предыдущую в запросе PQ на курс валют ЦБР если нет данных
 
да как мне кажется, не было никогда обещания, что при сортировке как-то влияет порядок строк... И практически на 100% уверен, что уже не раз здесь на планете встречались такие кейсы. В данном случае достаточно половины таблетки:
Код
= Table.Sort(Merge,{{"Дата", Order.Ascending}, {"Value", Order.Descending}})
F1 творит чудеса
Изменение даты на предыдущую в запросе PQ на курс валют ЦБР если нет данных
 
Цитата
Михаил Л написал:
в данном случае и вообще, сортируются строки при одинаковых значениях?
а смотря в каком порядке они попадут в сортировщик, я так думаю. Если таблица большая, порядок х.з. какой. Если небольшая - скорее всего в том же порядке, как они расположены друг относительно друга
F1 творит чудеса
PowerPivot, PowerQuery, PowerBI
 
PooHkrd, видел и то и другое, занимался пару лет назад анализом, но потом забросил. Еще и очень важно - фолдится ли запрос к источнику и как, или мы работаем с несворачиваемыми источниками (файлы). Но честно говоря, тут надо тестировать на весьма качественно подобранных источниках :)
F1 творит чудеса
Суммирование в скользящем окне в Power Pivot
 
Цитата
Михаил Л написал:
не дает такой же эффект как у функции Table.TransformColumnTypes
а почему оно должно делать то же самое?..
Есть тип значения, есть тип столбца, есть тип таблицы. Table.TransformColumnTypes делает приведение значений к указанному типу столбца. А то, что я привел в примере, делает указание типа столбца без приведения значений к типу и проверки данных на соответствие. Равно как и указание типа при добавлении столбца.
Я даже больше могу показать:
Код
Source=#table(type table [Date = date], {{"asdf"}})


Код
= Table.AddColumn(Source, "Новый", each Value.Is([Date], type date), type number)

F1 творит чудеса
В сводной таблице из запроса Power Query неверно считается сумма показателя
 
Вот да, поддерживаю Дмитрий(The_Prist) Щербаков, у вас на одну компанию встречается больше 1 менеджера, вот строки и размножились
F1 творит чудеса
Power Pivot При попытке сохранения любой меры сообщение об ошибке MdsScript(Model) (6,91)
 
Xel, потому что внутри движка меры всегда с запятой как разделителем списков и точкой как десятичным разделителем. Это "наружу" они вылезают с локалью пользователя или файла. Короче, там где-то внутри идет как раз замена.
F1 творит чудеса
Суммирование в скользящем окне в Power Pivot
 
Во-первых, стрелочка будет, никуда она не денется.
Я имел ввиду немного другое:
Код
// FullType
let
    Source = #table(type table [Дата = date, Целое = Int64.Type, Десятичное = number], {{#date(2020,1,1),42,79.9999},{null,null,null}}),
    #"Added Index" = Table.AddIndexColumn(Source, "Индекс", 0, 1),
    #"Grouped Rows" = Table.Group(#"Added Index", {"Индекс"}, {{"Rows", each _, type table [Дата=date, Целое=Int64.Type, Десятичное=number, Индекс=number]}}),
    #"Expanded {0}" = Table.ExpandTableColumn(#"Grouped Rows", "Rows", {"Дата", "Целое", "Десятичное"}, {"Дата", "Целое", "Десятичное"})
in
    #"Expanded {0}"

Код
// NoType
let
    Source = #table(type table [Дата = date, Целое = Int64.Type, Десятичное = number], {{#date(2020,1,1),42,79.9999},{null,null,null}}),
    #"Added Index" = Table.AddIndexColumn(Source, "Индекс", 0, 1),
    #"Grouped Rows" = Table.Group(#"Added Index", {"Индекс"}, {{"Rows", each _}}),
    #"Expanded {0}" = Table.ExpandTableColumn(#"Grouped Rows", "Rows", {"Дата", "Целое", "Десятичное"}, {"Дата", "Целое", "Десятичное"})
in
    #"Expanded {0}"

В первом случае вам не нужно потом типизировать столбцы заново перед загрузкой в модель:

И, кстати, любопытные результаты получаются, если поиграться с описанием типа при группировке.
Заодно, если группируем не в таблицу, а, например, один столбец, тоже можно сохранять тип данных при группировке для разворота, например, так:
Код
type {number}
F1 творит чудеса
Power Pivot При попытке сохранения любой меры сообщение об ошибке MdsScript(Model) (6,91)
 
Добрый день. Есть подозрение, что у вас обновился Excel или локаль поменялась или еще что-то... Короче, ругается на ; как разделитель аргументов. Попробуйте поменять на запятую.
У меня было недавно, что вдруг стал в одном из файлов ругаться на ;.
F1 творит чудеса
DAX. Изменение вычисления по контексту фильтра, Если внешний контекст содержит определённый текст, то для него необходимо изменить вычисление
 
Немного перемудрили:
Код
Кол-во часов =
VAR Bez30 =
    CALCULATE( SUM( 'Табель'[Часы] ), 'Дисциплины'[ID предмета] <> 30 )
VAR Tolko30 =
    CALCULATE(
        SUM( 'Табель'[Часы] ),
        'Дисциплины'[ID предмета] = 30,
        ALL( 'Волшебники' )
    )
RETURN
    IF(
        HASONEVALUE( 'Волшебники'[Волшебник] ),
        IF(
            SELECTEDVALUE( 'Волшебники'[Волшебник] ) = "Гермиона Грейнджер",
            Bez30 + Tolko30,
            Bez30
        ),
        SUM( 'Табель'[Часы] )
    )
F1 творит чудеса
Суммирование в скользящем окне в Power Pivot
 
Цитата
Михаил Л написал:
когда запрос готов, стираю все эти штуки(, type table  , type record  , type list)
ну и зря. Прописывание типов при группировке помогает разворачивать сгруппированные таблицы сразу с правильными типами данных. Иначе информация о типах столбцов теряется, они становятся any и их надо опять задавать
F1 творит чудеса
Изменение даты на предыдущую в запросе PQ на курс валют ЦБР если нет данных
 
Вам нужно, чтобы функция правильно обрабатывала ошибку отсутствия таблицы в исходнике. Зависит от того, что возвращает сайт ЦБ к отсутствующей дате. В общем, функцию надо переписать так, чтобы если нет таблицы, возвращался null или пустая таблица с теми же столбцами. Если при запросе ошибка типа 404, погуглите использование параметра ManualStatusHandling внутри функции Web.Contents
F1 творит чудеса
В сводной таблице из запроса Power Query неверно считается сумма показателя
 
Причин может быть масса. Например, не все, что в файле "Москва", в вашей модели помечено как "Москва" в поле "Регион".
Общая сумма (если оставить в сводной только одну ячейку с суммой) сходится?
Далее, здесь суммы различаются на 4 порядка:
Код
623 585 523 161 340
     63 904 591 884

У вас какой разделитель дробной и целой части в исходных данных? А разделитель разрядов? Возможно, при определении типа данных как числового вам нужно использовать правильную локаль. Иначе может получиться, что в исходных данных записано "1,234", и у вас преобразовалось в 1234, хотя запятая должна стать не разделителем тысяч, а разделителем дробной части. Ну или наоборот
F1 творит чудеса
Привести ФИО к единому формату с помощью PQ
 
Цитата
Андрей VG написал:
Цзиньпин Си
станет Цзиньпин С.и., а как иначе?  :D
F1 творит чудеса
Привести ФИО к единому формату с помощью PQ
 
Код
// Таблица1
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Исходные данные", type text}, {"Тип контрагента", type text}, {"Что хотело бы получить", type text}}),
    #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Тип контрагента] = "Физ.лицо")),
    #"Duplicated Column" = Table.DuplicateColumn(#"Filtered Rows", "Исходные данные", "Name"),
    #"Trimmed Text" = Table.TransformColumns(#"Duplicated Column",{{"Name", Text.Trim, type text}}),
    #"Cleaned Text" = Table.TransformColumns(#"Trimmed Text",{{"Исходные данные", Text.Clean, type text}}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Cleaned Text", "Name", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"Name.1", "Name.2"}),
    #"Added Custom" = Table.AddColumn(#"Split Column by Delimiter", "PowerSplit", each List.RemoveMatchingItems(Text.SplitAny([Name.2]," ."),{" ","",null})),
    #"Added Custom2" = Table.AddColumn(#"Added Custom", "Name.3", each let count = List.Count([PowerSplit]) in if count > 2 then [#"Name.2"] else List.Accumulate([PowerSplit], "",(s,c)=>let len = Text.Length(c), end = Text.End(c,1)
in s & 
(if count > 2 then c & " " else
    if len = 2
        then if end = "." 
            then c else Text.Combine(Text.ToList(c),".") & "."
        else if len = 1 then c & "." else c & " "
    ))),
    #"Merged Columns" = Table.CombineColumns(#"Added Custom2",{"Name.1", "Name.3"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Name"),
    #"Removed Columns" = Table.RemoveColumns(#"Merged Columns",{"Name.2", "PowerSplit"}),
    #"Trimmed Text1" = Table.TransformColumns(#"Removed Columns",{{"Name", Text.Trim, type text}})
in
    #"Trimmed Text1"

ну, там допилить надо про юр лиц
Изменено: Максим Зеленский - 29 Июн 2020 19:23:22
F1 творит чудеса
Как в Power Query пронумеровать строки
 
Цитата
Михаил Л написал:
если строка отвечает условию(True), то начать группировку до следующего True.
сомневаюсь. 5 аргумент - это, по сути, обычный Value.Compare, который выдает -1, 0 или 1 в зависимости от результата сравнения двух аргументов. Соответственно, группируются только те строки, которые дают при сравнении 0 (т.е. равно). Number.From параллельно превращает true/false в числа 1 или 0 соответственно
Поэтому Number.From(b[Столбец2]<>null) дает нам 1 (то есть больше, в данном случае не важно - неравенство и есть неравенство), если значение в столбце2 <>null, и дает 0, если значение столбца2 = null. Эти 0 повторяются до тех пор, пока не встретится новое название должности в столбце2
F1 творит чудеса
Как в Power Query пронумеровать строки
 
Михаил Л, ну а почему бы и не поизучать. Все знать невозможно, да и в последнее время в моей практике больше DAX, чем PQ.

Решение очень элегантное, на самом деле. Я пробовал локальной группировкой после заполнения 2го столбца, но там есть проблема с повторяющимися подряд должностями, они схлопываются.
5й аргумент в группировке использую крайне редко, и здесь не уверен, что до конца понял, как именно он у вас срабатывает. Если правильно понимаю, при локальной группировке мы идем по порядку строк, и при сравнении пустой строки на <> с null получаем false, оно же 0, а 0 это для группировки значит =. Соответственно дойдя до следующего <не null>, мы получаем true, или 1, и мы начинаем новую группу, потом опять null и оно добавляет до следующей заполненной строки. Если все понял верно, то очень интересный подход, который возьму на вооружение.
F1 творит чудеса
Как в Power Query пронумеровать строки
 
оффтоп
F1 творит чудеса
Power BI - получение данных из модели данных книги эксель, систематическое обновление данных в PBi из модели данных Экселя
 
PooHkrd,  знакомо, но как-то вышло, что за все время сколько я копирую туда-сюда, мне понадобилось разбираться с этим 1 или 2 раза. Обычно я хочу либо часть данных в другой файл - один из итоговых запросов с источниками, либо всё сразу.

lostandleft,  тут суть в чем... одноразово Power BI Desktop можно заставить подключиться к модели Excel при помощи пары трюков  Но на постоянной основе, так сказать, seamless - нет, не предусмотрено, да и не нужно (только в случае совершенно крайней необходимости).

Плюс нужно понимать следующую разницу:
  1. Подключение Excel к Power BI это динамическое подключение к SQL Server Analysis Services (Tabular), постоянно расположенному в облаке (или временно локально развернутому на компьютере через PBI Desktop), с возможностью использовать меры и настраивать отчетность в Excel так, как надо. Вполне себе рабочий вариант, позволяющий многократно увеличить аналитические возможности вашей модели :)
  2. Подключение Power BI к Excel - это подключение к временному локальному кубу SQL Server Analysis Services (Multidimensional) в режиме импорта со всеми вытекающими. Думаю, этот опыт вам не понравится (по крайней мере, мне уж точно не нравится). Он практически очень похож на использование формул кубов в Excel. Если вы с ними вась-вась, то, конечно, семейство формул Cube.* языка М вам в помощь. Но о динамическом выполнении запросов и реакции на действия пользователя можете приподзабыть.




Короче, учитывая вышесказанное, определитесь с мастер-системой, и стройте аналитику от нее. Рекомендую в данном случае Power BI,но если выбрали Excel - ну вы уже набили шишки (еще не все), смотрите сами.
F1 творит чудеса
DAX-POWER_PIVOT - Распределение значений в столбцах или строках сводной таблицы, в зависимости от результата вычислений других столбцов или строк
 
Цитата
lostandleft написал:
убрать ненужное значение пустого столбика
Код
=IF(ISBLANK(IF(HASONEVALUE('Произведено'[Произведено]),VALUES('Произведено'[Произведено]),"Фыва")),BLANK(), тут мера)
F1 творит чудеса
Power Query. Извлечение из комметариев назваие контрагента
 
Андрей VG, ну не проблема допилить в плане обрезания префиксов ТОВ/ООО/АТ/СК/СПД и чего еще душа пожелает :)
F1 творит чудеса
DAX-POWER_PIVOT - Распределение значений в столбцах или строках сводной таблицы, в зависимости от результата вычислений других столбцов или строк
 
Уважаемый lostandleft,
Цитата
lostandleft написал:
я понял, ничего сделать не получится в даксе. Он просто для этого не заточен.
Вы просто не умеете или бросаете на полдороги. По крайней мере, я не вижу в этой задаче ничего такого, что DAX не смог бы решить.
Цитата
lostandleft написал:
Косвенные затраты, коих очень много ложатся на продукты согласно определенных критериев, в общем случае, и чаще всего по объему выпуска продукции.
Чудес не бывает. Если вам говорят иначе, значит, вам нагло врут. В данном случае к чудесам относится возможность текущего уровня технологий человечества угадать, по какому же принципу вы хотите распределить затраты заранее неизвестной группы затрат. В начальном сообщении вы говорили о том, что затраты на электроэнергию распределяются пропорционально одному показателю, а затраты на зарплату пропорционально другому. Либо вы напрягаетесь и говорите системе, какие затраты по какому принципу ей нужно разносить (хотя бы утруждаете себя проставить тип разнесения у строки затрат в исходных данных), либо делаете разнесение по одному критерию (хотя бы тот же объем выпуска), либо остаетесь без разнесения. Так что хотя бы принцип определения доли вам придется додумывать
Код
=
CALCULATE ( [Сумма по столбцу Сумма], 'Произведено'[Произведено] = BLANK () ) * [Доля] + [Сумма по столбцу Сумма]

Сработает даже если у вас в одной строке сводной будет и разнесенная, и не разнесенная сумма. Например, часть зарплаты бармена разнесена на пироги, а часть общей суммой. Для итогов аналогично.

PS У вас неплохой потенциал и думаете в правильном направлении, но вы рано бросаете.  
Изменено: Максим Зеленский - 25 Июн 2020 18:42:40 (упростил формулу)
F1 творит чудеса
DAX-POWER_PIVOT - Распределение значений в столбцах или строках сводной таблицы, в зависимости от результата вычислений других столбцов или строк
 
Код
Сумма по сумме   :=SUM('Таблица1'[Сумма])

ПроизведеноТМЦ   :=VAR _Product = IF(HASONEVALUE('Произведено'[Произведено]),VALUES('Произведено'[Произведено]))
RETURN 
CALCULATE(
sum([Количество]),
'Таблица1'[Группировка]="Готовая продукция",ALL('Таблица1'[Движение],'Таблица1'[Показатель]),
'Таблица1'[Детали]=_Product,ALL('Произведено'[Произведено])
)
мера 1   :=VAR _Group = CALCULATE(IF(HASONEVALUE('Таблица1'[Группировка]),VALUES('Таблица1'[Группировка])),ALL('Произведено')) RETURN IF(_Group="Зарплата",CALCULATE([Сумма по сумме],ALL('Произведено'))*[Доля],[Сумма по сумме])

Немного не дожали. Остальные меры ваши
F1 творит чудеса
Power Query. Извлечение из комметариев назваие контрагента
 
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Data2"]}[Content],
    #"Trimmed Text" = Table.TransformColumns(Source,{{"коментарі ", Text.Trim, type text}}),
    #"Cleaned Text" = Table.TransformColumns(#"Trimmed Text",{{"коментарі ", Text.Clean, type text}}),
    #"Duplicated Column" = Table.DuplicateColumn(#"Cleaned Text", "коментарі ", "Копия коментарі "),
    #"Split Column by Character Transition" = Table.SplitColumn(#"Duplicated Column", "Копия коментарі ", Splitter.SplitTextByCharacterTransition({" ","("}, {"0".."9"}&{"("}), {"Контрагент"}),
    #"Trimmed Text1" = Table.TransformColumns(#"Split Column by Character Transition",{{"Контрагент", Text.Trim, type text}})
in
    #"Trimmed Text1"

Изменено: Максим Зеленский - 25 Июн 2020 13:24:53 (перемудрил с кодом)
F1 творит чудеса
DAX-POWER_PIVOT - Распределение значений в столбцах или строках сводной таблицы, в зависимости от результата вычислений других столбцов или строк
 
Цитата
lostandleft написал:
К сожалению мера не работает, какие бы справочники я не формировал.
Цитата
Максим Зеленский написал:
мера была такая, но использовать ее бессмысленно
F1 творит чудеса
DAX-POWER_PIVOT - Распределение значений в столбцах или строках сводной таблицы, в зависимости от результата вычислений других столбцов или строк
 
lostandleft, открою большой секрет: разнесение зарплаты и прочее разнесение без изменения модели данных в вашем случае невозможно. Например, я создал меру, которая считает долю ГП для разнесения зарплаты для каждого товара, помещенного в столбцы (т.е. "Произведено")


Но, так как у вас нет в исходных данных строк, которые соответствовали бы сочетанию "Произведено"="Пирог Вишня" и "Группировка"="Зарплата", то как бы я не старался, моя мера не будет рассчитываться для вашей сводной в ячейках сводной на пересечении пирожков с вишней и зарплатных строк. До тех пор, пока хотя бы некоторые показатели (например, то самое "Произведено") не будет вынесено в отдельный справочник, как вам показал StepanWolkoff в сообщении #5.

Причина очень простая - когда сводная строится на столбцах из одной таблицы, включается правило AUTOEXISTS - любые расчеты ведутся только для существующих сочетаний, а для несуществующих сочетаний не делается ничего. Если столбцы из разных таблиц - такое правило не работает.

Так что меняйте модель данных. Для ваших двух статей, которые нужно разнести, достаточно будет сделать модель как в сообщении #5.
мера была такая, но использовать ее бессмысленно
F1 творит чудеса
PowerBI Slicer Дат - Отображение только того периода, который существует в связанной таблице
 
lostandleft, но имейте ввиду, что будет работать медленнее
F1 творит чудеса
Power Query: перестало подключаться к Источнику данных
 
Мда уж. С этим бороться сложно, учитывая, что при чтении с листа берется весь использованный на листе диапазон.
Если есть возможность, поместите данные в умную таблицу и забирайте из нее, а не с листа - чтобы не брать лишнего
F1 творит чудеса
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 144 След.
Наверх