当前位置: 首页 > news >正文

专业微信网站建设公司首选公司/网络营销环境分析

专业微信网站建设公司首选公司,网络营销环境分析,免费x网站域名,云服务器做网站一般配置上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门、开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的;参数可以多…

上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门、开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的;参数可以多选或全选;动态地显示列,列不是固定的;根据某一字段的值来动态地显示整行字体的颜色。

下面介绍详细的方法:

 

一、动态参数、参数多选全选

动态参数:

首先定义一个Dataset:

SELECT DISTINCT new_countryId, new_codename AS name FROM new_country WHERE new_codename IS not null

 

然后指定参数的数据来源:

image

注意,这里参数Value 字段一定要用主健,也就是说如果value也用name,将查询不到结果。

多选、全选:

image

 

效果图如下:

image

 

传入的参数在主Dataset里通过in来查询:

ct.new_countryid IN ( @country )

 

二、 动态列

最近有个需求,要把全年所有的星期相关的数据查询出来,每个月的最后一周后面显示本月的合计。月是固定的,好处理,但每个月有几周却不是固定的,这时候就没办法固定的查询出数据,然后直接拖到报表里了。解决思路如下:

1. 列名和列各定义一个Dataset, 先看下列名的定义:

先定义一个临时表,每月最多5周,所以每月前面都定义5周。

