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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 155 След.
Как мерой DAX рассчитать расходы товара со складов, зная, как изменялись остатки.
 
Можно объединить таблицы в одну:
  • или сделать в PQ слияние по номеру склада и дате, присоединив таблицу Прих к таблице Остат,
  • или, так как у вас таблицы связаны по дате,и если я правильно понимаю, в одну дату только на один склад есть приход, то можно в Power Pivot создать вычисляемый столбец с формулой = RELATED('Прих'[Приход]),
чтобы у вас появился еще один столбец Приход.
Тогда просто добавляете в свою формулу
Код
+SUM('Остат'[Приход])
Если не хотите так менять данные, то вот такие формулы могут помочь:
Код
Сумма остаток =
SUM ( 'Остат'[Остаток] )
Код
Сумма прихода =
CALCULATE (
    SUM ( 'Прих'[Приход] );
    FILTER (
        'Прих';
        'Прих'[Дата прихода] = MIN ( 'Остат'[Дата остатка] )
            && 'Прих'[Номер склада] = MAX ( 'Остат'[Номер склада] )
    )
)

Тогда вот так (с учетом правильного подсчета в итогах строк и столбцов):
Код
Расход =
SUMX (
    ADDCOLUMNS (
        SUMMARIZE ( 'Остат'; 'Остат'[Дата остатка]; 'Остат'[Номер склада] );
        "Value";
            CALCULATE ( [Сумма остаток]; PREVIOUSMONTH ( 'Остат'[Дата остатка] ) ) - [Сумма остаток] + [Сумма прихода]
    );
    [Value]
)

но, конечно, по-хорошему надо менять модель данных - сделать справочник складов, справочник дат (календарь), и использовать в сводной данные из них, тогда вообще всё просто было бы
F1 творит чудеса
Вопросы по основам работы со списками в PQ
 
Цитата
Kirill Gureev написал:
как объединить всё в одну последовательность. включая все уровни вложений, даже если их несколько.
Цитата
buchlotnik написал:
вроде как цель - объединить списки
если объединить как List.Combine, то можно и &. Если же нужно из {1, {2, 3}} и {{2, 3}, 3, 4} сделать {1,2,3,4}, то тогда  надо List.Distinct в конце натравливать (Combine + Distinct будет гораздо быстрее, чем использовать List.Union в рекурсии)
Изменено: Максим Зеленский - 16 ноя 2020 14:06:37
F1 творит чудеса
Вопросы по основам работы со списками в PQ
 
Цитата
Kirill Gureev написал:
Не очень понял роль s в этих выражениях?
почитайте тут. Хоть пример с СУММПРОИЗВ и не очень корректный, но суть показывает
F1 творит чудеса
Вопросы по основам работы со списками в PQ
 
Я Table.FromList не использую. Многословная и предназначена чуть для другого. Я так понимаю, как элемент преобразования списка строк с разделителями в таблицу (это же далеко не всегда CSV), поэтому когда строку резать не надо, то и подставляется ничего не делающий Splitter.SplitByNothing(). Вместо него вполне подходит любая функция типа (x)=>x

Более быстрые и дешевые варианты:
Код
Table.FromColumns({Source},{"OneColumn"})
Код
= #table({"OneColumn"}, List.Zip({Source}))

Если пофиг, как называется столбец, а главное получить таблицу, то вот так получим таблицу со столбцом Column1:
Код
Table.FromColumns({Source})
Код
= #table(1, List.Zip({Source}))

а вот так с названным и типизированным столбцом:
Код
Table.FromColumns({Source}, type table [OneColumn = number])
Код
= #table(type table [OneColumn = number], List.Zip({Source}))
F1 творит чудеса
Хранение больших баз данных
 
F1 творит чудеса
Диаграмма по сводной таблице.
 
Цитата
com_BBC написал:
Вопрос: есть ли способ запихнуть формулу с указанием диапазона (как диапазона, а не Таблицы или СвТаблицы) в диаграмму?
х.з. Наверное можно при помощи VBA создать именованный диапазон, которое будет перестраивать свою ссылку при обновлении сводной, но это еще больший костыль
Гораздо проще создать копию сводной на скрытом листе и построить диаграмму к ней (к копии). Потом настроить срезов там же на скрытом листе и подключить их к указанным сводным, чтобы одним срезом фильтровать и диаграмму, и таблицу. Смотрите пример тут
Сделал так же в файле.
F1 творит чудеса
Конфиденциальность в Power BI (имеют ли посторонние доступ)
 
