开发者社区 问答 正文

在ssrs多维数据集中创建date参数,获取无效的令牌错误

我尝试在表格多维数据集中执行SSRS报告,但我真的不了解DAX语言。当我在查询中创建年和月参数时,出现错误“ Query(1,19)”,解析期间发生以下语法错误:无效令牌,第1行,偏移量19,ı。”

我的查询:

定义VARTakvimYıl1= IF(PATHLENGTH(@TakvimYıl)= 1,IF(@TakvimYıl<>“”,@TakvimYıl,BLANK()),IF(PATHITEM(@TakvimYıl,2)<>“,PATHITEM(@Tak 2),BLANK())

VARTakvimYıl1ALL= PATHLENGTH(@TakvimYıl)> 1 && PATHITEM(@TakvimYıl,1,1)<1

请帮我:(

展开
收起
几许相思几点泪 2019-12-10 19:53:43 799 分享 版权
阿里云 AI 助理回答

看起来你在使用DAX(Data Analysis Expressions)语言编写SSRS(SQL Server Reporting Services)报告时遇到了问题,特别是与参数处理相关的部分。错误信息表明在你的DAX表达式中存在语法错误。根据你提供的代码片段,这里有几个可能的问题点和修正建议:

  1. 语法错误:错误信息中的“无效令牌”通常意味着DAX解析器在指定位置遇到了它不识别的字符或表达式格式错误。从你的代码来看,一个直接的可疑点是ı这个字符,它可能是输入时的误操作或编码问题导致的非标准字符。

  2. 括号匹配:你的代码片段似乎没有完整地闭合所有的括号。确保每个打开的括号都有对应的闭合括号。特别是在复杂的逻辑判断中,很容易遗漏。

  3. PATHITEM函数的使用:你的PATHITEM函数调用似乎被截断了,且第二个PATHITEM调用缺少结束括号。正确的调用应该包括所有必要的参数,并且正确闭合。

  4. BLANK()函数:虽然你的使用看似正确,但确保在不需要返回任何值的情况下确实要使用BLANK()而不是留空。

基于以上分析,我尝试纠正你的DAX表达式如下,但请注意,由于上下文不全,这只是一个基于现有信息的假设性修正:

VAR TakvimYıl1 =
    IF(
        PATHLENGTH(@TakvimYıl) = 1,
        IF(@TakvimYıl <> "", @TakvimYıl, BLANK()),
        IF(PATHITEM(@TakvimYıl, 2) <> "", PATHITEM(@TakvimYıl, 2), BLANK())
    )
VAR TakvimYıl1ALL =
    PATHLENGTH(@TakvimYıl) > 1

请检查并确认@TakvimYıl变量的正确性和传递给PATHITEM函数的索引是否符合你的数据结构。如果问题仍然存在,可能需要更详细的上下文来进一步诊断问题所在。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: