您现在的位置是:首页 >

oracle查询列名 PB中如何得到Crosstab中的列名

火烧 2022-02-23 12:48:06 1057
PB中如何得到Cro ta 中的列名   开发者在使用Cro ta 数据窗口时会碰到一个问题 如果开发者想对其中的列内容进行处理时 不能用通用的方法得到Cro ta 中的列名 使该操作无法运行 这是因

PB中如何得到Crosstab中的列名  

  开发者在使用Crosstab数据窗口时会碰到一个问题 如果开发者想对其中的列内容进行处理时 不能用通用的方法得到Crosstab中的列名 使该操作无法运行 这是因为 Crosstab数据窗口中行列定义不同于其它的数据窗口 而且其列数是变化的 因此要得到Crosstab中的列名必须采用其它办法

  下面以一个统计各工资段作者人数 按男女性别分别统计的Crosstab数据窗口静态风格为例探讨得到Crosstab中的列名

oracle查询列名 PB中如何得到Crosstab中的列名

   选择显示风格 定义数据源后 选择表 auths 中的列 author_code salary 和 sex ;用鼠标拖动Source Data列表框中的 sex 列到Columns列表框中 使 sex 列成为数据窗口的纵向统计列 用鼠标拖动Source Data列表框中的 salary 列到Rows列表框中 使 salary 列成为数据窗口的横向统计列 将salary改为int(salary/ )* ;用鼠标拖动Source Data列表框中的 author_code 列到列表框中 使 count(author_code for Crosstab) 列成为数据窗口的统计值 此时出现 CrossTab Definition 对话框

   单击OK按钮 数据窗口显示

   Crosstab数据窗口中的列名

  Crosstab显示风格有静态和动态 如采用静态风格 则在 CrossTab Definition 对话框中取消选中 Rebuild columns at runtime 复选框 数据窗口的列名在Detail栏中 有一定规律可循

  第一栏的列名分两种情况 一 CrossTab Definition 对话框中的所选的Rows的列名为表中的字段 如Rows=salary则第一栏的列名为 salary ;二 如 CrossTab Definition 对话框中的所选的Rows的列名为计算表达式 如int(salary/ )* 则第一栏的列名均为 row_column

  其余各栏依次为所选Value的列名的排列 如Value为author_Code 则各栏依次 author_Code author_code_ author_code_ …… 栏的数目根据所选的Columns所能产生的数目而定 如Columns=sex 则只有两栏 author_Code author_code_ ;

  最后一列的列名为 grand_count_ +所选Value名 如在此例中为 grand_count_author_code 如采用动态风格 则在 CrossTab Definition 对话框中选中 Rebuild columns at runtime 复选框 数据窗口的列名在Detail栏中 (图略)第一栏和最后一列的列名情况类似静态风格所述 也就不雷同了 中间各栏的列名情况与静态风格有所不同 依次为所选rows列名的排列 如rows为 salary 在此例中各栏依次为 salary salary_ ;

  这样 问题就迎韧而解了 在得到Crosstab中的列名之后也就能自由地对其中的行列内容进行处理 通过上面的介绍 读者其实也能感觉到 计算机中许多不太容易实现的功能 只要好好分析 仔细琢磨 多试验几次 一般还是能找到有效的解决办法的

      编辑推荐

       ASP NET开发培训视频教程

lishixinzhi/Article/program/PB/201311/24612  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码