Страницы: 1
RSS
PQ, сумма уникальных значений по различным условиям
 
Добрый день!
Просьба помочь найти решение. Есть исходные данные которые консолидированы в PQ, в примере упрощенная финальная таблица (в действительности столбцов гораздо больше). Задача вывести в сводную количество отгрузок, которые указаны в столбце E, через точку с запятой, так, чтобы возможно было увидеть это количество по разным срезам (заказ, товар, регион). В PQ я посчитал это количество для каждой строки, но сумма требуется не построчно, а по срезам.
 
Bob89, ну вы же загрузили таблицу в PP. Почему остановились?
вот такая мера нужна?
Код
=CONCATENATEX('Таблица1', 'Таблица1'[Номера отгрузок], ";")
Пришелец-прораб.
 
AlienSx по сути да, но только нужно чтобы показывались не сами номера отгрузок, а количество этих отгрузок числом
 
Bob89, так разверните столбец со списком и простейшая мера:
Код
Кол-во:=DISTINCTCOUNT ( 'Таблица1'[Номер отгрузки] )
 
surkenny уточните, пожалуйста, что вы подразумеваете под развертыванием столбца?
 
Bob89, Вы мой файл посмотрели?
Последний шаг - развернуть список в строки.
 
surkenny извиняюсь проглядел. К такому решению задачи и я пришел, но в данном случае дублируется вес заказов, столбец "Тонн". Поэтому пытаюсь найти способ без дублирования строк.
 
извращенно конечно
но работает же?
Изменено: Сергей - 30.11.2023 18:19:02
 
Bob89,
1. Для подсчета веса можете подобную меру использовать в моем варианте из #4:
Код
Вес :=
SUMX (
    SUMMARIZE (
        'Таблица1';
        'Таблица1'[Заказ];
        'Таблица1'[Товар];
        'Таблица1'[Регион]
    );
    CALCULATE ( MIN ( 'Таблица1'[Тонн] ) )
)

2. Но если подобных мер много, то это не очень удобно. Более извращенный вариант:
- меняете разделитель "; " на "|"
Скрытый текст

- создаете таблицу index:
Скрытый текст

- мера такая:
Код
CountD :=
VAR numsTable =
    SELECTCOLUMNS (
        CROSSJOIN ( VALUES ( data[Номера отгрузок] ); VALUES ( index[index] ) );
        "@number"; PATHITEM ( data[Номера отгрузок]; index[index] )
    )
VAR distinctNums =
    FILTER ( DISTINCT ( numsTable ); NOT ISBLANK ( [@number] ) )
VAR result =
    COUNTROWS ( distinctNums )
RETURN
    result
Изменено: surkenny - 01.12.2023 16:28:31
 
AlienSx, кстати, гляньте единственный известный мне способ работы со "списками" в одном поле строки в DAX. Только через псевдо иерархию с разделителем "|".
Изменено: surkenny - 01.12.2023 16:10:50
 
surkenny, за приглашение спасибо, конечно, но я пока "инвалид нулевой группы" в DAX  :D
Пришелец-прораб.
Страницы: 1
Наверх