Forum Discussion
Taget table distorting the visual
- Anonymous1 year ago
Hi Marico
Thanks for the reply from rajendraongole1 and Ashish_Mathur.
If I understand correctly, your requirement is to show the bars and target line for the previous six months and and the target line for the next six months in the visualization object based on the value of the slicer? Then displays colors based on different conditions, but I need to check with you, do you need to change the color of the bar or the line? Based on my testing, I'm afraid that if you need to change the color of the line based on different conditions, it's not possible now.
Please refer to the following test.
1. Create a calculated table as the slicer
Slicer = VALUES('Date'[Month-Year])2. Create two measures as follow
Measure = VAR _selected = SELECTEDVALUE(Slicer[Month-Year]) VAR _pre6 = EOMONTH(_selected, -7) + 1 VAR _next6 = EOMONTH(_selected, 6) RETURN IF(MAX('Date'[Date]) >= _pre6 && MAX('Date'[Date]) <= _next6, 1, 0)formatting = SWITCH(TRUE(), [% op] > [fully op %], "green", [% op] = [fully op %], "blue", [% op] < [fully op %], "red")3. Put the measure into the visual-level filters, set up show items when the value is 1.
As I understand it, this needs to show up to 2025/7. I have looked at your raw data and since the raw data only has data up to 2025/6, it is not possible to show data up to July on this side. If new data is added in the future, then it should show up to July.
The following is about the color setting.
Output:
Best Regards,
Yulia XuIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- Anonymous1 year ago
Hi Marico
Based on testing, since your x-axis uses the month-year column in the Date table, and since there is a relationship between the Date table and the other tables, filtering will only filter out the data that corresponds to the option, so we need a separate table. Otherwise it would look like the following:
You can create a calculated column in the Slicer table.
Column = IF(YEAR('Slicer'[Month-Year]) = YEAR(TODAY()) && MONTH('Slicer'[Month-Year]) = MONTH(TODAY()), "Current", FORMAT('Slicer'[Month-Year], "YYYY-MMM"))The column is then used as a field for slicer.
Then modify the measure to the following:
Measure = VAR _selected = CALCULATE(MAX('Slicer'[Month-Year]), FILTER('Slicer', [Column] = SELECTEDVALUE('Slicer'[Column]))) VAR _pre6 = EOMONTH(_selected, -7) + 1 VAR _next6 = EOMONTH(_selected, 6) RETURN IF(MAX('Date'[Date]) >= _pre6 && MAX('Date'[Date]) <= _next6, 1, 0)Output:
You need to check the current month option once, and then when you open the file in the future, the current month option will be checked by default.
Best Regards,
Yulia XuIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- 1 year ago
Hi Anonymous Based on my analysis, column EndOfMonth = EOMONTH('Date'[Date], 0)
wasn't giving the correct values for the bar, as I want op % on the last day of the month.
So, I created following two columns in the date table to fulfill the requirement.
endofmonth =
VAR maxsalesdate = ENDOFMONTH(sales[date])
VAR lastdateofmonth = ENDOFMONTH(Date_Table[Date])
VAR MaxSalesDateOfMonth = MIN(maxsalesdate, lastdateofmonth)
RETURN
IF (
Date_Table[Date] = MaxSalesDateOfMonth, Date_Table[Date], BLANK()
)
End of Month = IF
(
Date_Table[endofmonth] <> BLANK(), Date_Table[endofmonth],
if(
Date_Table[Date]> max(sales[date]) && MONTH(MAX(sales[date])) <> MONTH(Date_Table[Date]),
ENDOFMONTH(Date_Table[Date]),
BLANK()
)
)
Hi Anonymous do you have a solution to above points?
Hi Marico
Based on testing, since your x-axis uses the month-year column in the Date table, and since there is a relationship between the Date table and the other tables, filtering will only filter out the data that corresponds to the option, so we need a separate table. Otherwise it would look like the following:
You can create a calculated column in the Slicer table.
Column = IF(YEAR('Slicer'[Month-Year]) = YEAR(TODAY()) && MONTH('Slicer'[Month-Year]) = MONTH(TODAY()), "Current", FORMAT('Slicer'[Month-Year], "YYYY-MMM"))
The column is then used as a field for slicer.
Then modify the measure to the following:
Measure =
VAR _selected = CALCULATE(MAX('Slicer'[Month-Year]), FILTER('Slicer', [Column] = SELECTEDVALUE('Slicer'[Column])))
VAR _pre6 = EOMONTH(_selected, -7) + 1
VAR _next6 = EOMONTH(_selected, 6)
RETURN
IF(MAX('Date'[Date]) >= _pre6 && MAX('Date'[Date]) <= _next6, 1, 0)
Output:
You need to check the current month option once, and then when you open the file in the future, the current month option will be checked by default.
Best Regards,
Yulia Xu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- Anonymous1 year agoNot applicable
Hi Marico
Glad to know you solved your problem. Could you please mark useful replies and your solution as "Accept as solution"? This will help more users who are facing the same or similar difficulties. Thank you!
Best Regards,
Yulia Xu - Marico1 year agoHelper IV
Anonymous Thank you for looking into this quickly.
Sorry, but the values in the slicer are not sorted in chronological order.
For example, in slicer and x-axis, it should:
Option 1 -> Jan-2024, Feb-2024, Mar-2024,....,Dec-2024, Jan-2025, Feb-2025, etc
Option 2 -> 2024-Jan, 2024-Feb, 2024-Mar,....,2024-Dec, 2025-Jan, 2025-Feb, etc
Priority is Option 1
Appreciate you looking into this issue. Thank you!
- Anonymous1 year agoNot applicable
Hi Marico
You can try the following.
“Priority is Option 1”, then you need to change the format of the Month-Year column in each table to ‘MMM-YYYY’.
First is the Slicer table, in the Table View, select the Column column and sort by the Month-Year column.
For the x-axis, the Month-Year column in the Date table is currently used, but since the same Month-Year has different Date values, it cannot be sorted based on the Date column. So I used the Month-year column of the Target table as the x-axis and sorted it based on the Month_End_Date of Target column in the table.
Output:
I hope this helps you.
Best Regards,
Yulia XuIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- Marico1 year agoHelper IV
Anonymous Yes, this works perfectly. Thank you for this.
There is just a final ask from the client that instead of complete Month and Year on the x-axis, we need the end-of-month date e.g. 30/6/2024, 31/7/2024, etc on a rolling basis as it was earlier.
Can I take this from the date or target table? Would this require any measure update as well?
- Anonymous1 year agoNot applicable
Hi Marico
If I understand correctly, are you needing to present the x-axis as the end of each month?
Please refer to the following test.Create a calculated column in the Date table and then use that column as the x-axis.
EndOfMonth = EOMONTH('Date'[Date], 0)Remove hierarchical structure
Output:
Best Regards,
Yulia XuIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- Marico1 year agoHelper IV
Hi Anonymous Based on my analysis, column EndOfMonth = EOMONTH('Date'[Date], 0)
wasn't giving the correct values for the bar, as I want op % on the last day of the month.
So, I created following two columns in the date table to fulfill the requirement.
endofmonth =
VAR maxsalesdate = ENDOFMONTH(sales[date])
VAR lastdateofmonth = ENDOFMONTH(Date_Table[Date])
VAR MaxSalesDateOfMonth = MIN(maxsalesdate, lastdateofmonth)
RETURN
IF (
Date_Table[Date] = MaxSalesDateOfMonth, Date_Table[Date], BLANK()
)
End of Month = IF
(
Date_Table[endofmonth] <> BLANK(), Date_Table[endofmonth],
if(
Date_Table[Date]> max(sales[date]) && MONTH(MAX(sales[date])) <> MONTH(Date_Table[Date]),
ENDOFMONTH(Date_Table[Date]),
BLANK()
)
)