Elefant_73, нет, не сможет. Это не про доступ к вашему отчету, а про параметры источника данных.
Уровни конфиденциальности относятся к источникам данных имеют значение при использовании (смешивании) разных источников данных. Например, источники уровня Private нельзя смешивать с другими (джойнить, ссылаться в запросах, имеющих другой источник и т.п.). Уровень Organizational позволяет смешивать данные с источниками такого же уровня конфиденциальности. Уровень Public не имеет ограничений по смешиваниям. Там есть еще нюансы. Вот целая серия статей об этом

Когда вы ставите "Игнорировать", это значит, что при разработке не будет проверяться уровень конфиденциальности источника, и разработка будет вестись быстрее. В Excel в принципе эта настройка работает постоянно, в Power BI - только в Power BI Desktop. В Power BI Service (после публикации) уровни конфиденциальности  придется назначить в параметрах источника (например, при привязке к шлюзу), там игнор не работает
F1 творит чудеса
Как сделать экспорт умной таблицы, созданной через PQ в XML из excel?, Как сделать экспорт умной таблицы, созданной через PQ в XML из excel?
 
Цитата
Дмитрий kh121 написал:
- почему на таблицу-результат обработки PQ эксель выдает такую ошибку при сопоставлении полей XML карте и не дает использовать сформированные таким образом умные таблицы для сопоставления с данными карты? Можно ли как-то это обойти?  
думаю, потому что такая таблица для Excel - внешний диапазон (если обращали внимание, при первой загрузке на лист из запроса PQ сначала видно "ExternalData1...". Скорее всего, не предусмотрено сопоставление полей с динамическим диапазоном, основанном на внешних данных.
По макросу не подскажу, но, скорее всего, именно там лежит решение
F1 творит чудеса
Power Query/ Перенос данных строк одной операции 1С в отдельные столбы
 
Kristina D, еще бы понять, почему у вас вдруг на некоторых операциях артикул пишется первым, до отдела, а на некоторых - после. Спишу на подготовку примера. Но если он (артикул) действительно там первый, то вопрос остается - должно быть хоть какое-то правило, чтобы понять, что это именно артикул
код для вызова из другого файла
Изменено: Максим Зеленский - 12 ноя 2020 19:04:11
F1 творит чудеса
Power Query. Таблица по запросу + значения вручную
 
Александр П, ок, сходил по нескольким ссылкам за вас. https://exceleratorbi.com.au/self-referencing-tables-power-query/
F1 творит чудеса
Power Query. Таблица по запросу + значения вручную
 
Добрый день.
Вот по поиску по словам self referencing tables много разных тем можно найти, где такие задачи разбирались.
F1 творит чудеса
Некорректные итоги по мере в сводной таблице excel
 
Цитата
neчepara написал:
Все, я разобралсяВсем спасибо!
пожалуйста. Мое решение помогло, или по-другому решили?
F1 творит чудеса
ABC анализ как срез в сводной таблице
 
Owlet, это уже, конечно, тема отдельного вопроса, но да, делаете 4-ю меру, в которой  просто сцепляете результаты: [ABCProfit] & [ABCTurn] & [XYZ]
F1 творит чудеса
ABC анализ как срез в сводной таблице
 
Owlet, в Excel создаете на листе таблицу с именами категорий и грузите ее в модель данных. Потом по столбцу этой таблицы делаете срез. Значения среза получаете при помощи вот такой формулы:
ALLSELECTED('Таблица для среза'[Столбец для среза])
это будет табличка из одного столбца с выбранными на срезе значениями. Эту формулу можно использовать в других формулах для фильтрации (и только там).
Ну вообще тема очень обширная, вы можете почитать тут https://www.daxpatterns.com/abc-classification/ конечно, но в вашем случае надо плясать от конкретных задач и структуры данных
F1 творит чудеса
DAX. % Доля товара в Адресе
 
Простите, понятнее не стало. Простой пример в виде файла помог бы
F1 творит чудеса
DAX. % Доля товара в Адресе
 
сорян, на словах
Цитата
Дмитрий Марков написал:
Оцениваемая категория – через меру, одна категория на вход в визуализацию, определение доли товара в Адресе
я сломался. Как это связано с приведенной формулой? Вам нужна мера или столбец?
Цитата
Дмитрий Марков написал:
возможно ли такое вообще ... (два уровня вложенности)
да, возможно. И три бывает.
F1 творит чудеса
Не загружает новые столбцы при обновлении данных импорта из CSV
 
PooHkrd, ну то есть все же определяет по первой строке в соответствии с заданным разделителем. Значит, я не ошибся :)
Поэтому если первая строка содержит заголовки, то можно опускать параметр Columns, но надо потом следить за всеми остальными ссылками на имена столбцов (обычно далее на типизации начинает "ломаться")
F1 творит чудеса
Не загружает новые столбцы при обновлении данных импорта из CSV
 
