Текущий итог DAX (или подсчет) по 2 группам

Я новичок в DAX и PowerPivots. Я использую PowerPivot для извлечения данных с SQL-сервера. Данные, с которыми я работаю, довольно большие и сложные, но я рассматриваю их упрощенную версию для этого вопроса.

Скажем, у меня есть 2 столбца: один содержит названия продуктов, а второй - дату продажи продукта. У меня есть строка за каждый раз, когда продается 1 единица любого товара.

Product | Date
Orange  | 08/13/2013
Orange  | 08/13/2013
Orange  | 08/13/2013
Apple   | 08/14/2013
Apple   | 08/16/2013
Orange  | 08/17/2013
Orange  | 08/17/2013

Я хочу использовать DAX для текущего подсчета того, сколько продукта было продано на сегодняшний день по всему набору данных. Это то, чем я хотел бы закончить.

Product | Date        | Cumulative Sales
Orange  | 08/13/2013  | 1
Orange  | 08/13/2013  | 2
Orange  | 08/13/2013  | 3
Apple   | 08/14/2013  | 1
Apple   | 08/16/2013  | 2
Orange  | 08/17/2013  | 4
Orange  | 08/17/2013  | 5

Любая помощь будет оценена.

РЕДАКТИРОВАТЬ: Еще одна вещь, данные не обязательно упорядочены по дате. Я потенциально мог бы заказать его по дате, но это потребовало бы модификации некоторых других вещей, поэтому я бы предпочел не делать этого, если это вообще возможно. На листе, который я унаследовал, много других формул, и переупорядочение может сломать что-то еще.


person Predator    schedule 16.08.2013    source источник


Ответы (1)


Вы можете сделать вычисляемую меру в PowerPivot, чтобы справиться с этим. Если вы хотите получить совокупные продажи за все время, вы можете сделать это:

    CALCULATE(     SUM( FactSales[SalesAmount] ),
    FILTER(
        ALL( DimDate) ,
        DimDate[Datekey] <= MAX( DimDate[Datekey] )
    )
)

Если вы хотите иметь возможность выбрать определенный период времени (например, промежуточный итог за выбранные недели или месяцы), вы можете сделать это:

 CALCULATE( SUM( FactSales[SalesAmount])  ,
                 FILTER(
                    ALLSELECTED( DimDate),
                    DimDate[Datekey] <= MAX( DimDate[Datekey] )
                )
    )

Источник: Блог Хавьера Гильена

person mmarie    schedule 19.08.2013
comment
Я отправил вам ответ, но меня смущает ваш комментарий о том, как упорядочивать формулы разбиения данных на листе. В начале сообщения вы сказали, что импортируете данные из SQL Server в PowerPivot. Я не уверен, какие формулы вы упомянули. Кроме того, если вы используете вычисляемые меры и имеете правильное измерение даты, вам не нужно упорядочивать данные, чтобы они работали. - person mmarie; 19.08.2013
comment
Спасибо, ммари. Меня смущает концепция DimDate. Это новая таблица, которую мне нужно создать? Что касается формул, это формулы / столбцы DAX, которые были добавлены в книгу человеком, который работал над ней до меня. Я все еще новичок в этом, поэтому я, вероятно, не имею особого смысла. Я прошу прощения. - person Predator; 19.08.2013
comment
Да, вам нужно измерение даты, чтобы оно работало. Вы можете бесплатно загрузить его на рынке данных Windows Azure: datamarket.azure .com / dataset / Откройте PowerPivot, получите внешние данные, из службы данных, Windows Azure Marketplace. Найдите DateStream. Вам нужно будет установить / снять флажки внизу, чтобы выбрать нужный календарь. - person mmarie; 19.08.2013