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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 15 След.
PQ. Изменение гранулярности. Сумму квартала разложить по месяцам., Необходимо добавить в таблицу месяца.
 
surkenny, благодарю!  
Изменено: ivanka - 14.01.2022 12:36:42
PQ. Изменение гранулярности. Сумму квартала разложить по месяцам., Необходимо добавить в таблицу месяца.
 
Здравствуйте!

Прошу помочь с решением задачи.
Дано и необходимый результат:



Прикладываю файл с готовым подключением.
Благодарю!
PQ. После JOIN и перед извлечением, присоединяемые данные необходимо дополнительно сопоставить.
 
Дмитрий, я учёл Вашу обратную связь. Действительно, я написал не то, что хотел. Буду рад, если посмотрите. Спасибо.  
Изменено: ivanka - 08.12.2021 18:20:36
PQ. После JOIN и перед извлечением, присоединяемые данные необходимо дополнительно сопоставить.
 
Мне не нужна последняя запись.
Мне нужны все записи, которые соответствуют диапазону дат. В примере, для простоты восприятия сделано меньше записей в таблице продаж.
Но записей может быть много.
Цитата
написал:
по дате и менеджеру связывать
Эта задача не решается при помощи суррогатного ключа.  
Изменено: ivanka - 08.12.2021 13:30:56
PQ. После JOIN и перед извлечением, присоединяемые данные необходимо дополнительно сопоставить.
 
Коллеги, добрый день!

Прошу помочь с решением задачи.
У меня имеются следующие таблицы:


Я использую JOIN, чтобы создать общую таблицу, где объединены данные по продажам и офисам.
Ключом для объединения является менеджер. В результате я получаю некорректное распределение городов, т.к. данные объединяются только по менеджеру, без учёта дат.



В алгоритм необходимо добавить условие, при котором будет учитываться дата зачисления / перевода сотрудника в какой-то город.
JOIN города в таблицу продаж должен учитывать даты.

Необходимый результат:



Прикладываю файл примера с подключением.
Благодарю!  
Изменено: ivanka - 09.12.2021 12:07:38
DAX. Различные условия вычисления для разных месяцев квартала.
 
surkenny, лучшее объяснение, что я читал! Благодарю!
Почему мы в данном случае не используем FILTER() ?  
DAX. Различные условия вычисления для разных месяцев квартала.
 
surkenny, оба сценария интересны! Первый для себя уже разобрал. Второй надо понять. KEEPFILTERS() обычно не приходится использовать.
Помню из книги, что эта функция не модифицирует контекст, а влияет на работу модификаторов контекста (что-то вроде того).
Изменено: ivanka - 25.10.2021 13:00:44
DAX. Различные условия вычисления для разных месяцев квартала.
 
surkenny, прошу вас прокомментировать логику VAR salesByYM и VAR Result. Я обычно такие подходы не использую, поэтому сложно понять.
Спасибо!
DAX. Различные условия вычисления для разных месяцев квартала.
 
mechanix 85, будущие не наступили, поэтому для них не считать. В таблицу Fact я добавил данные за будущие месяцы, чтобы протестировать решение: допустим указать, что сегодня = 21.12.2021. В этом случае октябрь и ноябрь должны быть вычислены по первому сценарию, а декабрь по второму.
DAX. Различные условия вычисления для разных месяцев квартала.
 
Здравствуйте!
Прошу помочь с решением задачи. Что-то я заблудился в 2-х соснах.

Условия задачи:
Имеется 2 сценария вычисления.
  • Первый сценарий - для прошедших месяцев квартала.
    Находим сумму по прошедшим месяцам и делим на 100.

  • Второй сценарий - для текущего месяца квартала.
    Находим сумму текущего месяца и добавляем 5000.
Результаты 2-х сценариев складываются.
Желательно оба сценария прописать в одной мере.
Т.е. одна мера должна вычислять значение за текущий квартал.

Модель подготовлена.
PQ. Замена значений в таблице 1 при совпадении с таблицей 2.
 
Здравствуйте!