Цитата
PooHkrd написал:
Он загнал все в один столбец. О365.
а можно сэмпл?
F1 творит чудеса
Не загружает новые столбцы при обновлении данных импорта из CSV
 
Цитата
PooHkrd написал:
выгрузит весь файл в один столбец.
разве? По-моему, определит по первой строке
F1 творит чудеса
Вывести "нестандартный" итог по сводной таблице в Power bi
 
Цитата
Геннадий Якименко написал:
в строчках считает правильно, но итог выводит "неправильно" - сумма строк не совпадает с итогом.
каждая ячейка (каждое отдельное значение), в том числе итоговая, рассчитывается независимо от существования других ячеек и значений в них. Итоговая строка считается по той же формуле, что и обычная строка. Разница в том, что на итоговую строку не действует фильтр обычной строки (например, дата).
Если у вас в формуле просто сумма, то разницы быть не должно. Если у вас там не "просто сумма", то надо смотреть, как контекст расчета для обычной строки влияет на расчет и как его отсутствие влияет на расчет итога
F1 творит чудеса
Некорректные итоги по мере в сводной таблице excel
 
neчepara,
покажу на примере одной меры:
Код
за_счет_цены_план-факт_2019 =
SUMX (
    ADDCOLUMNS (
        SUMMARIZE ( 'Массив'; 'Массив'[ЦФО]; 'Массив'[Статья] );
        "value";
             ( 'Массив'[Цена_2021_план] - 'Массив'[Цена_2019_факт] ) * 'Массив'[Кол_2021_план]
    );
    [value]
)

в 6-й строке ваша начальная формула

По такому же примеру переделайте остальные меры
F1 творит чудеса
Оборот по счёту в сводной таблице Power Pivot, Power Pivot
 
Код
=CALCULATE( [Зачисление] - [Списание];
         FILTER( ALLSELECTED( 'Calendar');
                 'Calendar'[Date] < MIN( 'Calendar'[Date] )
         )
)
может так?
F1 творит чудеса
Power Query, Добавить к каждому товару столбец, в котором считается процент от суммы
 
а все пустые строки и столбцы (товар 4) тоже нужно сохранять?
F1 творит чудеса
Power Query Поиск значения в строке и его вывод, Power Query Поиск значения в строке и его вывод
 
формула доп.столбца
Код
=List.Last(List.RemoveNulls(Record.FieldValues(_)))

я правильно понял?
F1 творит чудеса
Как отобразить исходный код веб страницы после авторизации Power Query
 
