我有来自查询的数据。我最初用SQL过滤了数据,但我不确定我的老板是否希望我在SQL中能够做到这一点。根据Excel中的计算过滤数据
我想吻合在列C中的值,如果“LOAD_BEER”是在列D
由人(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。
的什么,我试图做的是(人工计算)
史蒂文斯与他在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语法并让Excel获取这些值。您的设计将在Excel和DB中完成。关于你的价值观转移到不同的标签,你可能需要编写你自己的程序。 – Isaiah3015
你可以使用你提到的两种方法来做到这一点。我会去SQL解决方案,如果查询返回任何记录,然后我会打印在一个新的工作表。最好在Excel VBA中编写代码,然后让它实际运行两个查询。您将收到包含此报告的信息,以及是否有任何记录的简短报告。 – Ibo
可能吗?这很容易 - 但为什么MySQL标签? – Strawberry