Сумма дает одинаковое значение для всех строк

#visual-studio-code #dax #business-intelligence

Вопрос:

У меня есть таблица фактов с такими столбцами, как Количество, Цена за единицу и т. Д. Я пытаюсь рассчитать доход по формуле SUMX, но получаю одинаковое значение для всех записей. И из-за этого я также получаю ошибку зависимости в другом столбце. Вот код:

 SUMX(
    '''Sales Details

введите описание изображения здесь

Эта таблица была импортирована из SSMS в ее нынешнем виде в службу анализа табличных моделей в VS2019.
Я хочу понять здесь несколько вещей-

  1. Почему мы должны предоставлять таблицу внутри 3-х кавычек? Панель DAX не принимает таблицу без указания их в 3-кавычках.
  2. SUMX не должен оценивать одно и то же значение для всех записей. Но это происходит здесь по неизвестной причине.
  3. Если я попытаюсь заменить [Цена за единицу] на [Стоимость единицы] в верхнем коде, то в новом столбце я получу ошибку зависимости. Насколько я знаю, я не использую функцию CALCULATE, которая будет генерировать циклическую зависимость, и SUMX не помещает фильтр по столбцам, [Количество] здесь.

Ответ №1:

  1. Я думаю, это потому, что в имени таблицы есть пробелы. Когда имя таблицы содержит пробелы или недопустимые символы, оно помещается между двумя одинарными кавычками: ""
  2. Если я не ошибаюсь (я тоже новичок в DAX), SUMX похож на sumproduct в Excel. Он вычисляет цену за единицу * количество в строке, а затем суммирует все строки, разбивая контекст строки. Если вы хотите рассчитать сумму в строке, просто укажите цену * количество, без суммирования.
  3. Я не знаю, извини.

'',
'''Sales Detailsвведите описание изображения здесь

Эта таблица была импортирована из SSMS в ее нынешнем виде в службу анализа табличных моделей в VS2019.
Я хочу понять здесь несколько вещей-

  1. Почему мы должны предоставлять таблицу внутри 3-х кавычек? Панель DAX не принимает таблицу без указания их в 3-кавычках.
  2. SUMX не должен оценивать одно и то же значение для всех записей. Но это происходит здесь по неизвестной причине.
  3. Если я попытаюсь заменить [Цена за единицу] на [Стоимость единицы] в верхнем коде, то в новом столбце я получу ошибку зависимости. Насколько я знаю, я не использую функцию CALCULATE, которая будет генерировать циклическую зависимость, и SUMX не помещает фильтр по столбцам, [Количество] здесь.

Ответ №1:

  1. Я думаю, это потому, что в имени таблицы есть пробелы. Когда имя таблицы содержит пробелы или недопустимые символы, оно помещается между двумя одинарными кавычками: ""
  2. Если я не ошибаюсь (я тоже новичок в DAX), SUMX похож на sumproduct в Excel. Он вычисляет цену за единицу * количество в строке, а затем суммирует все строки, разбивая контекст строки. Если вы хотите рассчитать сумму в строке, просто укажите цену * количество, без суммирования.
  3. Я не знаю, извини.

''[Quantity]*'''Sales Detailsвведите описание изображения здесь

Эта таблица была импортирована из SSMS в ее нынешнем виде в службу анализа табличных моделей в VS2019.
Я хочу понять здесь несколько вещей-

  1. Почему мы должны предоставлять таблицу внутри 3-х кавычек? Панель DAX не принимает таблицу без указания их в 3-кавычках.
  2. SUMX не должен оценивать одно и то же значение для всех записей. Но это происходит здесь по неизвестной причине.
  3. Если я попытаюсь заменить [Цена за единицу] на [Стоимость единицы] в верхнем коде, то в новом столбце я получу ошибку зависимости. Насколько я знаю, я не использую функцию CALCULATE, которая будет генерировать циклическую зависимость, и SUMX не помещает фильтр по столбцам, [Количество] здесь.

Ответ №1:

  1. Я думаю, это потому, что в имени таблицы есть пробелы. Когда имя таблицы содержит пробелы или недопустимые символы, оно помещается между двумя одинарными кавычками: ""
  2. Если я не ошибаюсь (я тоже новичок в DAX), SUMX похож на sumproduct в Excel. Он вычисляет цену за единицу * количество в строке, а затем суммирует все строки, разбивая контекст строки. Если вы хотите рассчитать сумму в строке, просто укажите цену * количество, без суммирования.
  3. Я не знаю, извини.

''[Unit Price]
)
введите описание изображения здесь

Эта таблица была импортирована из SSMS в ее нынешнем виде в службу анализа табличных моделей в VS2019.
Я хочу понять здесь несколько вещей-

  1. Почему мы должны предоставлять таблицу внутри 3-х кавычек? Панель DAX не принимает таблицу без указания их в 3-кавычках.
  2. SUMX не должен оценивать одно и то же значение для всех записей. Но это происходит здесь по неизвестной причине.
  3. Если я попытаюсь заменить [Цена за единицу] на [Стоимость единицы] в верхнем коде, то в новом столбце я получу ошибку зависимости. Насколько я знаю, я не использую функцию CALCULATE, которая будет генерировать циклическую зависимость, и SUMX не помещает фильтр по столбцам, [Количество] здесь.

Ответ №1:

  1. Я думаю, это потому, что в имени таблицы есть пробелы. Когда имя таблицы содержит пробелы или недопустимые символы, оно помещается между двумя одинарными кавычками: «»
  2. Если я не ошибаюсь (я тоже новичок в DAX), SUMX похож на sumproduct в Excel. Он вычисляет цену за единицу * количество в строке, а затем суммирует все строки, разбивая контекст строки. Если вы хотите рассчитать сумму в строке, просто укажите цену * количество, без суммирования.
  3. Я не знаю, извини.