sum product of two columns in powerbi table with dax - powerbi

I would like to get the sum product of this table:
example: (0*.0256) + (1*.0468) + (2*.0344) ...
days to departure is a dimension under one table. And Conversions is a measure that I'm showing as % of Grand Total.
Thanks for any advice.

So we have table T with the column [Days To Departure] and the measure [%GT Conversions]
We want a measure to sum all the values of [%GT Conversions] for all the rows of T.
Let's call this measure [Total Formula], since I don't know what it'd be expected to represent
Total Formula =
VAR Total = SUMX( ALL( T ), T[Conversion] )
RETURN
SUMX( ALL( T ), T[Days To Departure] * T[Conversion] / Total )

Related

Cumulative total percentage in Power BI

I have a summary table in Power BI which shows how many days it takes for leads to convert to a sale. It has 2 columns, sum_convert (the amount of days in between lead creation date and converted date) and count_lead (the count of leads that have taken that amount of days to convert), both are numeric values. Here is an example of the data:
What I want, is a column next to count_lead that shows the running percentage total in the specific ascending order of sum_convert. Currently I've created a measure called lead_count which is the sum of count_lead. Then I've attempted to create the cumulative total with the following measure:
Cum_Lead = calculate([lead_count], FILTER(ALL(Convert_Count_Summary[Sum_Convert]), SUM(Convert_Count_Summary[count_lead]) <= [lead_count]))
This creates a cumulative total, but not in the specific sum_convert order, it's in the order of largest volume for count_lead. Any idea what I need to change so that it's in the order of sum_convert?
You could do this in Power Query using M:
= Table.AddColumn(#"Previous Step", "Cumulative_Count_PQ", each List.Sum(List.FirstN(#"Previous Step"[count_lead],_[sum_convert]+1)), type number)
Or as a calculated column using DAX:
Cumulative Count DAX =
CALCULATE (
SUM ( Convert_Count_Summary[count_lead] ),
ALL ( Convert_Count_Summary ),
Convert_Count_Summary[sum_convert] <= EARLIER ( Convert_Count_Summary[sum_convert] )
)
Edit:
Cumulative percentages in Power Query:
= Table.AddColumn(#"Previous Step", "Cumulative_Count_Percent_PQ", each List.Sum(List.FirstN(#"Previous Step"[count_lead],_[sum_convert]+1)) / List.Sum(#"Previous Step"[count_lead]), Percentage.Type)
Cumulative percentages calculated column in DAX:
Cumulative Count % DAX =
VAR _Numerator =
CALCULATE (
SUM ( Convert_Count_Summary[count_lead] ),
ALL ( Convert_Count_Summary ),
Convert_Count_Summary[sum_convert] <= EARLIER ( Convert_Count_Summary[sum_convert] )
)
VAR _Divisor =
SUM ( Convert_Count_Summary[count_lead] )
RETURN
DIVIDE (
_Numerator,
_Divisor
)

How to create a cumulative sum over two columns with comlementary Date Range in Power BI

I'm trying to build a line Chart to show the cumulative sum of the Forcast. I have two Tables, one for the Actuals and one for the forcast, both linked to a Date table. The Chart should show the cumulative sum of the actuals till current month and from next month on those from the Forcast.
I've created so far the following measures to get the Forcast Chart:
Chart_Forecast not cumulated =
VAR Actual_Hrs_not_cumulated = CALCULATE([Total Actuals],FILTER(IN_ACTUALS, IN_ACTUALS[Date] <= MAX(CurrentMonth[CurrentMonthParameter])))
VAR Forecast_not_cumulated = CALCULATE([Total Forecast],FILTER(IN_Forecast, IN_Forecast[Date] > MAX(CurrentMonth[CurrentMonthParameter])))
RETURN
IF((SELECTEDVALUE('LT_Reporting Calendar'[Date]) <= MAX(CurrentMonth[CurrentMonthParameter])),Actual_Hrs_not_cummulated, Forecast_not_Cumulated)
This one gives me the line chart of the non cumulated Forcast, and it works.
But as soon as I want to build the cumulative sum on the measure above according to the measure below, I get only the cumulative sum till current month and the future is omitted. I think I have a filter issue.
I've tried many methods of building a cumulative sum, always getting the same result.
Chart_Forcast Cumulated =
CALCULATE(
[Chart_Forecast not cumulated],
FILTER(
ALL('LT_Reporting Calendar'[Date]),
'LT_Reporting Calendar'[Date] <= MAX ('LT_Reporting Calendar'[Date])
)
)
Input:
Result: The Chart
Does any body have an Idea on this?
Many Thanks in advance
I'd suggest writing it as a sum like this:
Cumulative =
VAR ParameterDate = SELECTEDVALUE ( CurrentMonth[CurrentMonthParameter] )
VAR AxisDate = SELECTEDVALUE ( 'LT_Reporting Calendar'[Date] )
RETURN
CALCULATE (
[Total Actuals],
'LT_Reporting Calendar'[Date] <= AxisDate,
'LT_Reporting Calendar'[Date] <= ParameterDate
) +
CALCULATE (
[Total Forecast],
'LT_Reporting Calendar'[Date] <= AxisDate,
'LT_Reporting Calendar'[Date] > ParameterDate
)

Power BI. Using the SUMMARIZE function in a MAXX

I have table with Sales. All Sales divide between Men and Women. I need to find out who have the biggest count of sales, men or woman.
I have tried using Summarize and MAXX together, but sonething is wrong.
MAXX(SUMMARIZE(
'public Brand',
'public Brand'[Возрастная группа],
"Свод",
COUNT('public Brand'[Id]))
If I understand your requirement correct, you need a single output "Men" OR "Women" based on the count sales count/amount. For example, if there are total 10 count or row for Men and 12 for Women, you need Women as output from the measure. I prepared a very simple data set for example (Excel part in the image) to calculate the measure. You can see the final output in the red marked box.
Here below is the Measure Code-
For most number of sales number
Gender With Most Count =
VAR Gourp_by_gender_with_count =
SUMMARIZE(
Sales,
Sales[Gender],
"GenderCount", COUNT(Sales[Gender])
)
VAR max_count_among_gender_group =
MAXX (
TOPN(1,Gourp_by_gender_with_count,[GenderCount],DESC),
[Gender]
)
RETURN max_count_among_gender_group
For most number of sales amount
Gender With Most Sales Amount =
VAR Gourp_by_gender_with_amount =
SUMMARIZE(
Sales,
Sales[Gender],
"GenderWiseSales", SUM(Sales[Amount])
)
VAR max_amount_among_gender_group =
MAXX (
TOPN(1,Gourp_by_gender_with_amount,[GenderWiseSales],DESC),
[Gender]
)
RETURN max_amount_among_gender_group

DAX to calculate cumulative sum column (year to date) for all individual products

I have 3 columns in a table: Date, Product, and Volume. Based on this is I want to calculate the cumulative sum (or YTD) column for each of the products.
I know that to calculate cumulative total we use:
YTD_Actual = CALCULATE(Sum(Combined[Actual Volume]),FILTER(Combined,Combined[Date] <= EARLIER(Combined[Date])))
But I want this to additionally filter individual products and do this calculation for that product.
The expected column is shown in the picture below:
As far as you manage to get the Month column in date format, the following works:
YTD =
VAR currProduct = Table1[Product]
VAR currMonth = Table1[Month]
VAR ytdTotal =
CALCULATE(
SUM(Table1[Volume]),
FILTER(
ALL(Table1),
Table1[Month] <= currMonth &&
Table1[Product] = currProduct
)
)
RETURN IF(NOT(ISBLANK(ytdTotal)), ytdTotal,0)
Result:

DAX code for cumulative sum (in a column)

I am working on a project, where a column needs cumulative summing. How do I find the cumulative sum for a column and store in another column.?
I expect the output as shown:
Assuming you have a date table and are using that to calculate you running total; you could follow the DAX pattern provided below or just amend it to fit your needs:
CumSum :=
VAR MaxDate =
MAX ( 'Date'[Date] )
RETURN
CALCULATE ( SUM ( 'Table'[A] ), 'Date'[Date] <= Maxdate, ALL ( date ) )