Report Builder图表上的条件LabelsFormat

问题描述 投票:0回答:1

我正在尝试设计SSRS报告,最终用户可以在其中选择他们要查看按年还是按月分组的某些图表。用户为参数@dategroup选择一个值来确定它。

如果@dategroup为“ YEAR”,则SQL分组并提取最近6年的行数。如果@dategroup为“ MONTH”,则将其分组并提取最近6个月。 SQL工作正常,但是我正在努力使水平轴标签在报表生成器图表上正确格式化。

我的查询将“ cte_date”列传递到作为日期字段的横轴。当报表按月份分组时,我使用LabelsFormat属性获取日期的月份部分。例如,如果查询将值2019-01-01传递给图表,则LabelsFormat会将其转换为“ Jan”。在这种情况下,属性LabelsFormat的值为“ MMM”。当@dateformat为“ YEAR”时,这种情况下的水平轴为“ 2019”,LabelsFormat为“ yyyy”。

我尝试将LabelsFormat属性自定义为

Iif(Parameters!dategroup.Value=YEAR,yyyy,MMM)

但是不会返回期望的结果(如果按月分组,则为月部分;如果按年份分组,则为年部分)。是否可以根据参数值格式化轴标签(日期)?

reportbuilder
1个回答
0
投票

问题中的代码很接近,只需要对格式进行一些更改。在参数值和格式中添加双引号。在要更改的轴的LabelsFormat属性中输入以下代码。

=IIf(Parameters!dategroup.Value="YEAR","yyyy","MMM")

如果@dategroup参数设置为“ YEAR”,它将格式化日期以仅显示年份。否则,它将日期格式设置为三个字母的月份代码。

© www.soinside.com 2019 - 2024. All rights reserved.