Tag: sql

在Excel中基于计算过滤数据

我有来自查询的数据。 我最初用SQL过滤了数据,但是我不确定我的老板是否希望我在SQL中可以做到这一点。 如果“LOAD_BEER”在列D中,我想计算列C中的值。 按人员(F列)和日(E列)分组数据。 然后,把每个人的计数,除以C列中所有那个人当天的价值之和。 如果该值大于0.8,则取出该人当天的所有数据,并将其移至新的表格中。 以下是我正在使用的数据的示例: 这是我正在使用的SQL: SELECT TALLY_TRAN_MSTR.LOGON_ID, SUM(TALLY_TRAN_MSTR.FULL_PLLT_QTY), TALLY_TRAN_MSTR.SHIFT_DT,TALLY_TRAN_MSTR.SHIFT_NBR FROM WBR_RW.TALLY_TRAN_MSTR WHERE (TALLY_TRAN_MSTR.PRI_GRP_CD='LOAD_BEER') GROUP BY TALLY_TRAN_MSTR.LOGON_ID, TALLY_TRAN_MSTR.SHIFT_DT, TALLY_TRAN_MSTR.SHIFT_NBR SQL显示任何具有“LOAD_BEER”的数据,但它不会将所有数据分开,并查看它是否大于0.8。 我想要做的一个例子是(手动计算) Stevens在2017年6月15日有7个与他的名字相关的项目。 其中3个是“LOAD_BEER”。 LOAD_BEER的总和为165.所有7个项目的总和为181. 165/181 = 0.91。 0.91> 0.80,所以我想把所有的7个数据点移到一个新的位置,无论是在新的标签上还是我目前所用的标签上的其他位置。 我的问题是: 我正在尝试在SQL中做什么? 1.5。 如果是这样,我怎么能做出一个公式? 这会在VBA中更容易吗? 2.5。 如果是的话,那将是一个好的开始?

使用SQL过滤来自查询的数据

我真的遇到了我正在使用的这个SQL代码的问题。 我一直在这个,但没有真正得到答案。 我试图使这个代码适应我正在尝试做的事情,但我不断得到下面抓取的错误消息屏幕的屏幕截图。 SELECT LoginID, ShiftNumber, PalletQTY, Group, ShiftDate FROM Database COUNT(PalletQTY) AS TotalCount SUM(IF(Group='PUT',1,0)) AS ActiveCount, ROUND((SUM(IF(TALLY_TRAN_MSTR.PRI_GRP_CD='PUT',1,0))*100/COUNT(TALLY_TRAN_MSTR.FULL_PLLT_QTY)),2) AS PctActive FROM WBR_RW.TALLY_TRAN_MSTR TALLY_TRAN_MSTR 现在,每个date都有许多date和许多名字,所以我想让代码认识到这一点。 我不知道我正在尝试适应的代码是否能够做到这一点。 在这个问题上,我非常努力的工作,或者find可能有用的代码。 任何帮助,将不胜感激。 让我知道是否需要额外的信息。 编辑 我正在尝试查看一个人在超过75%的时间内在某个特定date做“PUT”的情况。 我想要做的一个例子是(手动计算) McMillan有3件与他的名字6/15/2017相关的项目。 其中1个是“PUT”。 这个date的“PUT”项目的总数是132.与他的名字相关的所有事情的总和是167。132/167 = 0.79。 0.79> 0.75所以我想他的数据显示在我的查询结果。 马龙在6/15/2017有4个与他的名字相关的项目。 其中1个是“PUT”。 “PUT”的总和是4.所有4个项目的总和是36.4 / 36 = 0.11 0.11 <0.75,所以我想摆脱这个数据。

Excel SQL数据types不匹配

我有这个查询 SELECT * FROM [RawData$] WHERE 'Temperature[°C]' <= 100 但在执行中,我得到这个错误: 标准expression式中的数据types不匹配。 这个列中的数据是100%的整数,所以我猜这是没有问题的。 此外这工作正常: SELECT * FROM [RawData$] WHERE 'Temperature[°C]' 我也试过这个,但是我根本得不到任何价值: SELECT * FROM [RawData$] WHERE 'Temperature[°C]' <= '100' 其实最后的问题是: 我需要什么查询来search一个名字是:温度[°C] [Temperature[°C]] [Temperature[[]°C]] 不工作。

PSExcel Export-XLSX添加额外的列

一个月一次,我运行一个PS脚本将一些客户端数据从MSSQL数据库导出到Excel电子表格。 我对这个月的查询做了一些很大的调整,返回的数据没有问题(当我在Management Studio中运行时),而且当我运行创buildExcel文件的PS脚本时,它也运行正常。 问题是,当我去打开Excel文件,有一个错误消息说明 我们发现file.xlsx中的一些内容有问题。 你想让我们尽可能地恢复吗? 如果您信任该工作簿的来源,请单击是。 我点击是,然后打开文件修复报告说,它修复了/xl/tables/table1.xml的表。 我需要的所有数据都在那里,所以我不太在意(尽pipe我想修复它)。 我的问题是,除了我在查询中指定的列,还有五个额外的列: RowError 的RowState 表 ItemArray HasErrors 如何阻止这些出现在我的Excel文件中? 我的PS脚本包括: # — START SETUP $myWindowsID=[System.Security.Principal.WindowsIdentity]::GetCurrent() $myWindowsPrincipal=new-object System.Security.Principal.WindowsPrincipal($myWindowsID) $adminRole=[System.Security.Principal.WindowsBuiltInRole]::Administrator if ($myWindowsPrincipal.IsInRole($adminRole)) { $Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Elevated)" $Host.UI.RawUI.BackgroundColor = "DarkBlue" clear-host } else { $newProcess = new-object System.Diagnostics.ProcessStartInfo "PowerShell"; $newProcess.Arguments = $myInvocation.MyCommand.Definition; $newProcess.Verb = "runas"; [System.Diagnostics.Process]::Start($newProcess); exit } Import-Module […]