Прошу помочь с изящным решением.
Задачу я уже решил через Join, условный столбец, удаление изменяемого столбца и т.д.

Уверен, что знатоки могут подсказать более интересное и компактное решение.
Спасибо!
 
PQ. Создание полей на основании разделителя в строках., Имеется поле, в котором находится несколько атрибутов, которые необходимо разделить на разные поля.
 
Максим Зеленский, рад Вас видеть!) Благодарю! Буду знакомиться с решением.
PQ. Создание полей на основании разделителя в строках., Имеется поле, в котором находится несколько атрибутов, которые необходимо разделить на разные поля.
 
Дмитрий(The_Prist) Щербаков, принял. Спасибо! Но решение необходимо на PQ без добавление инструментов Excel.  
PQ. Создание полей на основании разделителя в строках., Имеется поле, в котором находится несколько атрибутов, которые необходимо разделить на разные поля.
 
Здравствуйте!

Прошу помочь с решением задачи. Пишу на форум, т.к. не пойму как решить задачу "красиво".
Прикладываю пример, в котором представлены исходные данные и требуемый результат.

 
PQ. Необходимо найти и удалить связку [текст и перенос строки]
 
Спасибо
DAX. Передача контекста фильтра для измерений не связанных с фактами., Справочник был дополнен измерением не связанным с таб. событий, необходимо передать контекст.
 
Здравствуйте!

Прошу помочь с решением. Возможно я не лучшим образом сформулировал тему.
Рассказываю. В Power BI необходимо построить таблицу из 3-х строк:
  1. Строка "Остаток" - подобное измерение имеется в таблице событий, сумму можно подсчитать в таблице событий.
  2. Строка "Долг" - подобное измерение имеется в таблице событий, сумму можно подсчитать в таблице событий.
  3. Строка "Разница" - подобного измерения нет в таблице событий, сумму можно подсчитать сложив "Остаток" и "Долг".

    Необходимый результат:


Я создал справочник, в котором появилось измерение "разница" и вся соответствующая иерархия:
Код
let
    // СОЗДАНИЕ 1-ГО СПРАВОЧНИКА
    Cправочник1 =       Table.SelectColumns(События, {"тип", "область", "город", "ключ"}),

    // СОЗДАНИЕ 2-ГО СПРАВОЧНИКА
    ФильтрСтрок =       Table.SelectRows(Cправочник1, each ([тип] = "остаток")),
    ЗаменаЗначений1 =   Table.ReplaceValue(ФильтрСтрок,"остаток","разница",Replacer.ReplaceText,{"тип"}),
    ЗаменаЗначений2 =   Table.ReplaceValue(ЗаменаЗначений1,"остаток","разница",Replacer.ReplaceText,{"ключ"}),
    Справочник2 =       ЗаменаЗначений2,

    // ОБЪЕДИНЕНИЕ СПРАВОЧНИКОВ
    ОбъедСправ =        Table.Combine({Cправочник1, Справочник2})
in
    ОбъедСправ

Написал следующую меру:
Код
Мера для таблицы = 

// вычисляем разницу 
VAR Difference = // разница между суммами
    CALCULATE(
        [Сумма],
        FILTER(
            ALL('Справочник'),
            'Справочник'[тип] = "остаток"
        )        
    )
    +
    CALCULATE(
        [Сумма],
        FILTER(
            ALL('Справочник'),
            'Справочник'[тип] = "долг"
        )
    )

// выводим значения правильно

VAR Context =
    IF(
        SELECTEDVALUE('Справочник'[тип]) = "разница",
        Difference,
        [Сумма]
    )

RETURN Context

Получаю результат:


Т.е. для измерения "разница" фильтра нет.
Не могу понять как сделать вычисление мерой.
Файлы примеров подготовлены.

Благодарю!
PQ. Фильтрация списка без преобразования в таблицу., Есть список, необходимо отфильтровать названия полей, которые содержат слово "Date".
 
surkenny, благодарю!  
PQ. Фильтрация списка без преобразования в таблицу., Есть список, необходимо отфильтровать названия полей, которые содержат слово "Date".
 
Андрей VG, здравствуйте!