Попробуйте Lines.FromBinary(Binary.Buffer(Web.Contents(... но проверить не на чем, не факт, что сработает
F1 творит чудеса
Не удается создать накопительную меру
 
Не, там все проще и сложнее одновременно.

На сводную действует фильтр по столбцу dds_inc_dynamic <>0. Соответственно все строки в которых в этом столбце 0, заранее исключаются из рассмотрения.
поэтому при фильтре "процент по депозиту" (item_id = 69) вообще нет строк, соответствующих какой-либо дате tstamp_inc, кроме 10.03. Поэтому и
Код
FILTER(
      ALL(income[tstamp_inc]); income[tstamp_inc] <= MAX(income[tstamp_inc])
не возвращает ничего (что легко проверить, создав меру countrows(filter....) ).
этого можно было бы избежать, переписав меру так:
Код
мера1 :=
CALCULATE (
    CALCULATE (
        SUM ( income[dds_inc_dynamic] );
        FILTER (
            ALL ( income[tstamp_inc] );
            income[tstamp_inc] <= MAX ( income[tstamp_inc] )
        )
    );
    ALL ( income[dds_inc_dynamic] )
)
Но это не подойдет, если вам действительно нужен фильтр по dds_inc_dynamic (а не только убрать 0). Чтобы убрать 0 нужно в этом столбце от них избавиться заменив 0 на BLANK (чтобы не выводить 0 там, где ничего нет). Это стоит сделать в любом случае.

Другая беда - дело в том, что по "вклад в уставной капитал" (item_id = 1) вообще нет ни одной строки в таблице income, которая соответствовала бы tstamp_inc=10.03.2020
Поэтому опять же FILTER возвращает тут пустую таблицу и мера не считается. Иными словами, для tstamp_inc=10.03.2020 формула MAX(income[tstamp_inc]) здесь будет пусто, соответственно FILTER пустой.

Поэтому правильное решение - как написал Андрей VG, сделать отдельный календарик для tstamp_inc, и использовать в заголовках столбцов сводной его, переписав соответственно меру. В таком случае не сработает AUTOEXIST (принцип, запрещающий выводить данные для несуществующих сочетаний, когда мы рассматриваем столбцы из одной таблицы, такие как dds_inc_dynamic и tstamp_inc).

Почему срабатывает встроенная мера  с накоплением - там не DAX, там MDX, и другой способ построения расчетов.
F1 творит чудеса
Получить из числа календарь в PQ
 
Цитата
adamm написал:
И выражение "List.Type" это и есть список?
List.Type это сообщение для PQ, что после трансформации столбца он содержит списки.
Цитата
adamm написал:
не смог разобраться с  #duration
в PQ нельзя сложить дату и дату, можно к дате добавить значение типа #duration, которое задается четырьмя числами - дни, часы, минуты, секунды. В дни в данном случае пихаем значение столбца "Количество дней"
F1 творит чудеса
Из Power pivot в умную таблицу перенести не все столбцы, Из Power pivot в умную таблицу перенести не все столбцы
 
вообще не обязательно ковыряться через PQ в модель в данном случае.
есть возможность вывода таблицы из модели на лист напрямую через умную таблицу.
Общая суть - идем на вкладку Данные, выбираем "существующие подключения", находим там запрос, который формирует любую таблицу (или находим любую умную таблицу на вкладочке "Существующие подключения" - "Таблицы"), дважды кликаем и выгружаем ее на лист как обычную, не сводную таблицу.
Далее по этой таблице правой мышью, находим в менюшке раздел Таблица - Изменить DAX, и вписываем там, например,
Код
EVALUATE SELECTCOLUMNS(TableName, "Column1", Table[Column1], "Column5", Table[Column5])

в общем, код отбора столбцов из нужной таблицы модели данных.
ну и дальше главное, чтобы на лист влезло
Изменено: Максим Зеленский - 7 окт 2020 17:46:40
F1 творит чудеса
DAX. Фильтрация предыдущих кварталов по количеству дней в текущем квартале., сравнить текущий квартал (X дней) с предыдущими двумя за аналогичное количество дней.
 
Что-то я не понял, зачем вы там наворотили таблицу TOP3...
если поставить в ось номера кварталов из календаря, всё прекрасно работает вот так:
Код
Сумма по кварталам =
VAR _MaxDate = CALCULATE ( MAX ( 'Таблица фактов'[date] ), ALL ( 'Календарь' ) )
VAR _MaxDateStartOfQuarter = CALCULATE ( STARTOFQUARTER ( 'Календарь'[Date] ), 'Календарь'[Date] = _MaxDate )
VAR _DaysCount = _MaxDate - _MaxDateStartOfQuarter + 1
RETURN
    CALCULATE (
        SUM ( 'Таблица фактов'[value] ),
        DATESINPERIOD (
            'Календарь'[Date],
            STARTOFQUARTER ( 'Календарь'[Date] ),
            _DaysCount,
            DAY
        )
    )
Но в принципе можно и из ТОП3 поставить номер квартала, в вашей модели сработает
F1 творит чудеса
dax нарастающим итогом со сдвигом дат
 
Может, так?
Код
ВыручкаНИ =
VAR _Min =
    CALCULATE ( MIN ( 'Дата'[Дата] ), ALLSELECTED ( 'Дата' ) )
VAR _Max =
    MAX ( 'Дата'[Дата] )
RETURN
    CALCULATE (
        SUM ( Sale[Выручка] ),
        CALCULATETABLE (
            PARALLELPERIOD ( 'Дата'[Дата], -1, YEAR ),
            DATESBETWEEN ( 'Дата'[Дата], _Min, _Max )
        )
    )
Изменено: Максим Зеленский - 7 окт 2020 16:09:59 (исправил)
F1 творит чудеса
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 155 След.
Наверх