我知道如何在mysql中创建一个数据透视表(参见下面的代码示例),但是如果数据透视表中的列数非常大并且我不想输入2000左右的标记名怎么办? - 有没有办法生成该列表?提前谢谢了.
drop table pivot;
create table pivot SELECT time,
max(if(tagname = 'a', value, null)) AS 'a',
max(if(tagname = 'b', value, null)) AS 'b',
max(if(tagname = 'c', value, null)) AS 'c'
FROM test where tagname in ('a','b','c')
GROUP BY time;
select * from pivot;
Run Code Online (Sandbox Code Playgroud) 我有一个2列电子表格,其中包含日期和销售数据,如下所示:

在做右键- >设置单元格格式的价值观日期栏正确显示的日期(以M/D/YYYY格式).这适用于除标题之外的所有日期单元格(我使用Ctrl + Shirt + Down检查).
但是,当我从2列创建数据透视表时,日期被识别为文本并相应地进行排序(即按月分类,然后按天分类,然后按年分类),这会弄乱我的数据:

我定期用这种类型的数据创建数据透视表,之前从未遇到过这个问题,我真的不知道那里有什么问题.
在创建数据透视表时,如何强制将日期值识别为?
PS:我上传的pivot_table_date_porder_issue.xlsx文件显示了谁想要看到它的问题.
JOB ENAME
-------- ----------
ANALYST SCOTT
ANALYST FORD
CLERK SMITH
CLERK ADAMS
CLERK MILLER
CLERK JAMES
MANAGER JONES
MANAGER CLARK
MANAGER BLAKE
PRESIDENT KING
SALESMAN ALLEN
SALESMAN MARTIN
SALESMAN TURNER
SALESMAN WARD
Run Code Online (Sandbox Code Playgroud)
我想格式化结果集,以便每个作业都有自己的列:
CLERKS ANALYSTS MGRS PREZ SALES
------ -------- ----- ---- ------
MILLER FORD CLARK KING TURNER
JAMES SCOTT BLAKE MARTIN
ADAMS JONES WARD
SMITH
Run Code Online (Sandbox Code Playgroud)
我试过了
SELECT ANALYST, CLERK, MANAGER, PRESIDENT, SALESMAN from
(
SELECT ename, job from emp
) as st
pivot
(
SELECT ename
FOR job in …Run Code Online (Sandbox Code Playgroud) 最近我学习了如何使用VBA在Excel中自动创建数据透视表,并且该Excel.Range.Group()方法的实现让我感到奇怪.第四个参数Periods采用7个元素的布尔值数组来指示分组是按秒,分钟,小时,天,月,季度还是年.通常情况下,您可以通过使用一种Enum类型来完成这样的事情,该类型的成员可以Or一起表示已打开一个或多个选项 - 该MsgBox函数就是一个很好的例子.
例如,我原本期望使用更像这样......
MyPivotTable.DataRange.Cells(1).Group Periods:=vbGroupPeriods.Days Or _
vbGroupPeriods.Months
Run Code Online (Sandbox Code Playgroud)
代替...
MyPivotTable.DataRange.Cells(1).Group Periods:=Array(False, False, False, _
True, True, False, False)
Run Code Online (Sandbox Code Playgroud)
我环顾四周试图理解为什么用它来完成Array,但迄今为止空手而归.所以,我的问题是为什么这样做?我有没有看到一些限制?这是个人的个人选择吗?还是只是一个谜?不要试图抱怨,只是想了解.
我有两张桌子要结合.第一个表是客户端,另一个是产品.目前我有22个产品,但我希望有一个灵活的数据库设计,所以在产品数据库中没有22列,每个客户每个产品有1行,所以如果我添加或删除1个产品,我不会必须改变数据库结构.
我想要一个select语句,我为每个客户选择所有产品,输出应该在一行中,每个产品都有一列.
我已经看到了一些类似的其他问题,但目标是将所有行连接在一列中 - 这是我不想要的.
假设有2个客户和3个产品.
表客户端:
ClientId | ClientName
---------------------
1 | Name1
2 | Name2
Run Code Online (Sandbox Code Playgroud)
表产品
ProductId | ClientId | Product
-------------------------------------
1 | 1 | SomeproductA
2 | 1 | SomeproductB
3 | 1 | SomeproductA
4 | 2 | SomeproductC
5 | 2 | SomeproductD
6 | 2 | SomeproductA
Run Code Online (Sandbox Code Playgroud)
输出应该是这样的:
表输出:
ClientId | ClientName | Product1 | Product 2 | Product 3
-------------------------------------------------------------------
1 | Name1 | SomeproductA | SomeproductB | SomeproductA
2 | Name2 …Run Code Online (Sandbox Code Playgroud) 我目前正致力于Excel的自动化,并添加了这样我已经很好地利用了Apache POI库.
由于我在excel工作簿中存储了大量数据,因此我正在尝试创建数据透视表.
有没有办法使用POI创建数据透视表?
我的要求是我需要在新的Excel工作簿或我存储数据的同一工作簿中创建数据透视表.
我已经计算了一周中的一系列总计提示,并将其附加到totalspt数据框的底部.
我已将数据框设置index.name为totalspt无.
但是,当数据帧显示默认的0,1,2,3索引时,它不会在索引正上方的左上角显示默认的空单元格.
我怎么能在数据帧中使这个单元格为空?
total_bill tip sex smoker day time size tip_pct
0 16.54 1.01 F N Sun D 2 0.061884
1 12.54 1.40 F N Mon D 2 0.111643
2 10.34 3.50 M Y Tue L 4 0.338491
3 20.25 2.50 M Y Wed D 2 0.123457
4 16.54 1.01 M Y Thu D 1 0.061064
5 12.54 1.40 F N Fri L 2 0.111643
6 10.34 3.50 F Y Sat D 3 …Run Code Online (Sandbox Code Playgroud) 我最近开始使用Laravel4.在多个关系的情况下,我在更新数据透视表数据时遇到一些问题.
情况是:我有两个表:Product,ProductType.它们之间的关系是多对多的.我的模特是
class Product extends Eloquent {
protected $table = 'products';
protected $primaryKey = 'prd_id';
public function tags() {
return $this->belongsToMany('Tag', 'prd_tags', 'prta_prd_id', 'prta_tag_id');
}
}
class Tag extends Eloquent {
protected $table = 'tags';
protected $primaryKey = 'tag_id';
public function products()
{
return $this->belongsToMany('Product', 'prd_tags', 'prta_prd_id', 'prta_tag_id');
}
}
Run Code Online (Sandbox Code Playgroud)
在将数据插入数据透视表prd_tags时,我做了:
$product->tags()->attach($tag->tagID);
Run Code Online (Sandbox Code Playgroud)
但是现在我想更新此数据透视表中的数据,将数据更新到数据透视表的最佳方法是什么.比方说,我想删除一些标签并为特定产品添加新标签.
我正在寻找Python/Pandas的提示,将二维表反转为一维列表.
我通常利用Excel函数来完成它,但我相信有一种聪明的Python方法可以做到这一点.
步

Excel方式的更多细节:http: //www.extendoffice.com/documents/excel/2461-excel-reverse-pivot-table.html
如何在 Google 表格中获取数据透视表,其中的列显示某个值在列中出现的次数?
我知道可以使用该countif函数来完成,但我想使用数据透视表来完成。
pivot-table ×10
excel ×2
mysql ×2
pandas ×2
python ×2
sql ×2
sql-server ×2
apache-poi ×1
arrays ×1
count ×1
dataframe ×1
date ×1
eloquent ×1
excel-vba ×1
formatting ×1
grouping ×1
indexing ×1
java ×1
laravel ×1
laravel-4 ×1
many-to-many ×1
pivot ×1
vba ×1