问题标签 [pivot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 我怎样才能为此使用 SQL Pivot?
我有一个按以下方式组织的数据集:
其中 A0001 是项目 #1 的值 A,B0001 是项目 #1 的值 B。一个表可以有60多个不同的项目,每个项目有一个A值列和一个B值列,即表中总共有120多个列。
我想要得到的是一个 3 列结果(项目索引、A 值、B 值),它对每个项目的 A 和 B 值求和:
当我从列到行时,我希望解决方案中有一个支点,但我不确定如何充实它。部分问题是如何去除 A 和 B 以形成索引列的值。另一部分是我以前从未使用过 Pivot,所以我也对基本语法感到困惑。
我认为最终我需要有一个多步骤解决方案,首先将总和构建为:
然后修改 ColName 数据以去除索引:
最后自加入将 B 值向上移动到 A 值旁边。
要得到我想要的东西,这似乎是一个漫长的过程。因此,我正在寻求关于我是否走在正确道路上的建议,或者是否有另一种我已经忽略的方法可以让我的生活变得更加轻松。
注 1) 解决方案必须在 MSSQL 2005 上的 T-SQL 中。
注2) 表格的格式不能更改。
编辑我考虑过的另一种方法在每列上使用 UNION 和单独的 SUM():
但是这种方法看起来也不是很好
编辑 到目前为止,有两个很好的回应。但我想在查询中再添加两个条件:-)
1)我需要根据一系列时间戳(minv < timestamp < maxv)选择行。
2) 我还需要有条件地选择处理时间戳的 UDF 上的行
使用 Brettski 的表名,上述内容是否会转换为:
鉴于我有条件地添加了 fn() 要求,我认为我还需要按照 Jonathon 的建议走动态 SQL 路径。特别是因为我必须为 12 个不同的表构建相同的查询——所有表的样式都相同。
asp.net - 填充 Datagrid 和 Sql 查询
我在数据库中有 3 个表,如下所示。我想制作一份报告,就像下面显示的链接一样。如何使用 datagrid 或 datalist 做到这一点?哪个是最好的chois?我已经尝试了一个星期。
公司:ID_COMPANY,COMPANY_NAME
产品:ID_PRODUCT、PRODUCT_NAME
PRODUCT_SALE:ID_COMPANY、ID_PRODUCT、SALE_COUNT
更新:
在你的帮助下,我可以做到。但是现在我也有一个小问题。
当我使用枢轴编写查询时,产品名称成为列标题。如果产品名称的长度大于 30 个字符,Oracle 不接受它作为列标题。所以我已经裁剪并制作了 30 个字符的产品名称来解决这个问题。之后也出现了问题。
当我将产品名称裁剪为 30 个字符时,某些产品会变成相同的名称,并且出现“ORA-00918:列不明确定义”错误消息。
在这种情况下可以做什么?
sql - 如何在 MS Access 2007 或 MS SQL Server 2005 中通过 SQL 将字段转换为行
我有一个旧版 MS Access 2007 表,其中包含 52 个字段(一年中的每周 1 个字段)代表历史销售数据(实际上加上一个字段)。我想将此数据库转换为更传统的时间/值列表。
有谁知道如何在不使用 52+ 显式参数编写查询的情况下做到这一点?
(如果MS SQL Server 2005下存在解决方案,我也可以导出/导入表)
c# - 另一个 LINQ Pivot 问题 - 将 SQL 脚本转换为 LINQ
已经有一些关于 LINQ 枢轴的问题,虽然其中一些概述了我的确切问题,但我无法成功地将它们转化为有效的解决方案。我觉得这主要是由于我的表中的加入。
因此,为了所有热爱问题的 LINQ 爱好者的利益,这里有另一个难题供您解决。请通过将以下 SQL 存储的 proc 脚本转换为 LINQ 来帮助我(并赢得一些声誉积分和我的尊重):
sql - 在 Oracle 中使用数据透视表的建议
我需要一个报告,我应该为它使用数据透视表。报告将按类别分组。在声明时使用案例不好,因为有很多类别。你可以将 Northwind 数据库视为示例,所有类别将显示为列和报告将显示客户在类别中的偏好。我不知道另一种解决方案,并在 Internet 中看到了用于 Sql Server 的存储过程的示例。除了使用案例之外,你知道一个解决方案吗?
谢谢
sql - 将单个记录(行)显示为单个列
我正在寻找将单行数据显示为单列(多行)的方法。例如,
有没有办法用 SQL Server 2005 做到这一点?
sql-server - 在 MS SQL Server 2005 中使用 Pivot 转换时出错
我有下表,我正在旋转:
(ID、名称、值)
1, '任务 ID', 123
1、“语言”、“Java”
2, '任务 ID', 456
我已将 PivotKey 设置为 Name 列,并将 PivotedValue 设置为 Value 列。对于我的每个新列(任务 ID 和语言),我已将它们的 PivotKeyValue 分别设置为“任务 ID”和“语言”。我的包在上面的数据下运行良好,pivot 操作的结果是:
(ID、任务 ID、语言)
1, 123, '爪哇'
2, 456, 空
但是,当我在以下源数据上运行包时,我遇到了问题:
(ID、名称、值)
1、空、空
2、空、空
我得到的错误信息是:
[枢轴 [4511]] 错误:枢轴键值“(无法转换为字符串)”无效。[DTS.Pipeline] 错误:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。组件“Pivot”(4511) 上的 ProcessInput 方法失败,错误代码为 0xC0202090。已识别的组件从 ProcessInput 方法返回错误。该错误是特定于组件的,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
我认为这意味着数据透视操作无法处理 PivotKey 列“名称”中的 NULL 值,因为它尚未配置为处理该值。问题是我不知道该怎么做。如何检测和处理输出列的 PivotKeyValue 属性中的 NULL 值(“输入和输出属性”表单)?
谢谢你的时间。
xslt - 使用 XSLT 进行数据透视
我有一个这样的xml文件:
我想使用 XSLT 对其进行转换以获得类似:
换句话说,我得到一个项目列表,每个项目都有一个状态,我想把它变成一个状态列表,每个状态都有一个项目列表。
我最初的想法是依次应用匹配每个状态类型的模板,但这意味着我必须知道完整的状态列表。有更好的方法吗?
谢谢你的帮助。