Forum Discussion
Nibz
9 years agoHelper I
Sales on segment dates
In a specific table, I have a date, and I use it in a segment graph Then I have an other table with the following information : [BillSales] 3 [Bill.StartDate] 4 [Bill.EndDate] 5 And I ...
v-ljerr-msft
9 years agoMicrosoft Employee
Hi Nibz,
As indicated in the message, try adding SUM function for the column "MontantHT" to see if it works.:smileyhappy:
Mesure 2 =
VAR maxDate =
MAX ( 'Date'[Date] )
VAR minDate =
MIN ( 'Date'[Date] )
RETURN
SUM ( BillItem[Montant HT] )
* (
(
DATEDIFF (
IF ( BillItem[Start Date] > minDate; minDate; BillItem[Start Date] );
IF (
(
DATE ( YEAR ( BillItem[End Date] ); MONTH ( BillItem[End Date] ); DAY ( BillItem[End Date] ) )
- 1
)
> maxDate;
maxDate;
DATE ( YEAR ( BillItem[End Date] ); MONTH ( BillItem[End Date] ); DAY ( BillItem[End Date] ) )
- 1
);
DAY
)
+ 1
)
/ DATEDIFF (
DATE ( YEAR ( BillItem[Start Date] ); MONTH ( BillItem[Start Date] ); DAY ( BillItem[Start Date] ) )
+ 1;
BillItem[End Date];
DAY
)
)
Regards
Nibz
9 years agoHelper I
Now I have the same message but for StartDate...
"It is impossible to determine a single value for the culumn "Start Date" of the table "BillItem". This can occur when a measurement formula refers to a column that countains many values, whithout specifying aggregation such as min, max, count, or sum to get a single result."
- v-ljerr-msft9 years agoMicrosoft Employee
Hi Nibz,
How about using the formula below?
Mesure 2 = VAR maxDate = MAX ( 'Date'[Date] ) VAR minDate = MIN ( 'Date'[Date] ) RETURN SUMX ( 'BillItem'; BillItem[Montant HT] * ( ( DATEDIFF ( IF ( BillItem[Start Date] > minDate; minDate; BillItem[Start Date] ); IF ( ( DATE ( YEAR ( BillItem[End Date] ); MONTH ( BillItem[End Date] ); DAY ( BillItem[End Date] ) ) - 1 ) > maxDate; maxDate; DATE ( YEAR ( BillItem[End Date] ); MONTH ( BillItem[End Date] ); DAY ( BillItem[End Date] ) ) - 1 ); DAY ) + 1 ) / DATEDIFF ( DATE ( YEAR ( BillItem[Start Date] ); MONTH ( BillItem[Start Date] ); DAY ( BillItem[Start Date] ) ) + 1; BillItem[End Date]; DAY ) ) )Regards
- Nibz9 years agoHelper I
I think we are close :)
The formula is accepted but it is impossible to load data.
In the function DATEDIFF, Start date cannot be after End Date...
- Nibz9 years agoHelper I
I think the problem is
DATEDIFF ( DATE ( YEAR ( BillItem[Start Date] ); MONTH ( BillItem[Start Date] ); DAY ( BillItem[Start Date] ) ) + 1; BillItem[End Date]; DAYthe +1 has to be add to the total difference