精华内容
下载资源
问答
  • Pivot

    2021-01-01 08:15:58
    <div><p>Hi <p>Great library! Please tell me. Best way to make a pivot out of the query?</p><p>该提问来源于开源项目:sqlkata/querybuilder</p></div>
  • pivot

    2017-03-20 15:57:54
    先上语法规范: SELECT ….... PIVOT ( aggregate-function() FOR IN (, ,…, ) ) AS WHERE ….. 通过一个例子说明其用法: select * from (select salary, department_id from employee) pi

    先上语法规范:
    SELECT ….
    FROM
    PIVOT
    (
    aggregate-function()
    FOR IN (, ,…, )
    ) AS
    WHERE …..
    通过一个例子说明其用法:
    select * from (select salary, department_id from employee)
    pivot(sum(salary) as sum_sal for(department_id) in (10,20,30));
    10_sum_sal 20_sum_sal 30_sum_sal
    370000 155000 370000

    pivot功能在目前的oracle版本中不支持subquery的用法,所以要动态生成栏目的话就必须用 function 或者是procedure 用循环把字符串生成然后再执行。 游标 或者 临时表都可以用。

    方法1、可以使用pivot xml
    select * from (
    select times_purchased as “Puchase Frequency”, state_code
    from customers t
    )
    pivot xml
    (
    count(state_code)
    for state_code in (select state_code from preferred_states)
    )
    order by 1

    for state_code in (select distinct state_code from
    customers)子查询必须返回不同的值,否则查询将失败。这就是我们指定上述 DISTINCT 子句的原因。

    wm_concat在oracle11g中换成了listagg

    LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)

    create or replace procedure ljz_pivot_xml_sp(pi_table_name varchar2,
    pi_column_name varchar2,
    pi_create_table varchar2) as
    v_column nvarchar2(50);
    v_count number := 0;
    v_i number;
    v_parent_node nvarchar2(4000);
    v_child_node nvarchar2(4000);
    v_over boolean := false;
    v_tmp nvarchar2(50);
    v_existsnode number;
    v_sql clob;
    v_name varchar2(30);
    v_name_xml xmltype;
    begin
    v_sql := ‘select x.* from ’ || pi_table_name ||
    ’ a, xmltable(”/PivotSet” passing a.’ ||
    pi_column_name || ’ columns ‘;
    v_parent_node := ‘/PivotSet’;
    v_child_node := ‘item[1]/column[2]’;
    v_i := 1;
    execute immediate ‘select ’ || pi_column_name || ’ from ’ ||
    pi_table_name || ’ where rownum=1’
    into v_name_xml;
    select existsnode(v_name_xml,
    ‘/PivotSet/item[’ || to_char(v_i) || ‘]/column[1]’)
    into v_existsnode
    from dual;
    while v_existsnode = 1 loop
    execute immediate ‘select substr(extractvalue(’ || pi_column_name ||
    ‘, ”/PivotSet/item[’ || to_char(v_i) || ‘]/column[1]”),1,30)
    from ’ || pi_table_name || ’ x’
    into v_name;
    v_sql := v_sql || ‘”’ || v_name || ‘” varchar2(30) path ”item[’ ||
    to_char(v_i) || ‘]/column[2]”,’;
    v_i := v_i + 1;
    select existsnode(v_name_xml,
    ‘/PivotSet/item[’ || to_char(v_i) || ‘]/column[1]’)
    into v_existsnode
    from dual;
    end loop;
    v_sql := trim(‘,’ from v_sql) || ‘) x’;
    commit;
    select count(1)
    into v_count
    from user_tab_columns
    where table_name = upper(pi_create_table);
    if v_count = 0 then
    execute immediate ‘create table ’ || pi_create_table || ’ as ’ || v_sql;
    end if;
    end;
    调用方法:

    1
    2
    3
    4
    5
    begin
    ljz_pivot_xml_sp(‘(select * from (select deptno,sal from emp) pivot xml(sum(sal) for deptno in(any)))’,
    ‘deptno_xml’,
    ‘ljz_pivot_tmp’);
    end;

    展开全文
  • PIVOT

    2013-08-13 13:39:05
    SELECT [星期一],[星期二],[星期三],[星期四],[星期五]...FROM WEEK_INCOME --这里是PIVOT第二步骤(准备原始的查询结果,因为PIVOT是对一个原始的查询结果集进行转换操作,所以先查询一个结果集出来)这里可以是一个...
    SELECT [星期一],[星期二],[星期三],[星期四],[星期五],[星期六],[星期日]--这里是PIVOT第三步(选择行转列后的结果集的列)这里可以用“*”表示选择所有列,也可以只选择某些列(也就是某些天)  
    FROM WEEK_INCOME --这里是PIVOT第二步骤(准备原始的查询结果,因为PIVOT是对一个原始的查询结果集进行转换操作,所以先查询一个结果集出来)这里可以是一个select子查询,但为子查询时候要指定别名,否则语法错误  
    PIVOT  
    (  
        SUM(INCOME) for [week] in([星期一],[星期二],[星期三],[星期四],[星期五],[星期六],[星期日])--这里是PIVOT第一步骤,也是核心的地方,进行行转列操作。聚合函数SUM表示你需要怎样处理转换后的列的值,是总和(sum),还是平均(avg)还是min,max等等。例如如果week_income表中有两条数据并且其week都是“星期一”,其中一条的income是1000,另一条income是500,那么在这里使用sum,行转列后“星期一”这个列的值当然是1500了。后面的for [week] in([星期一],[星期二]...)中 for [week]就是说将week列的值分别转换成一个个列,也就是“以值变列”。但是需要转换成列的值有可能有很多,我们只想取其中几个值转换成列,那么怎样取呢?就是在in里面了,比如我此刻只想看工作日的收入,在in里面就只写“星期一”至“星期五”(注意,in里面是原来week列的值,"以值变列")。总的来说,SUM(INCOME) for [week] in([星期一],[星期二],[星期三],[星期四],[星期五],[星期六],[星期日])这句的意思如果直译出来,就是说:将列[week]值为"星期一","星期二","星期三","星期四","星期五","星期六","星期日"分别转换成列,这些列的值取income的总和。 

     

    SELECT [星期一],[星期二],[星期三],[星期四],[星期五],[星期六],[星期日]--这里是PIVOT第三步(选择行转列后的结果集的列)这里可以用“*”表示选择所有列,也可以只选择某些列(也就是某些天)  
    FROM WEEK_INCOME --这里是PIVOT第二步骤(准备原始的查询结果,因为PIVOT是对一个原始的查询结果集进行转换操作,所以先查询一个结果集出来)这里可以是一个select子查询,但为子查询时候要指定别名,否则语法错误  
    PIVOT  
    (  
        SUM(INCOME) for [week] in([星期一],[星期二],[星期三],[星期四],[星期五],[星期六],[星期日])--这里是PIVOT第一步骤,也是核心的地方,进行行转列操作。聚合函数SUM表示你需要怎样处理转换后的列的值,是总和(sum),还是平均(avg)还是min,max等等。例如如果week_income表中有两条数据并且其week都是“星期一”,其中一条的income是1000,另一条income是500,那么在这里使用sum,行转列后“星期一”这个列的值当然是1500了。后面的for [week] in([星期一],[星期二]...)中 for [week]就是说将week列的值分别转换成一个个列,也就是“以值变列”。但是需要转换成列的值有可能有很多,我们只想取其中几个值转换成列,那么怎样取呢?就是在in里面了,比如我此刻只想看工作日的收入,在in里面就只写“星期一”至“星期五”(注意,in里面是原来week列的值,"以值变列")。总的来说,SUM(INCOME) for [week] in([星期一],[星期二],[星期三],[星期四],[星期五],[星期六],[星期日])这句的意思如果直译出来,就是说:将列[week]值为"星期一","星期二","星期三","星期四","星期五","星期六","星期日"分别转换成列,这些列的值取income的总和。 

     

    展开全文
  • nested pivot

    2021-01-05 12:52:37
    It looks like scripts/bootmetro-pivot.js cant find the id of the nested pivot. What am I doing wrong, is it not supported what I want to do? <p>Thank for your help!</p><p>该提问来源于开源项目:...
  • Revisionable Pivot

    2020-12-01 11:37:21
    There is though a model-like object Pivot, which you can bound a listener to, but it will fire for any pivot, not just the one you want. It is equal to: Event::listen('eloquent.saving: Pivot',...
  • pivot issue

    2020-12-04 15:34:26
    But if I modify the pivot in both MAX and Maya, the plugin will sync the movement onto the mesh itself instead of its pivot. Now my workaround is to link the mesh on another one which is put to a ...
  • sqlserver- PIVOT

    2019-10-18 16:51:50
    pivot

    在这里插入图片描述
    eg.1

    • source1
      在这里插入图片描述
    • pivot 1
      在这里插入图片描述
    • 练习1
    
    SELECT 类别,  [20191001], [20191002]
    FROM 
      (SELECT 日期, 类别, 金额
      FROM 消费
      WHERE 日期 IN ('20191001', '20191002')) AS Sourcetable
    PIVOT
      (SUM(金额)
      FOR 日期 IN ([20191001], [20191002]))
      AS TT
    

    在这里插入图片描述

    展开全文
  • IV Pivot Editor

    2019-03-19 12:50:58
    Easily set your pivot points inside Unity. Unlike the other pivot editor solutions on the asset store you can set the pivot point using scene handles, snap the pivot to mesh vertices. Features: • ...
  • <div><p>Rather than directly executing <code>pivot</code> from within the container, use its new service unit to run it. The main advantage of this is that <code>pivot</code> can correctly run <code>...
  • python pandas库——pivot使用心得

    万次阅读 多人点赞 2017-12-14 17:07:06
    在做数据统计二维表转换的时候走了不少弯路,发现pivot()这个方法可以解决很多问题,让我少走一些弯路,节省了大量的代码。于是我这里对于pandas下dataframe的pivot()方法进行学习总结和应用,以便回顾和巩固知识。

    最近在做基于python的数据分析工作,引用第三方数据分析库——pandas(version 0.16)。
    在做数据统计二维表转换的时候走了不少弯路,发现pivot()这个方法可以解决很多问题,让我少走一些弯路,节省了大量的代码。于是我这里对于pandas下dataframe的pivot()方法进行学习总结和应用,以便回顾和巩固知识。


    以统计学生成绩信息为例。
    在做学生成绩信息统计的时候,我们从学生各科考试成绩文件(.csv或.xls等)中把数据抽取上来。样本模拟数据(data_df)如下。

    In [13]: print data_df
      userNum  score subjectCode subjectName userName
    0   001     90        01         语文       张三
    1   002     96        01         语文       李四
    2   003     93        01         语文       王五
    3   001     87        02         数学       张三
    4   002     82        02         数学       李四
    5   003     80        02         数学       王五
    

    要把上面二维表转换为每个人各科的成绩信息。就像咱们中学时期的成绩单一样。类似于

    学籍号  姓名  班级  语文成绩  语文排名  数学成绩  数学排名
                            ...
    

    的一张二维表。

    我之前的传统统计方式,给data_df根据学籍号进行groupby,再循环遍历该分组得到每个人的各科成绩信息,再统计到一张新表中,然后循环append每一张新表,可生成以上的样表。如果我们需要统计全年级的学生呢?可能一个年级有500个学生,那就是循环500次。此时我们需要统计一个市区内多校联考的学生呢?岂不是要循环成百上千次?实际情况,这样的做法使得我们的脚本跑的非常的慢。

    直到我在pandas的官方api上查到pivot()的这个方法。
    pandas给pivot的官方解释

    大概的意思就是根据列对数据表进行重塑。这样理解实在晦涩难懂。我不喜欢长篇大论,更喜欢暴力一点的,use it and 直观感受它(这样做当然不可取,最好还是对它的方法理解透彻一些,以便了解他更多的适用场景)。

    从官方api可以知道他有三个参数,第一个index是重塑的新表的索引名称是什么,第二个columns是重塑的新表的列名称是什么,一般来说就是被统计列的分组,第三个values就是生成新列的值应该是多少,如果没有,则会对data_df剩下未统计的列进行重新排列放到columns的上层。

    直接上代码

    In [20]: pivot_df = data_df.pivot(index='userNum', columns='subjectCode', values='score')
    

    我们给能标识每个学生的学籍号userNum作为索引,因为我们是要统计每个学生,所以每个学生的信息作为一行。要生成语文成绩,数学成绩等,那么可以用标识学科的subjectCode作为每一列,最后,值,当然就是score给每个科目赋成绩值了!

    以下是生成的结果

    In [21]: print pivot_df
    subjectCode  01  02
    userNum
    001          90  87
    002          96  82
    003          93  80
    

    这就生成了我们大致想要的样子了,之后可以再给pivot_df的列名进行调整,还有其整体样式的调整。

    # 这只是其中一个方式,如有更好的方式,不吝赐教~
    
    # 列名称置空
    pivot_df.columns.name = None
    # 遍历每个学科对新表列名进行修改
    data_df_G = data_df.groupby(["subjectCode"], as_index=False)
    temp_count = 1
    for index, subject_df in data_df_G:
        # 把成绩排名添加到各科成绩之后
        pivot_df.insert(temp_count, "rank_" + str(index), pivot_df[index].rank(ascending=False, method='min'))
        # 重命名各科成绩
        pivot_df.rename(columns={index: ("score_" + str(index))}, inplace=True)
        temp_count += 2
    # 把userNum添加的列中
    pivot_df['userNum'] = pivot_df.index
    # 索引名称置空
    pivot_df.index.name = None
    
    temp_df = data_df.loc[:, ["userNum", "userName"]]
    temp_df.drop_duplicates(inplace=True)
    # 剩余列拼接
    pivot_df = temp_df.merge(pivot_df, on="userNum", how="left")

    最后生成的样式,大致能满足我们需要的东西了

    In [30]: print(pivot_df)
      userNum userName  score_01  rank_01  score_02  rank_02
    0   001       张三      90        3        87        1
    1   002       李四      96        1        82        2
    2   003       王五      93        2        80        3
    

    文中若有表述不当或实现不妥的地方,欢迎指正!

    展开全文
  • Pivot(轴心点)Pivot(轴心点)就像对象的自用轴轴心,主要功能有:在旋转和缩放时,对象的轴心点即为相应变化的中心点;作为父对象与子对象连接的中心点,子对象将针对轴心点进行变换操作;决定反向运动的连接坐标中心...
  • Pivot Table

    2019-10-03 22:19:56
    Pivot Table source data checklist(条件): -no blank columns -no black row -no merged cells -source data need to have header fields create Pivot Table create Pivot Chart create Dashboard How to add a ...
  • <a href="https://github.com/ashcrow/pivot">pivot</a> approach. One place where this is currently directly impacting us is in the MCD: ...
  • Angular Pivot Grid

    2020-12-27 19:53:51
    <p>We are missing Angular Pivot Grid. Data grid is best but there should be Pivot grid as well. It will be great if you provide this soon. <h2>Describe the solution you'd like <p>Provide Angular ...
  • pivot piv

    2012-09-24 17:46:13
    火柴人制作工具 pivot3.1神通 汉化版
  • powerpivot 使用PowerPivot钻取数据 (Drill Into Data With PowerPivot)Have you tried Microsoft PowerPivot for Excel 2010 (formerly Gemini)? It’s a powerful data analysis add-in for Excel, and is part of...
  • numpy.pivot Apache Pivot 1.5现在可用。 Apache Pivot提供了一个使用Java构建富Internet应用程序的平台。 此版本添加了新的发布者/订阅者API,以允许在Pivot应用程序内进行消息传递的分离。 Form组件已进行了...
  • Pivot unity script

    2015-01-08 09:58:00
    Pivot unity script using for change pivot in unity editor
  • Pivot table implementation

    2020-12-01 21:20:15
    <p>Would be nice to integrate one of this JS pivot table implementations: http://rjackson.github.io/pivot.js/ https://github.com/nicolaskruchten/pivottable</p> <p>We are available to take in charge ...
  • Import pivot code

    2020-12-09 06:45:00
    from MachineConfig objects at pivot time, and more generally building up the model that the host processes <code>MachineConfig, not just Ignition. <p>Right now what I've tested is just manually ...
  • <div><p>Adding multiple pivot tables to the same workbook was failing due to a number of minor bugs (as per this Stackoverflow question - ...ClosedXML/ClosedXML</p></div>
  • Sorting Pivot tables

    2020-12-02 09:02:19
    <div><p>Hey - would it be possible to extend this package for sorting relationships through pivot tables? I have a many-to-many relation through pivot, and need sorting to be there...</p><p>该提问来源...
  • 相信很多刚接触UGUI的开发者,对于这套系统中RectTransform里的position,anchor,pivot都或多或少有些不熟悉,不知道这些是干嘛用的,为此,本篇文章就给大家介绍下这几个概念,不过主要还是会以Anchor和Pivot为主...
  • PIVOT使用

    2017-07-12 17:02:00
    如果有表中的行转换为列的需求,用关键字:PIVOT select * from table pivot (sum(字段1) for 字段(2) in (字段2的值)) 别名 1.table可以是表名,也可是也查询结果集 2.字段1、字段2,包含在表中 3....
  • powerpivot 来自相同Excel文件的PowerPivot (PowerPivot from Identical Excel Files)You can use the PowerPivot add-in for Excel 2010 to create a report from multiple Excel workbooks or worksheets, by ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,010
精华内容 6,004
关键字:

pivot