SSRS报告日期参数错误到查询SSAS表格模型 - “ 5”的语法是不正确的



在Visual Studio(2015 Enterprise)中可见的错误的实际文本是。

在本地报告处理过程中发生了错误。
报告过程中发生了错误。
查询执行失败的数据集"生产力"。
" 5"的语法是不正确的。(3/2/2017 5:00:00 AM)

它正在查询我创建和部署的简单表格模型。该型号有四个表。员工表,工作卡表(包含作业号,小时等),日期维度表和工资时间时钟表。目的是报告与"直接"部门的实际出勤时间相对于订单计费的小时数。

表是[员工],[劳动日期](日期dim),[ADI时间细节](工资单)和[路线trans](工作卡)。措施是[ADI时间细节]。[直接小时]和[路线trans]。

我通常不使用查询设计师,因为我对SQL非常好,但这是我第一次与SSAS郊游,所以我在这里使用了。

我引入了[劳动日期]。[date],[雇员]。[员工ID],[雇员]。[雇员姓名],[量度]。直接小时]。我还在顶部添加了尺寸。它是{" dimension":"劳动日期","层次结构":" date"," operator":" quality"," filter expression":" {6/26/2013}"," parameters":"检查":"检查"}。

在查询设计器中执行查询,它会按预期生成数据集。

切换到设计模式,查询文本是此

SELECT NON EMPTY { [Measures].[SUM OF Earned Hours], 
       [Measures].[Direct Hours] } 
ON COLUMNS, 
       NON EMPTY { ([Labor DATE].[DATE].[DATE].allmembers * [Employee].[Employee ID].[Employee ID].allmembers * [Employee].[Employee Name].[Employee Name].allmembers ) } DIMENSION PROPERTIES member_caption, 
       member_unique_name 
ON ROWS 
FROM   ( 
              SELECT ( STRTOSET(@labordatedate, constrained) ) 
              ON COLUMNS 
              FROM   [Model]) CELL PROPERTIES VALUE, 
       back_color, 
       fore_color, 
       formatted_value, 
       format_string, 
       font_name, 
       font_size, 
       font_flags

单击"确定"接受查询,然后返回数据集属性我单击参数,将命名labordateate(内部查询)的参数(@perdate](报告参数)。

报告参数[@perdate]正在将此表达式用于默认值:

=DateAdd(DateInterval.Day, -1, Today.Date)

查询在查询构建器中起作用,但在报告执行中失败。日期维度和参数的日期均为零小时数据,所以我很困惑5点来自哪里。

我在这里做错了什么?

解决方案以下答案之后

我离开了[@perdate] as-is。我创建了一个标记为隐藏的第二个参数,名为[@perdatestr],并使用文本数据类型。我将其中的可用和默认表达式设置为...

="[Labor Date].[Date].&[" & Format(Parameters!PerDate.Value, "yyyy-MM-dd") & "T00:00:00]"

然后,在数据集中,我将内部查询参数labordatate映射到报告参数[@perdatestr]。成功!

使用Labor Date维度中的有效成员:

="[Labor Date].[Date].&[" & DateAdd(DateInterval.Day, -1, Today.Date) & "]"

确保您根据维度值格式化日期值。

最新更新