Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Office Новый топик    Ответить
 DAX. Использование ALL  [new]
ferzmikk
Member

Откуда:
Сообщений: 1647
Здравствуйте!

Есть таблица

К сообщению приложен файл. Размер - 130Kb
23 дек 18, 15:09    [21771421]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
ferzmikk
Member

Откуда:
Сообщений: 1647
Есть добавленные столбцы:
Сумма Все = SUM('Таблица1'[Отгрузка шт])
Сумма по городам = CALCULATE(
    SUM('Таблица1'[Отгрузка шт]);
    FILTER(
        'Таблица1';
        'Таблица1'[Город]=EARLIER('Таблица1'[Город])
    )
 )
Сумма по городам и клиентам = CALCULATE(
    SUM('Таблица1'[Отгрузка шт]);
    FILTER(
        'Таблица1';
        AND(
            'Таблица1'[Город]=EARLIER('Таблица1'[Город]);
            'Таблица1'[Клиент]=EARLIER('Таблица1'[Клиент])
        )
    )
)
23 дек 18, 15:09    [21771422]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
ferzmikk
Member

Откуда:
Сообщений: 1647
Если выводить в отчет как визуальный элемент Таблица без сворачивания (верхняя таблица), то все норм.

Но если свернуть (нижняя таблица), то, например, столбец "Сумма Все" показывает не 900, а умножает на количество соответствующих свернутых строк.

К сообщению приложен файл. Размер - 38Kb
23 дек 18, 15:10    [21771423]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
ferzmikk
Member

Откуда:
Сообщений: 1647
Как правильно написать формулы, чтобы при сворачивании (или удаления поля "ТТ" из таблицы в визуальном элементе) правильно суммировалось?
23 дек 18, 15:12    [21771425]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
big-duke
Member

Откуда:
Сообщений: 6685
ferzmikk,
автор
Есть добавленные столбцы:

вам нужно перейти к мерам, потому что они как раз и учитывают контекст фильтра из визуализации.
24 дек 18, 21:09    [21772478]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
ferzmikk
Member

Откуда:
Сообщений: 1647
big-duke
вам нужно перейти к мерам, потому что они как раз и учитывают контекст фильтра из визуализации.

ferzmikk
Сумма Все = SUM('Таблица1'[Отгрузка шт])

Написал как меру.
Сумма Все2 = SUM('Таблица1'[Отгрузка шт])

Результат на скриншоте. Не отображает 900 на каждой строке.

К сообщению приложен файл. Размер - 61Kb
25 дек 18, 16:06    [21773089]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
ferzmikk
Member

Откуда:
Сообщений: 1647
ferzmikk
Сумма по городам = CALCULATE(
    SUM('Таблица1'[Отгрузка шт]);
    FILTER(
        'Таблица1';
        'Таблица1'[Город]=EARLIER('Таблица1'[Город])
    )
 )

Пишу как меру. Сообщает об ошибке.

К сообщению приложен файл. Размер - 51Kb
25 дек 18, 16:09    [21773091]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
big-duke
Member

Откуда:
Сообщений: 6685
ferzmikk
big-duke
вам нужно перейти к мерам, потому что они как раз и учитывают контекст фильтра из визуализации.

ferzmikk
Сумма Все = SUM('Таблица1'[Отгрузка шт])

Написал как меру.
Сумма Все2 = SUM('Таблица1'[Отгрузка шт])

Результат на скриншоте. Не отображает 900 на каждой строке.

Добавьте ALL по городу и группе чтобы снять фильтр.
25 дек 18, 17:59    [21773197]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
ferzmikk
Member

Откуда:
Сообщений: 1647
big-duke
Добавьте ALL по городу и группе чтобы снять фильтр.

Получилось
Сумма Все2 = CALCULATE(SUM('Таблица1'[Отгрузка шт]);ALL('Таблица1'))
25 дек 18, 20:52    [21773343]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
big-duke
Member

Откуда:
Сообщений: 6685
ferzmikk,

с почином )
постарайтесь использовать выч столбцы только там, где нужен контекст строки.
В остальных случаях - меры.
25 дек 18, 20:57    [21773346]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
ferzmikk
Member

Откуда:
Сообщений: 1647
ferzmikk
ferzmikk
Сумма по городам = CALCULATE(
    SUM('Таблица1'[Отгрузка шт]);
    FILTER(
        'Таблица1';
        'Таблица1'[Город]=EARLIER('Таблица1'[Город])
    )
 )

Пишу как меру. Сообщает об ошибке.

Пишу так
Сумма по городам22 = CALCULATE(
    SUM('Таблица1'[Отгрузка шт]);   
    'Таблица1'[Город]="Город1"
 )

Но как написать вместо выделенного, чтобы равнялось соответствующему клиенту из строки, если для меры EARLIER не работает?
25 дек 18, 21:08    [21773354]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
ferzmikk
Member

Откуда:
Сообщений: 1647
ferzmikk
Есть добавленные столбцы:
Сумма по городам = CALCULATE(
    SUM('Таблица1'[Отгрузка шт]);
    FILTER(
        'Таблица1';
        'Таблица1'[Город]=EARLIER('Таблица1'[Город])
    )
 )

Сумма по городам222 = CALCULATE(
    SUM('Таблица1'[Отгрузка шт]); 
        'Таблица1'[Город]=EARLIER('Таблица1'[Город])
 )

Интересно получается, что две формулы вычисляемых столбцов дают разные результаты. Хотя по логике в выделенном это фильтр.

К сообщению приложен файл. Размер - 121Kb
25 дек 18, 21:42    [21773386]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
big-duke
Member

Откуда:
Сообщений: 6685
ferzmikk,

Вам бы почитать про row context, filter context и context transition.
И сразу станет понятно, почему у вас разные результаты.
26 дек 18, 10:21    [21773623]     Ответить | Цитировать Сообщить модератору
 Re: DAX. Использование ALL  [new]
big-duke
Member

Откуда:
Сообщений: 6685
ferzmikk,

и напишите, что именно вам нужно посчитать.
Сумма по городам222 - неинформативно )
26 дек 18, 10:22    [21773626]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Office Ответить