如何在第二个查询中使用第一个查询的结果?

我有成千上万的篮子,每个篮子都有自己独特的ID。 数以百万计的球,每个都有自己独特的ID填充这些篮子。 其中一些球是红色的。 我的数据库有三百万条logging,包括三个字段,basketID,ballID和球颜色。 我需要返回篮球中有红球的所有BallID。 在[Ballcolor] =“RED”的时候,我在最近几个小时就想出了足够的查询来返回BasketID。 现在我卡住了。 我需要包含在该结果中的任何basketID的所有logging。 我第一次使用Access,因为我刚刚意识到Excel只能处理一百万行,不过我写了一系列的macros和帮助列来解决它。 一般的策略将起作用,我可以在后面找出语法。 最糟糕的情况是,我可以在Excel中一次性“清理”一百万条logging,然后将它们导入到Access中,但这将需要几乎所有的夜晚,我不期待。

VBA ADO更新查询

我正在尝试创build一个链接到“服务器”主excel文件的dynamic客户端excel文件。 目标是保持每个文件中的所有数据更新。 基本上,当客户端文件打开时,我有一个来自主文件的更新,然后我想根据客户端文件中所做的每个更改来更新主文件。 我可以很容易地使用SELECT获取数据,但更新查询将无法正常工作。 这是代码的一部分: Option Explicit Private Type FichierSource 'Objet Fichier source. Path As String SourceSheet As String TargetSheet As String Columns As String Filter As String Name As String End Type Sub GetFiles() 'Take !M sheet to create files and their informations Dim Base As FichierSource '—————————- 'Create files object '—————————- 'Fichier Source […]

在Excel中的外部数据查询之后的SQL

我inheritance了一个包含外部数据查询的Excel电子表格。 我可以编辑查询,它提供了返回的列的列表,但它提供了这个数据来自的表。 有什么办法来检索查询后面的实际SQL?

如何在使用SQL(ADO)将Excel拉入C#时排除空行而不排除空单元格?

我有一个像这样的查询: SELECT * FROM OPENROWSET('MSDASQL','Driver = {Microsoft Excel Driver(* .xls)}; DBQ = D:\ test.xls','SELECT * FROM Sheet1 $''') 这将返回行,如果他们曾经编辑,然后删除,这些行都是空的。 我想排除这些,但仍然包括具有良好的数据,但可能的空单元格的行。 我的第一本能是做一个“WHERE每列不是NULL”并列在一起,就像这样: SELECT * FROM OPENROWSET('MSDASQL','Driver = {Microsoft Excel Driver(* .xls)}; DBQ = D:\ test.xls','SELECT * FROM Sheet1 $''') 哪里 ( Col1不是NULL 而Col2不是NULL 而Col3不是NULL 和Col4不是NULL ) 这有效地消除了空行,但由于某种原因,也消除了Col4有空条目的行。 我在WHERE子句周围尝试了这个方法。 有没有人看到我可能做错了,或者取而代之,有一个不同的方法,我可以用来实现相同的结果的build议? 这是目前正在使用ADO的C#实现,但我正在testing查询使用Sql Server Management Studio 2008。

WHERE IN查询Access VBA中的两个logging集

我的第一篇文章,所以我希望这是正确的领域。 我目前正在试图比较两个logging集,其中之一来自Excel命名的范围,另一个来自Access数据库中的表。 每个代码是: Set existingUserIDs = db.OpenRecordset("SELECT Username FROM UserData") Set IDsToImport = exceldb.OpenRecordset("SELECT Username FROM Named_Range") 问题是,我想以某种方式比较这两个logging集,没有循环(有大量的logging)。 有什么办法在这些logging集上进行连接或类似的操作吗? 创buildlogging集之前,我不能进行连接,因为一个来自Excel,另一个来自Access,所以它们是两个不同的DAO数据库。 最终目标是我将只select在导入表中不存在的用户名(因此在SQL查询中,它将是NOT IN(table))。 感谢您的帮助,您可以借出! 问候,砖头。

SQL Server 2005从Excel导入

我想知道什么是我最好的select是从Excel文件导入数据每周或每月的基础上。 起初,我以为我会用SSIS,但经过与看似简单的任务斗争,我开始重新思考我的计划。 只需手工编写SQL或使用SSIS包的服务,会更好还是更简单? 基本过程如下: 一个单独的进程将下载.xls文件到本地文件共享。 xls文件将具有如下的文件名:'myfilename MON YY'。 我将需要从文件名读取月份和年份,将其重新格式化为sqldate,然后查询DimDate表以find相应的date键。 对于每一行(在前两个标题行之后),使用date键插入数据,除非该行是总行,则忽略。 以下是我遇到的一些SSIS问题:我可以从平面文件数据源parsingdatestring,但似乎无法使用Excel数据源。 此外,一旦parsing,我似乎无法将string转换为date,以执行date键的查找。 例如,我想要做这样的事情: 从DimDate中selectDateKey,其中ActualDate = convert(datetime,'01 – '+'JAN-10',120) 但我不认为有可能在expression式生成器中使用“convert”或“datetime”关键字。 我也一直无法find我可以编辑的SQL,忽略前两行数据。 我对使用SSIS非常怀疑,因为它似乎是一种可以更有效地完成自己编写SQL的事情,但是我可能会被迫使用SSIS。 思考?