Подскажите пожалуйста, имеется ли возможность, при выполнении фильтрации "СписокПолей", исключить некоторые поля из вхождения в список?
К примеру:

Код
    СписокПолейФильтр = List.Select(
                            СписокПолей,
                            (t) => Text.Contains(t, "Date"),
                             
                            кроме поля "Поле 1 Date"

                        )

Изменено: ivanka - 21.04.2021 10:38:44
PQ. Фильтрация списка без преобразования в таблицу., Есть список, необходимо отфильтровать названия полей, которые содержат слово "Date".
 
Цитата
Андрей VG написал:
Text.Contains(t, "Date")
:evil:  всё сильно проще оказалось....

Цитата
Андрей VG написал:
всё же может уже почитать спецификацию языка?
Я почитал, не то подобрал.
Да, я понял свою ошибку.... такая простая ошибка...

Благодарю!
Изменено: ivanka - 19.04.2021 20:17:37
PQ. Фильтрация списка без преобразования в таблицу., Есть список, необходимо отфильтровать названия полей, которые содержат слово "Date".
 
Здравствуйте!

Прошу помочь с решением задачи.
Как фильтровать таблицу списком - я понял: Table.SelectRows(      source, each List.Contains(list_filter, [Код]))
Не могу понять как отфильтровать список не переводя его в таблицу. Я пробовал:
Код
let
    Источник =          Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    ИзменённыйТип =     Table.TransformColumnTypes(
                            Источник,{
                                {"Поле 1 Date", type date},
                                {"Поле 2", type text},
                                {"Поле 3  Date", type date},
                                {"Поле 4", type text}
                            }
                        ),
    СписокПолей =       Table.ColumnNames(ИзменённыйТип),
    СписокПолейФильтр = List.Select(
                            СписокПолей,
                            each {_, (t) => List.Contains(t, "Date")}
                        )

in
    СписокПолейФильтр


Благодарю!
PQ. Необходимо найти и удалить связку [текст и перенос строки]
 
Здравствуйте!

Прошу помочь с решением.
Имеется таблица, у которой в одной ячейке содержатся даты, текст, перенос строки: #(lf)



В [Поле 2], в первой ячейке после каждой записи содержится перенос строки.
Необходимо оставить только даты с перечислением через "; "

У меня возникли сложности с тем, чтобы удалить следующие сценарии:
   1. Текст + перенос строки - могу удалить только текст, а не связку
   2. Перенос строки как первая запись - не могу удалять перенос строки, т.к. использую его для замены на "; " Иногда помогает Trim.

Благодаря помощи формучан (ссылка, ссылка) я составил запрос на чистку записей от текста:
Код
let
    Источник =          Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    СписокПолей =       {"Поле 2", "Поле 3"},
    УдалениеТекста =    Table.TransformColumns(
                            Источник,
                            List.Transform(
                                СписокПолей,
                                each {_, (t) => Text.Remove(
                                                    t,{
                                                        "А".."я",
                                                        "A".."z",
                                                        "(",
                                                        ")",
                                                        "ё"
                                                    })
                                    }
                            )
                        )
in
    УдалениеТекста


Результат:



После того, как я заменяю #(lf) на "; " - я получаю "; ; "

Благодарю!
PQ. Text.Trim () для списка полей., Необходимо не перечислять действие для каждого поля, а передать список полей где необходимо выполнить действие.
 
buchlotnik, благодарю за наводки!
PQ. Text.Trim () для списка полей., Необходимо не перечислять действие для каждого поля, а передать список полей где необходимо выполнить действие.
 
buchlotnik, благодарю!

Я писал что-то вроде этого:
Код
Table.TransformColumns(Источник, each {_,(t)=> Text.Trim(t)})


Как видите, хожу в темноте без источника света.
Изменено: ivanka - 14.04.2021 09:06:06
PQ. Text.Trim () для списка полей., Необходимо не перечислять действие для каждого поля, а передать список полей где необходимо выполнить действие.
 
Здравствуйте!

Прошу помочь с решением задачи. Уверен, что для знатоков она крайне проста, но я не вижу решения.

