DAX PowerBi — умножение в показателе дает неправильную сумму в итоговой строке таблицы визуализации

У меня есть две таблицы: "акции" и "цены". В таблице "Сток" я сделал расчетную колонку в DAX-редакторе (называется "Voorraad").

Voorraad = CALCULATE (COUNT(stock[EAN]), stock[Locatie] IN {"magazijn", "ontvangst"})

Две таблицы связаны "EAN" отношением "многие ко многим".

Визуализация в PowerBi показывает правильный результат для столбца «Voorraad». Затем я также хотел добавить в визуализацию столбец с «стоимостью акций», который показывает мне умножение «Voorraad» на «Inkoop».

Это вычисляется по показателю с именем «stockvalue» в таблице «stock»:

stockvalue = SUM(stock[Voorraad])* SUM('prices'[inkoop])

Для каждой строки это работает нормально. Но поместив его в таблицу-визуализацию, итоговая строка также показывает умножение всего-вооррада на общее-инкооп. Таким образом, это дает (в моем примере) вывод 379 * € 88,35 = € 33484,65. Что, очевидно, должно быть € 3133,00

Кто-нибудь знает, что нужно, чтобы заставить это работать?

Я изменил меру на новый столбец в таблице «запас». Затем я использовал этот код, чтобы добавить еще один столбец в таблицу «запас»: stockvalue = SUM(stock[Voorraad])* SUM('prices'[inkoop]) Пока все хорошо. К сожалению, в Total-row также отображается произведение: total "voorraad" * total "inkoop" Это, конечно, не то, что мне нужно. Я хочу, чтобы отображалась общая стоимость акций.

Ekfa 22.12.2020 15:22

Из Умножьте 2 столбца на строку, затем получите сумму, применимую к вашему вопросу: stockvalue = stock[Voorraad]*LOOKUPVALUE(prices[inkoop], stock[EAN], prices[EAN])

questionto42 22.12.2020 15:53

Когда я добавляю столбец в таблицу «запас» с этим DAX-кодом, похоже, он не работает. Появляется сообщение об ошибке, в котором говорится, что столбец stock[EAN] не существует или не имеет связи с таблицей в текущем контексте. Одновременно мой другой вычисляемый столбец «voorraad» получает знак ошибки с восклицательным знаком. Я добавляю этот столбец в главное окно powerbi-desktop с левой стороны, нажимаю на таблицу, а затем добавляю столбец.

Ekfa 22.12.2020 16:22

В основном stockvalue = SUM(stock[Voorraad])* SUM('prices'[inkoop]) работает, за исключением общего ряда. Существует также произведение, отображающее общее количество "voorraad" * общее количество "inkoop".

Ekfa 22.12.2020 16:29

@Lorenz: может ли эта ошибка появиться из-за другого вычисляемого столбца в той же таблице «акции»?

Ekfa 22.12.2020 16:41

Создайте меру, которая предназначена только для суммирования всего столбца таблицы акций, в которую вы добавляете стоимость акций: total_stockvalue = SUM(stock[stockvalue]). Это взято из Как сложить общую сумму каждой строки в группе с помощью DAX Power BI. Скройте текущую общую таблицу запасов и добавьте вместо нее эту меру. Не уверен, что это поможет, у меня не установлен Power BI, и я довольно давно им пользовался. С другими вопросами помочь не могу.

questionto42 22.12.2020 18:24

Последний комментарий не дал мне решения, в котором я нуждался (или, по крайней мере, у меня оно не заработало. Я отредактировал свой вопрос, чтобы он был более точным для ситуации, в которой я сейчас нахожусь.

Ekfa 23.12.2020 09:56

Да, это правильный рабочий процесс. Получение меры меры не должно быть проблемой. Я не знаю, как продолжить, надеюсь, кто-то еще продолжит:) Может быть, вам лучше поискать в Интернете и попробовать ответить самому, иногда на такие вопросы здесь просто нет ответа, поскольку они часто дублируются.

questionto42 23.12.2020 10:19
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
8
3 002
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Решение находится в: Измерение итогов, Итоговое слово

Вношу одну меру в таблицу "запас"

stockvalue_onerow = SUM(stock[voorraad])*SUM(prices[inkoop])

Затем я добавляю еще одну меру в таблицу «запас».

    Stockvalue = 
VAR __table = SUMMARIZE(stock, [id], "__value",[stockvalue_onerow])
RETURN
IF(HASONEVALUE(stock[id]),[stockvalue_onerow],SUMX(__table,[__value]))

Этот последний должен использоваться в таблице-визуализации! Задача решена!

Другие вопросы по теме