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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 40 След.
Как запретить загрузку данных из исходных файлов при обновлении запросов в Power Query ?
 
Предполагаю, что в этой таблице вы же не работаете как на листе эксель?
То есть, вам нужно сделать какие-то преобразования, а потом запустить запрос в работу. И вот как раз эти преобразования происходят у вас долго.

Если так- то перед тем как развернуть шаг из консолидации- отфильтруйтесь по 2-3 файлам.
Объем строк будет в десятки раз меньше.
Сделайте все преобразования на легком запросе и когда убедитесь, что все готово- удалите шаг с фильтрацией.
Тем самым, преобразования бует делать легко и быстро, а потом просто запускаете готовый запрос на все файлы.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Power Pivot зависает при использовании CALCULATE + DISTINCTCOUNT
 
frankyw,

В вашем коде вот этот кусок вызывает очень большие тормоза на больших массивах.

Код
'Пример'[ID товара]=EARLIER('Пример'[ID товара]



Попробуйте  вот так

Код
Кол-во ниже нормы :=
COUNTROWS (
    ADDCOLUMNS (
        SUMMARIZE (
            FILTER ( 'Пример'; 'Пример'[Качество] = "Ниже нормы" );
            'Пример'[ID товара];
            'Пример'[Свойство]
        );
        "Count"; CALCULATE ( COUNTROWS ( 'Пример' ) )
    )
)
Изменено: Dyroff - 15.10.2023 00:51:22
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Как в Power BI настроить автоматический выбор периода текущей недели
 
Для этого вам нужно создать справочник, в котором создать столбцы со скользящим значением текущего года и текущей недели.
Затем справочник соединить с таблицей данных.
Затем в визуализацию подключить фильтр, который будет ссылаться на скользящее значение недели и года.
Тем самым мы поолучим ситуацию, когда в фильтре визуализации всегда будет выбрано значение фильтра "Текущий год" и "Текущая неделя" - не нужно ничего будет выбирать руками и каждый раз при обновлении данные будут актуальными
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Макрос в гугл таблице
 
Евгений Кап, Может
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Транспонирование данных в PQ, Транспонирование строки в столбцы в PQ
 
Цитата
Raya написал:
не понимаю куда его добавить
Raya, Вам надо полностью удалить свой код и на его место вставить код surkenny,
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
СКУД, Подсчет персанала пршедшего через скуд
 
Надо посчитать кол-во уникальных проходов.
Раз уж файл вы не прикрепили, то, думаю, такой ответ вас удовлетворит и вы сами найдете как его реализовать на своем примере.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Проставить результат согласно двум условиям
 
Наверное так:
Код
=ЕСЛИ(C2>СУММЕСЛИМН($C$2:$C$12;$A$2:$A$12;A2;$B$2:$B$12;"Corp1 | SKU3")*0,15;"Много";ЕСЛИ(C2<СУММЕСЛИМН($C$2:$C$12;$A$2:$A$12;A2;$B$2:$B$12;"Corp1 | SKU3")*0,15;"Мало";"Средне"))


Только тут нет условия, что делать если кол-во равно
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
DAX количество значений в подгруппе по условию
 
Формула столбца:

Больше
Код
var KL='Таблица1'[Клиент]
var PR ='Таблица1'[Продажа]
var SM = 'Таблица1'[Сумма]
Return
CALCULATE(
    COUNTROWS('Таблица1');
    FILTER(
        ALL('Таблица1');
        'Таблица1'[Клиент] = KL&&
            'Таблица1'[Продажа] <> PR &&
            'Таблица1'[Сумма] > SM)
    )


Меньше
Код
var KL='Таблица1'[Клиент]
var PR ='Таблица1'[Продажа]
var SM = 'Таблица1'[Сумма]
Return
CALCULATE(
    COUNTROWS('Таблица1');
    FILTER(
        ALL('Таблица1');
        'Таблица1'[Клиент] = KL&&
            'Таблица1'[Продажа] <> PR &&
            'Таблица1'[Сумма] < SM)
    )
Изменено: Dyroff - 12.09.2023 23:47:16
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Обновление Power Query
 
я не могу  дотянуться до ваших файлов, так как не все файлы есть
Я вам личку напишу телефон, напишите в WhatsApp - Решим
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Обновление Power Query
 
А покажите какую ошибку выдает
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Обновление Power Query
 
Цитата
pogremyshkin написал:
еще раз добрый. Чет не работает так….
Можете файл прислать?
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Обновление Power Query
 
Цитата
pogremyshkin написал:
А как это работают?
Если коротко, то будет игнорироваться состояние файла и работа будет происходить так, словно файл закрыт
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Загрузка данных из OLAP внутри запроса
 
Волшебства не произойдет.
Структура OLAP  куба создана на SQL  сервере.
Все связи и меры лежат  и настроены там же.
Через Power Query  вам никак не вытащить готовую настроенную структуру.
Вы можете вытащить все таблицы на которых строится куб, а потом уже самостоятельно создавать связи между ними и  писать меры
То есть, по сути, создавая свой куб.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Обновление Power Query
 
Можно обновить. В запросе  в атрибутах в свойствах Hidden  фильтруемся по False  и тогда не важно, закрыт или открыт источник
Изменено: Dyroff - 09.09.2023 23:10:51
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Формула расчета мотивации, Формула расчета мотивации с разным условием
 
Код
=ЕСЛИМН(AH3<1300;AG3-0,03;И(AH3>1300;AH3<1600);AG3+0,03;AH3>1600;AG3+0,05)
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Среднемесячное значение за соответствующий месяц прошлых лет
 
Правила хорошего тона на нашем форуме предполагают прикрепления примера в таких случаях)
Но раз примера нет, а собирать за вас набор данных по формуле- так себе удовольствие, то и ответ может  быть неточным.

