代码可在Management Studio中使用,但不能在.rdl报表的数据集中使用

周华健

为什么这仅在Management Studio中起作用,而在rdl报表的数据集中却不起作用?

我无权访问实时数据库,因此无法将此功能直接添加到数据库中。

if OBJECT_ID (N'dbo.PreviousFriday', N'FN') is not null
    drop function dbo.PreviousFriday;
go
create function dbo.PreviousFriday (@Date datetime)
returns datetime
with execute as caller
as
begin
    declare @PreviousFriday datetime;

    set @PreviousFriday = DATEADD(DAY, (case DATEPART(DW, @Date)
        when 1 then -2
        when 2 then -3
        when 3 then -4
        when 4 then -5
        when 5 then -6
        when 6 then 0
        when 7 then -1
    end), @Date)
    return(@PreviousFriday);
end
go

if OBJECT_ID (N'dbo.NextFriday', N'FN') is not null
    drop function dbo.NextFriday;
go
create function dbo.NextFriday (@Date datetime)
returns datetime
with execute as caller
as
begin
    declare @NextFriday datetime;

    set @NextFriday = DATEADD(DAY, (case DATEPART(DW, @Date)
        when 1 then 5
        when 2 then 4
        when 3 then 3
        when 4 then 2
        when 5 then 1
        when 6 then 0
        when 7 then 6
    end), @Date)
    return(@NextFriday);
end
go

这是我得到的错误: 在此处输入图片说明

b

因为SSRS中的查询需要为DML(数据操作语言)

IE

 select * from ...

或者

 exec dbo.prcGetMyData ...

这样的事情...


但是您尝试输入DDL(数据定义语言),即您尝试更改基础数据库,如果允许的话,这将是一个安全问题。


您可以只在其中包含脚本的情况下创建一个名为LastFriday的数据集。然后,您可以在文本框内或任何地方使用数据集的值。

SELECT    DATEADD(DAY, (CASE DATEPART(DW, @Date) 
                         WHEN 1 THEN - 2 
                         WHEN 2 THEN - 3 
                         WHEN 3 THEN - 4 
                         WHEN 4 THEN - 5 
                         WHEN 5 THEN - 6 
                         WHEN 6 THEN 0 
                         WHEN 7 THEN - 1 END), @Date) AS LastFriday

如果要在多个报告中共享,请创建一个共享数据集。(您需要在NextFriday做同样的事情!)

或者,您可以完全避免使用TSQL,而只需在报告中将函数创建为代码即可。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

向量查找功能可在Visual Studio中使用,但不能在GCC中使用

来自分类Dev

向量查找功能可在Visual Studio中使用,但不能在GCC中使用

来自分类Dev

jQuery函数可在控制台中使用,但不能在代码中使用

来自分类Dev

Javascript代码可在Safari中使用,但不能在Firefox中使用。为什么?

来自分类Dev

Shell代码可在控制台中使用,但不能在脚本中使用

来自分类Dev

jQuery代码可在chrome和IE中使用,但不能在Firefox中使用

来自分类Dev

简单的AddListener,可在代码笔中使用,但不能在Chrome浏览器中使用

来自分类Dev

Gatsby查询可在graphql编辑器中使用,但不能在React代码中使用

来自分类Dev

JavaScript代码可在Firefox中使用,但不能在Chrome或Edge中使用

来自分类Dev

javascript代码可在jsfiddle中使用,但不能在浏览器中使用

来自分类Dev

jQuery代码可在chrome和IE中使用,但不能在Firefox中使用

来自分类Dev

VHDL代码可在ModelSim中使用,但不能在FPGA上使用

来自分类Dev

jQuery Lightbox代码可在JSFiddle上使用,但不能在Wordpress中使用

来自分类Dev

ServiceStack缓存可在VS2012中使用,但不能在Xamarin Studio 4.2.3(内部版本60)中使用

来自分类Dev

Python代码可在Ubuntu 14.04中使用,但不能在Win8.1中使用

来自分类Dev

JavaScript提取代码可在邮递员中使用,但不能在Google脚本编辑器中使用

