cognos - 如何解决我在 Cognos Report Studio 中创建的表达式的错误
问题描述
CASE ?choice?
WHEN 1 THEN([Sales (query)].[Time (ship date)].[Date (ship date)] in_range ?Date?)
WHEN 2 THEN [Sales (query)].[Order method].[Order method code] = ?OrderMethod?
ELSE [Sales (query)].[Employee by region].[Employee key] = ?Employee?
END
QE-DEF-0459 CCLException
QE-DEF-0260 Parsing error before or near position: 162 of: Case ?choice?
WHEN 1 THEN([Sales (query)].[Time (ship date)].[Date (ship date)] in_range ?Date?)
WHEN 2 THEN [Sales (query)].[Order method].[Order method code] = ?OrderMethod?
QE-DEF-0261 QFWP - Parsing text: CASE ?choice?
解决方案
好问题,
做了一些测试
示例 1 将起作用
CASE ?choice?
WHEN 1 THEN([Data Item abc] =1)
WHEN 2 THEN ([Data Item xyz] =2)
ELSE ([Something Else] =3)
END
示例 2 会因为缺少括号而显示错误(参见第二个 when 语句)
CASE ?choice?
WHEN 1 THEN([Data Item abc] =1)
WHEN 2 THEN [Data Item xyz] =2
ELSE ([Something Else] =3)
END
使用您的示例,
CASE ?choice?
WHEN 1 THEN ([Sales (query)].[Time (ship date)].[Date (ship date)] in_range ?Date?)
WHEN 2 THEN ([Sales (query)].[Order method].[Order method code] = ?OrderMethod?)
ELSE ([Sales (query)].[Employee by region].[Employee key] = ?Employee?)
END
您可能想尝试这样的过滤器,只是为了排除故障:
(?choice? = 1 AND
[Sales (query)].[Time (ship date)].[Date (ship date)] in_range ?Date?) OR
(?choice? = 2 AND
[Sales (query)].[Order method].[Order method code] = ?OrderMethod?) OR
(?choice? <> 1 AND ?choice? <> 2 AND
[Sales (query)].[Employee by region].[Employee key] = ?Employee?)
推荐阅读
- oracle - 无法使用spring ldap删除ldap中的属性
- powershell - PowerShell cmdlet to get a name of recently zipped folder?
- c# - 如何将图像保存到 Azure Blob 并使用特定字段命名并返回 Blob Url 并将其保存到 .net core 2.2 中的数据库
- javascript - 在 expressjs 中创建相册
- camera - 如何与 Google Home Hub 集成以获取相机流?
- pandas - 执行熊猫查询时是否可以仅在列中使用某些值
- reactjs - 为什么在服务器上部署 react 应用时 app.js 没有正确使用?
- r - 从 data.table 的“j”参数中没有得到相同的结果
- elixir - Elixir:定义地图的问题
- arrays - 将带空格的多行输出保存到数组中