Скорее всего проблема может возникать из-за того, что вы используете  ALL, которая снимает все фильтры с указанного столбца, включая фильтр по полю "Год".
То есть, используя  ALL('Календарь'"Год") вы убираете фильтр по году, что приводит к некорректным результатам.

Можно попробовать использовать VALUES, которая возвращает уникальные значения из  столбца, и затем применить функцию CONTAINS для проверки наличия выбранных значений в столбце "Год".


Код
VAR FirstFactDate = FIRSTDATE('90'[Дата])
VAR LastFactDate = LASTDATE('90'[Дата])
VAR StartDate = EOMONTH(LastFactDate, -1)

VAR RelevantData =
   FILTER(
       ALL('Календарь');
       'Календарь'[Дата] >= FirstFactDate && 'Календарь'[Дата] <= StartDate &&
       CONTAINS(VALUES('Календарь'"Год"), 'Календарь'"Год", MAX('Календарь'"Год"))
   )

VAR TotalProfit = CALCULATE([Прибыль от реализации], RelevantData)
VAR TotalRevenue = CALCULATE([Выручка всего], RelevantData)

VAR Res = DIVIDE(TotalProfit, TotalRevenue)

RETURN
   Res
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
PQ/DAX как найти предпоследнее по величине
 
delete
Изменено: Dyroff - 08.08.2023 01:06:15
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
DAX игнорирование текущей даты календаря, Показать данные за весь месяц при том, что в календаре еще не созданы все даты месяца
 
Dilshod Ibragimov, Жаль.
Только вот вы не  прикрепили пример.
По описанию на словах попробовал- не получилось.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Кол-во уникальных значений на основе меры, Power Pivot Dax
 
Если оптимально - то так:

Код
кол-артикулов более чем в 2 магазинах:=
COUNTROWS (
    FILTER (
        ADDCOLUMNS (
            VALUES ( 'Таблица1'[Артикул] ),
            "count",
                CALCULATE (
                    COUNTROWS (
                        DISTINCT ( 'Таблица1'[Магазин] )
                    )
                )
        ),
        [count] > 2
    )
)


Если нагляднее, то вот:

Код
Кол-во артикулов >2маг(1) :=
COUNTROWS (
    FILTER (
        ADDCOLUMNS (
            SUMMARIZE (
                'Таблица1';
                'Таблица1'[Артикул]
            );
            "count";
                CALCULATE (
                    DISTINCTCOUNT ( [Магазин] )
                )
        );
        [count] > 2
    )
)
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
DAX игнорирование текущей даты календаря, Показать данные за весь месяц при том, что в календаре еще не созданы все даты месяца
 
может  так попробовать?

Код
CALCULATE(
    SUM('Sales Plan'[План продаж]),
    'Sales Plan'[Дата] >= DATE(YEAR(TODAY()), MONTH(TODAY()), 1),
    'Sales Plan'[Дата] <= EOMONTH(TODAY(), 0)
)
Изменено: Dyroff - 29.06.2023 23:23:49
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Нарастающий итог до предыдущего месяца в Power BI, Необходимо вычислить нарастающий итог до предыдущего месяца в Power BI
 
Александр Неугодников,
я могу предположить, что тип данных в столбце 'Период'[Дата] не является типом "Дата". Проверьте, правильно ли вы задали тип данных для столбца "Дата".


Если тип данных для столбца 'Дата' правильно задан, и вы все равно получаете ошибку, попробуйте явно определить возвращаемый тип данных в функции DATEADD.


Код
Нар.Итог пр.мес. = CALCULATE(
   [Сумма],
   FILTER(
     ALLSELECTED('Период'[Дата]),
     'Период'[Дата] <= EOMONTH(DATEADD(MAX('Период'[Дата]), -1, "Month"), -1)
   )
)


А еще лучше дайте файл с примером
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Нахождение максимума в Power Piwot, меры.
 
Первая мера, которая посчитает сумму максимальных продаж по товарам в месяце

Код
Максимальные прожади в месяце :=
VAR sales =
    CALCULATE (
        MAX ( 'Таблица1'[Объем продаж] );
        ALL ( 'Таблица1'[Товар] )
    )
RETURN
    IF (
        SUM ( 'Таблица1'[Объем продаж] ) = sales;
        sales;
        BLANK ()
    )



Вторая мера, которая посчитает по сути тоже самое, только за весь период
Код
Максимальные продажи за весь период:=
CALCULATE('Таблица1'[Максимальные прожади в месяце];
 All('Таблица1'[Период]))
Изменено: Dyroff - 26.06.2023 23:42:38
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Определить дату ближайшего дня доставки (PQ)
 
Alien Sphinx,  Спасибо за вариант.
Отправляю в копилку)
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Нарастающий итог до предыдущего месяца в Power BI, Необходимо вычислить нарастающий итог до предыдущего месяца в Power BI
 
у вас есть небольшая ошибка в формуле CALCULATE.
Фильтр должен сравнивать даты с предыдущим месяцем, а не с максимальной датой в этом месяце.
Для этого вам нужно использовать функцию DATEADD для получения даты первого дня предыдущего месяца, а затем использовать эту дату в фильтре.


Попробуйте так

Код
Нар.Итог пр.мес. = CALCULATE(
   [Сумма],
   FILTER(
     ALLSELECTED('Период'[Дата]),
     'Период'[Дата] <= EOMONTH(DATEADD(MAX('Период'[Дата]), -1, MONTH), -1)
   )
)
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Определить дату ближайшего дня доставки (PQ)
 
Цитата
surkenny написал:
1 строке для города. Можно посложнее логику сделать.
Не-не.. нормально  так. Мне важен был сам подход.
Спасибо большое.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Уникальные данные запросом SQL по последней дате, Как отсортировать объекты по последней дате
 
Примерно так:

Код
SELECT 
[Марка автомобиля]
, MAX([Дата ТО]) as [Дата ТО] 

FROM [Название таблицы] 
GROUP BY 
[Марка автомобиля]
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Определить дату ближайшего дня доставки (PQ)
 