来自分类Dev

外接程序代码可在Outlook 2007和2010中使用,但不能在Outlook 2013中使用

来自分类Dev

JavaScript上的SOAP服务调用可在Safari中使用,但不能在Chrome或Firefox中使用

来自分类Dev

XPath可在浏览器中使用,但不能在简单的HTML DOM中使用

来自分类Dev

WebRTC可在Chrome中使用,但不能在Firefox中使用

来自分类Dev

javascript新日期可在chrome中使用,但不能在Firefox中使用

来自分类Dev

Autofac RegisterGeneric可在单元测试中使用,但不能在应用程序中使用

来自分类Dev

CSS动画可在Chrome中使用,但不能在FireFox中使用

来自分类Dev

“ LIKE”运算符可在MS Access中使用,但不能在ADO中使用

来自分类Dev

JS功能可在Chrome中使用,但不能在Firefox中使用

来自分类Dev

Http POST可在邮递员中使用,但不能在Flutter中使用

来自分类Dev

RegEx筛选器可在RegExr中使用,但不能在Logstash Grok中使用

来自分类Dev

简单的POST请求可在Postman中使用,但不能在浏览器中使用

来自分类Dev

MapsActivity可在调试中使用,但不能在+ android版本中使用

Related 相关文章

  1. 1

    向量查找功能可在Visual Studio中使用,但不能在GCC中使用

  2. 2

    向量查找功能可在Visual Studio中使用,但不能在GCC中使用

  3. 3

    jQuery函数可在控制台中使用,但不能在代码中使用

  4. 4

    Javascript代码可在Safari中使用,但不能在Firefox中使用。为什么?

  5. 5

    Shell代码可在控制台中使用,但不能在脚本中使用

  6. 6

    jQuery代码可在chrome和IE中使用,但不能在Firefox中使用

  7. 7

    简单的AddListener,可在代码笔中使用,但不能在Chrome浏览器中使用

  8. 8

    Gatsby查询可在graphql编辑器中使用,但不能在React代码中使用

  9. 9

    JavaScript代码可在Firefox中使用,但不能在Chrome或Edge中使用

  10. 10

    javascript代码可在jsfiddle中使用,但不能在浏览器中使用

  11. 11

    jQuery代码可在chrome和IE中使用,但不能在Firefox中使用

  12. 12

    VHDL代码可在ModelSim中使用,但不能在FPGA上使用

  13. 13

    jQuery Lightbox代码可在JSFiddle上使用,但不能在Wordpress中使用

  14. 14

    ServiceStack缓存可在VS2012中使用,但不能在Xamarin Studio 4.2.3(内部版本60)中使用

  15. 15

    Python代码可在Ubuntu 14.04中使用,但不能在Win8.1中使用

  16. 16

    JavaScript提取代码可在邮递员中使用,但不能在Google脚本编辑器中使用

  17. 17

    外接程序代码可在Outlook 2007和2010中使用,但不能在Outlook 2013中使用

  18. 18

    JavaScript上的SOAP服务调用可在Safari中使用,但不能在Chrome或Firefox中使用

  19. 19

    XPath可在浏览器中使用,但不能在简单的HTML DOM中使用

  20. 20

    WebRTC可在Chrome中使用,但不能在Firefox中使用

  21. 21

    javascript新日期可在chrome中使用,但不能在Firefox中使用

  22. 22

    Autofac RegisterGeneric可在单元测试中使用,但不能在应用程序中使用

  23. 23

    CSS动画可在Chrome中使用,但不能在FireFox中使用

  24. 24

    “ LIKE”运算符可在MS Access中使用,但不能在ADO中使用

  25. 25

    JS功能可在Chrome中使用,但不能在Firefox中使用

  26. 26

    Http POST可在邮递员中使用,但不能在Flutter中使用

  27. 27

    RegEx筛选器可在RegExr中使用,但不能在Logstash Grok中使用

  28. 28

    简单的POST请求可在Postman中使用,但不能在浏览器中使用

  29. 29

    MapsActivity可在调试中使用,但不能在+ android版本中使用

热门标签

归档