【问题标题】:SSRS dynamic datasetSSRS 动态数据集
【发布时间】:2015-10-17 07:26:51
【问题描述】:

我已经创建了动态数据集,但我无法继续在数据集中进行 parameterName 比较。

声明@tableName varchar(100);

选择 [名称] 作为 column1 ,[定义] as column2 ,'查看'作为第 3 列 来自@tableName 联合所有 选择
[DayOfWeek] 作为 column1 ,[MonthName] 作为 column2 ,'common' as column3
FROM @tableName

因此,如果我对 tableName 进行硬编码,但是当我传递参数时,它会中断。另外,请参见第 3 列,该列实际上根据模式名称区分数据集,以便我可以从结果集(数据集)中比较此模式名称,然后根据 @tableName 参数,我应该只能选择一个数据表。

所以,我有两个问题 1.传递一个动态的tableName作为参数 2. 比较 where 子句中的这个 ParameterName 以从我的动态数据集中选择特定数据。 请帮我。

【问题讨论】:

    标签: dynamic reporting-services dataset


    【解决方案1】:

    您可以尝试使用以下脚本来创建数据集 声明一个表类型变量并插入结果集......一旦成功,您就可以通过添加过滤条件来扩展您的脚本......一切顺利!

    DECLARE @tableName VARCHAR(100)='Test';
    DECLARE @DynamicTable AS Table(column1  VARCHAR(255),column2  VARCHAR(255),column3  VARCHAR(255))
    DECLARE @Query AS VARCHAR(MAX)=''
    SET @Query='
        SELECT [NAME] AS COLUMN1 ,[DEFINITION] AS COLUMN2 ,''VIEW'' AS COLUMN3 FROM ' + @TABLENAME 
        +
        ' 
        UNION ALL 
        SELECT
        [DAYOFWEEK] AS COLUMN1 ,[MONTHNAME] AS COLUMN2 ,''COMMON'' AS COLUMN3
        FROM ' + @TABLENAME
    
    --PRINT @Query
    Insert Into @DynamicTable 
    EXEC (@Query)
    Select * From @DynamicTable
    

    【讨论】:

    • 我收到一个错误 - 必须声明表变量“@Table”。
    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    相关资源
    最近更新 更多