Цитата
Alien Sphinx написал:
На код PQ посмотреть. Давно не видел кода на языке M
ну-ну))
Цитата
Alien Sphinx написал:
По коду не понял куда вы пытались продвинуться..M
Именно поэтому в изначальном сообщения я прошу не проверить мой код, а описываю задачу.
Но Вы решили выстпить с позицией учителя и проверить, а достаточно ли я потрудился перед тем, как писать сообщение)
Что пытался сделать:
1. Преобразовать день недели в числовой формат, через Date.DayOfWeek.
2. Создать список с названиями всех дней недели (От понедельника до воскресенья).
3. Определить текущий день недели (индекс) в списке deliveryDays.
4. Отобрать дни, в которые возможна доставка, используя значение столбца "Доставка".
5. Определить количество дней с доставкой (dayWithDeliveryCount).
6. Определить ближайший день недели с доставкой (closestDeliveryWeekday), используя списки с функциями List.PositionOf и List.Transform.
7. Добавить столбец "Ближайший день доставки" в исходную таблицу

Цитата
Alien Sphinx написал:
НП Агинское. Коды, наверное, уникальны - не проверял
Коды уникальные - но этим можно пожертвовать.
В запросе убрал столбцы с кодом, интервалами, оставив только уникальные названия пунктов.
Изменено: Dyroff - 22.06.2023 18:26:25
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Определить дату ближайшего дня доставки (PQ)
 
MariKaaaaa,
Потому что решение в котором это будет применяться  в объеме строк сильно больше 100 тыс) и  список городов в которому будет подтягиваться дата не будет выводиться на лист, Excel, а будет обрабатываться в Power Query  и потом загружаться в модель данных для последующих расчетов.
+ К этому Ваше решение просто ищет ближайший по недельник к указанной дате. А надо искать ближайший день по графику доставки, который находится на другом листе)
Изменено: Dyroff - 23.06.2023 10:14:09
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Определить дату ближайшего дня доставки (PQ)
 
MariKaaaaa, Спасибо за вариант.
Да, в экселе с доп столцами проблем нет..
Но я ищу решение именно через Power Query
Изменено: Dyroff - 22.06.2023 17:34:38
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Определить дату ближайшего дня доставки (PQ)
 
Цитата
Alien Sphinx написал:
а пытались? А покажите.

А  скажите, что вам даст то, что я покажу? К чему этот вопрос?

Но если  интересно- держите:)

Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Replace0 = Table.ReplaceValue(Источник,0,1,Replacer.ReplaceValue,{"Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"}),
    ReplaceNull = Table.ReplaceValue(Replace0,null,0,Replacer.ReplaceValue,{"Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"}),
    Unpivot = Table.UnpivotOtherColumns(ReplaceNull, {"Код", "НП", "Интервалы доставки"}, "День", "Доставка"),
    AddDeliveryDayColumn = Table.AddColumn(Unpivot, "Ближайший день доставки", each let
            currentWeekday = Date.DayOfWeek([День], Day.Monday),
            deliveryDays = {"Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"},
            currentDayIndex = List.PositionOf(deliveryDays, [День]),
            deliveryDaysWithDelivery = List.Select(deliveryDays, (x) => [Доставка] & x = 1),
            dayWithDeliveryCount = List.Count(deliveryDaysWithDelivery),
            closestDeliveryWeekdayIndex = 
                if [Доставка] = 0 then currentDayIndex else
                    if dayWithDeliveryCount = 0 then null else
                    List.Min({List.PositionOf(deliveryDays, [День])} & 
                    List.Transform(List.Range(deliveryDays, List.PositionOf(deliveryDays, [День])),
                    (x) => List.PositionOf(deliveryDays, x) + dayWithDeliveryCount) & 
                    List.Transform(List.Skip(deliveryDays, List.PositionOf(deliveryDays, [День]) + 1),
                    (x) => List.PositionOf(deliveryDays, x) + dayWithDeliveryCount + 1)),
            closestDeliveryWeekday = 
                if [Доставка] = 0 then null else 
                    if dayWithDeliveryCount = 0 then null else 
                    deliveryDays{closestDeliveryWeekdayIndex}
        in
            closestDeliveryWeekday)
in
    AddDeliveryDayColumn
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 40 След.
Наверх