--创建临时表,用来存储活动的周名称
CREATE TABLE #weekColumn
    (
      Start VARCHAR(10) ,
      W1 VARCHAR(100) ,
      W1Remark VARCHAR(100) ,
      W2 VARCHAR(100) ,
      W2Remark VARCHAR(100) ,
      W3 VARCHAR(100) ,
      W3Remark VARCHAR(100) ,
      W4 VARCHAR(100) ,
      W4Remark VARCHAR(100) ,
      W5 VARCHAR(100) ,
      W5Remark VARCHAR(100) ,
      Month1 VARCHAR(100) ,
      W6 VARCHAR(100) ,
      W6Remark VARCHAR(100) ,
      W7 VARCHAR(100) ,
      W7Remark VARCHAR(100) ,
      W8 VARCHAR(100) ,
      W8Remark VARCHAR(100) ,
      W9 VARCHAR(100) ,
      W9Remark VARCHAR(100) ,
      W10 VARCHAR(100) ,
      W10Remark VARCHAR(100) ,
      Month2 VARCHAR(100) ,
      ...

 

然后遍历所有月,根据规定的格式,定义周、月的列名:

DECLARE month_cursor CURSOR
FOR
    SELECT  new_monthid ,
            new_name ,
            new_month
    FROM    filterednew_month
    WHERE   new_year = YEAR(GETDATE())
    ORDER BY new_name
 
OPEN month_cursor
 
FETCH NEXT FROM month_cursor INTO @monthid, @monthName, @monthNo
 
WHILE @@FETCH_STATUS = 0 
    BEGIN
  
        SET @index = ( @monthNo - 1 ) * 5 + 1
 
        -- 3. get all weeks
        DECLARE week_cursor CURSOR
        FOR
            SELECT  new_name ,
                    new_week_no
            FROM    filterednew_week
            WHERE   new_monthid = @monthid
 
        OPEN week_cursor
        FETCH NEXT FROM week_cursor INTO @weekName, @weekNo
        WHILE @@FETCH_STATUS = 0 
            BEGIN
 
                SET @sql = 'W' + CAST(@index AS VARCHAR(100));
                SET @sqlName = 'W' + CAST(@index AS VARCHAR(100)) + 'Remark';
                          
                SET @sql = ' update #weekColumn set ' + @sql + '='''
                    + @weekName + '''' + ',' + @sqlName + '=''Remark'''
                EXEC(@sql);
                SET @index += 1
                    
                FETCH NEXT FROM week_cursor   INTO @weekName, @weekNo
            END
        CLOSE week_cursor
        DEALLOCATE week_cursor    
 
        SET @sql = 'Month' + CAST(@monthNo AS VARCHAR(100));
        SET @sql = ' update #weekColumn set ' + @sql + '=''' + @monthName
            + ''''
        EXEC(@sql);
        SET @index += 1
 
        FETCH NEXT FROM month_cursor INTO @monthid, @monthName, @monthNo
    END
CLOSE month_cursor;
DEALLOCATE month_cursor; 

 

最后查询这个临时表就可以得到所有的列名:

SELECT  *
FROM    #weekColumn;

 

2. 列值的Dataset定义:

首先也是定义包含所有周、月的临时表,也是每月前定义5周,跟列名对应起来。

接着,遍历所有月,确定当前数据是本月的哪一周:

--查找是本月的第几周                 
PRINT @monthNo
SELECT  @whichWeek = rn
FROM    ( SELECT    ROW_NUMBER() OVER ( ORDER BY w.new_week_no ) RN ,
                   w.new_week_no
         FROM      filterednew_week w
                   JOIN filterednew_month m ON w.new_monthid = m.new_monthId
         WHERE     m.new_month = @monthNo
       ) mw
WHERE   mw.new_week_no = @weekNo

 

再确定数据插入的位置:

-- 确定插入位置
SET @index = ( @monthNo - 1 ) * 5 + @whichWeek
PRINT @index
PRINT @monthNo
PRINT @whichWeek
SET @sqlOrderQty = 'W' + CAST(@index AS VARCHAR(100))
    + 'OrderQty';
SET @sqlQty = 'W' + CAST(@index AS VARCHAR(100)) + 'Qty';
 
SET @sqlRemark = 'W' + CAST(@index AS VARCHAR(100)) + 'Remark';
 
SET @sql = ' update #weekColumn set ' + @sqlOrderQty + '='
    + CAST(ISNULL(@orderQty, '0') AS VARCHAR(100)) + ','
    + @sqlQty + '=' + CAST(ISNULL(@qty, 0) AS VARCHAR(100))
    + ',' + @sqlRemark + '=''' + ISNULL(@remark, '') + ''''
    + ' WHERE   ReportIndex = '
    + CAST(@ReportIndex AS VARCHAR(100));                             
PRINT @sql
EXEC(@sql);

 

3. 报表上处理

列名要用简单处理下,要用列名的Dataset,如下显示的第一周的列名:

=First(Fields!W1.Value, "columns_DataSet")

另外,每个月的前一周有可能是要hide的,因为有可能没有第5周,右健整个列,选择 Column Visibility:

image

如果没有值就hide起来:

image

 

=iif(isnothing(First(Fields!W5.Value, "columns_DataSet")),true,false)

 

到此,动态显示列完成。

 

三、 动态显示行字体颜色

首先选中整个行:

image

 

然后在行的Font-> Color里定义颜色:

image

=IIF(Fields!versions.Value = "Demand Plan", "Black", "Green")

 

 

 

 

注意 Black, Green都要带引号。

 

 

Dynamic CRM 2013学习笔记 系列汇总 -- 持续更新中

http://www.jmfq.cn/news/4827961.html

相关文章:

  • 免费咨询律师平台/天津网站优化
  • 浙江省住房和城乡建设行业网站/关键词优化简易
  • 展馆展示设计公司排名/北京网站sem、seo
  • java web做网站/网推平台有哪些比较好
  • 玉环做网站有哪些/杭州网站外包
  • 网站权重与排名浅谈/搜索关键词是什么意思
  • 长沙百度首页优化排名/长沙百度网站推广优化
  • 网页设计网站值得推荐/推广平台哪儿有怎么做
  • ios网站开发视频教程/seo的全称是什么
  • 重庆建设工程信息网官/关键词优化一年的收费标准
  • 州区住房和城乡建设委员会网站/武汉百度推广电话
  • 罗湖网站-建设深圳信科/优化关键词排名seo
  • 陕西建设注册中心网站/百度网络营销app下载
  • 买到域名怎么做网站/十大放黄不登录不收费
  • 开封美食网站建设规划/搜索引擎优化的内容有哪些
  • 如皋做网站的/平面设计主要做什么
  • 云南网站建设公司排名/查询网址域名
  • 搜狗收录提交入口/如何做好关键词的优化
  • 做网站不懂行情 怎么收费/平台推广员是做什么的
  • 白银市住房与建设局网站/深圳谷歌推广公司
  • 网监网站备案/百度广告投放平台官网
  • 腾讯云wordpress搭建网站/网络营销的四种模式
  • 广州交易中心官网/广东网站营销seo方案
  • 宁德市城乡建设网站/游戏代理是怎么赚钱的如何代理游戏
  • 苏州企业如何建网站/南宁百度seo排名优化
  • 网站 用php asp源码 比较好/镇江网站seo
  • 自己做自营网站/今日热搜榜排名最新
  • 正规的佛山网站建设价格/如何做公司网站推广
  • 云南本地企业做网站/搜狗推广登录平台
  • 宁波网站建设公司信息查询/云巅seo