#visual-studio-code #dax #business-intelligence
Вопрос:
У меня есть таблица фактов с такими столбцами, как Количество, Цена за единицу и т. Д. Я пытаюсь рассчитать доход по формуле SUMX, но получаю одинаковое значение для всех записей. И из-за этого я также получаю ошибку зависимости в другом столбце. Вот код:
SUMX(
'''Sales Details
Эта таблица была импортирована из SSMS в ее нынешнем виде в службу анализа табличных моделей в VS2019.
Я хочу понять здесь несколько вещей-
- Почему мы должны предоставлять таблицу внутри 3-х кавычек? Панель DAX не принимает таблицу без указания их в 3-кавычках.
- SUMX не должен оценивать одно и то же значение для всех записей. Но это происходит здесь по неизвестной причине.
- Если я попытаюсь заменить [Цена за единицу] на [Стоимость единицы] в верхнем коде, то в новом столбце я получу ошибку зависимости. Насколько я знаю, я не использую функцию CALCULATE, которая будет генерировать циклическую зависимость, и SUMX не помещает фильтр по столбцам, [Количество] здесь.
Ответ №1:
- Я думаю, это потому, что в имени таблицы есть пробелы. Когда имя таблицы содержит пробелы или недопустимые символы, оно помещается между двумя одинарными кавычками: ""
- Если я не ошибаюсь (я тоже новичок в DAX), SUMX похож на sumproduct в Excel. Он вычисляет цену за единицу * количество в строке, а затем суммирует все строки, разбивая контекст строки. Если вы хотите рассчитать сумму в строке, просто укажите цену * количество, без суммирования.
- Я не знаю, извини.
'',
'''Sales Details
Эта таблица была импортирована из SSMS в ее нынешнем виде в службу анализа табличных моделей в VS2019.
Я хочу понять здесь несколько вещей-
- Почему мы должны предоставлять таблицу внутри 3-х кавычек? Панель DAX не принимает таблицу без указания их в 3-кавычках.
- SUMX не должен оценивать одно и то же значение для всех записей. Но это происходит здесь по неизвестной причине.
- Если я попытаюсь заменить [Цена за единицу] на [Стоимость единицы] в верхнем коде, то в новом столбце я получу ошибку зависимости. Насколько я знаю, я не использую функцию CALCULATE, которая будет генерировать циклическую зависимость, и SUMX не помещает фильтр по столбцам, [Количество] здесь.
Ответ №1:
- Я думаю, это потому, что в имени таблицы есть пробелы. Когда имя таблицы содержит пробелы или недопустимые символы, оно помещается между двумя одинарными кавычками: ""
- Если я не ошибаюсь (я тоже новичок в DAX), SUMX похож на sumproduct в Excel. Он вычисляет цену за единицу * количество в строке, а затем суммирует все строки, разбивая контекст строки. Если вы хотите рассчитать сумму в строке, просто укажите цену * количество, без суммирования.
- Я не знаю, извини.
''[Quantity]*'''Sales Details
Эта таблица была импортирована из SSMS в ее нынешнем виде в службу анализа табличных моделей в VS2019.
Я хочу понять здесь несколько вещей-
- Почему мы должны предоставлять таблицу внутри 3-х кавычек? Панель DAX не принимает таблицу без указания их в 3-кавычках.
- SUMX не должен оценивать одно и то же значение для всех записей. Но это происходит здесь по неизвестной причине.
- Если я попытаюсь заменить [Цена за единицу] на [Стоимость единицы] в верхнем коде, то в новом столбце я получу ошибку зависимости. Насколько я знаю, я не использую функцию CALCULATE, которая будет генерировать циклическую зависимость, и SUMX не помещает фильтр по столбцам, [Количество] здесь.
Ответ №1:
- Я думаю, это потому, что в имени таблицы есть пробелы. Когда имя таблицы содержит пробелы или недопустимые символы, оно помещается между двумя одинарными кавычками: ""
- Если я не ошибаюсь (я тоже новичок в DAX), SUMX похож на sumproduct в Excel. Он вычисляет цену за единицу * количество в строке, а затем суммирует все строки, разбивая контекст строки. Если вы хотите рассчитать сумму в строке, просто укажите цену * количество, без суммирования.
- Я не знаю, извини.
''[Unit Price]
)
Эта таблица была импортирована из SSMS в ее нынешнем виде в службу анализа табличных моделей в VS2019.
Я хочу понять здесь несколько вещей-
- Почему мы должны предоставлять таблицу внутри 3-х кавычек? Панель DAX не принимает таблицу без указания их в 3-кавычках.
- SUMX не должен оценивать одно и то же значение для всех записей. Но это происходит здесь по неизвестной причине.
- Если я попытаюсь заменить [Цена за единицу] на [Стоимость единицы] в верхнем коде, то в новом столбце я получу ошибку зависимости. Насколько я знаю, я не использую функцию CALCULATE, которая будет генерировать циклическую зависимость, и SUMX не помещает фильтр по столбцам, [Количество] здесь.
Ответ №1:
- Я думаю, это потому, что в имени таблицы есть пробелы. Когда имя таблицы содержит пробелы или недопустимые символы, оно помещается между двумя одинарными кавычками: «»
- Если я не ошибаюсь (я тоже новичок в DAX), SUMX похож на sumproduct в Excel. Он вычисляет цену за единицу * количество в строке, а затем суммирует все строки, разбивая контекст строки. Если вы хотите рассчитать сумму в строке, просто укажите цену * количество, без суммирования.
- Я не знаю, извини.