Дано:
1. Таблица с большим количеством полей (условно).
2. Список полей

Необходимо:
Выполнить запрос таким образом, чтобы не писать {"Поле 2", Text.Trim, type text} для каждого поля.

Код
let
    Источник =      Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    СписокПолей =   {"Поле 2", "Поле 3", "Поле 4"},
    TrimФункция =   Table.TransformColumns(
                        Источник,{
                            {"Поле 2", Text.Trim, type text},
                            {"Поле 3", Text.Trim, type text},
                            {"Поле 4", Text.Trim, type text}
                        }
                    )
in
    TrimФункция



Прикладываю файл примера с подготовленным запросом.
Изменено: ivanka - 14.04.2021 08:47:32
PQ. Text.Split() без добавления нового столбца., Необходимо применить функцию к текущему полю, а не создавать новый.
 
Цитата
buchlotnik написал:
гм, а что мешает всё в одном шаге сделать?
Шикарно!!!)  
PQ. Text.Split() без добавления нового столбца., Необходимо применить функцию к текущему полю, а не создавать новый.
 
Цитата
ArgentumTiger_7 написал:
надо записать так
Отлично! То, что нужно!
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Вывод = Table.TransformColumns(
        Источник, 
        List.Transform( 
            {"Поле 2", "Поле 3", "Поле 4"}, 
            each {_,(t)=>Text.Split(Text.From(t),"; "), type list}) )
in
    Вывод


Изменено: ivanka - 13.04.2021 16:30:12
PQ. Text.Split() без добавления нового столбца., Необходимо применить функцию к текущему полю, а не создавать новый.
 
Цитата
ArgentumTiger_7 написал: что-то подобное делал сегодня )
Да, это оно! Спасибо!

Меня смущают шаги:
Код
Вывод = Table.TransformColumns(
        Источник, 
        List.Transform( 
            Table.ColumnNames(Источник), 
            each {_,(t)=>try Text.Split(t,";") otherwise {t}, type list}) ),
    итог = Table.SelectColumns(Table.AddColumn(Вывод, "данные", each Table.FromColumns({[Поле 1], [Поле 2], [Поле 3], [Поле 4]})), "данные"),

 

Table.ColumnNames(Источник) - мне не хотелось бы передавать всю таблицу. У меня может быть 10 полей которые не нуждаются в "извлечении". На следующем шаге мне придётся прописать эти 10 полей с теми, что мне нужны:
Код
Table.FromColumns({[Поле 1], [Поле 2], [Поле 3], [Поле 4]})), "данные")

Т.о., хотелось бы передавать в Table.ColumnNames() только необходимые поля или список полей как тут: ссылка

Изменено: ivanka - 13.04.2021 16:30:28
PQ. Text.Split() без добавления нового столбца., Необходимо применить функцию к текущему полю, а не создавать новый.
 
Цитата
buchlotnik написал:
можете показать в файле ожидаемый результат?
Да, конечно.
На текущий момент я хотел бы извлекать все записи из ячеек таблицы во вложенный список.
Далее, я планирую действовать так: Power Query: Split Multiple Columns into Rows All At Once - YouTube

Просто хочется делать чище.
Изменено: ivanka - 13.04.2021 16:18:31
PQ. Text.Split() без добавления нового столбца., Необходимо применить функцию к текущему полю, а не создавать новый.
 
PooHkrd, в Вашем решении, вся таблица превращается в список в вложенными списками, т.к. в Table.ColumnNames(Источник) передаётся вся таблица. Каким образом можно передать только некоторые столбцы?

Я выполнил следующее, но получаю ошибку:
Код
Table.ColumnNames({"Поле 2"})

PQ. Text.Split() без добавления нового столбца., Необходимо применить функцию к текущему полю, а не создавать новый.
 
PooHkrd, благодарю! Сейчас попробую.
PooHkrd, я заметил, что при моём подходе, если в ячейке ничего нет (null), то в новом столбце появляется ошибка. Можно Вас попросить подсказать как установить "обработку" данного сценария?  
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 15 След.
Наверх