データシートがExcelにあり、ExcelからExcel接続を使用して情報を取得したいと考えています。私はこの作業を達成するために3つのクエリーを書いており、もう少し書く予定です。データは次のようになります。 ExcelでこれらのSQLクエリを組み合わせる方法
少し説明しましょう。 Order No
はジョブの作業順序です。 Resource Id
は、実際にはマシンの一意の番号です。 Duru Kodu
は、Bitim Zamani
(終了時刻)とBasl Zamani
(開始時刻)の間の停止の理由を説明するコードです。 Qty
は生産量です。
私はEM22だけのデータを示しましたが、さらに多くのマシンがあります。
ストップコードは、実際には2つに分かれており、計画されているものと計画されていないものがあります。計画のコードはD00 D10 D11
です。 D01からD30までの他のコードは、計画外の停止です。
特定のリソースIDの計画停止、計画外停止、数量を合計し、それらをグループ化する必要があります。
一度にすべての処理を実行することはできませんでしたが、 。計画外の停止を得るための最初のもの。 2番目は計画停止のためのもので、最後のものは数量のためのものです。
'Specified Machine Number(EM22)
makine = Sheets("Dashboard").Cells(2, 11).Value
'Unplanned
sorgu1 = "select [Resource Id], [Order No], Sum(([Bitim Zamani]-[Basl Zamani])*1440) as Sure"
sorgu1 = sorgu1 + " from [Data$] where [Resource Id] = " + "'" + makine + "'"
sorgu1 = sorgu1 + " AND "
sorgu1 = sorgu1 + "([Duru Kodu] = 'D01' OR [Duru Kodu] = 'D02' OR [Duru Kodu] = 'D03' OR [Duru Kodu] = 'D04' OR [Duru Kodu] = 'D05' OR [Duru Kodu] = 'D06' OR [Duru Kodu] = 'D07' OR [Duru Kodu] = 'D08' OR [Duru Kodu] = 'D09' OR [Duru Kodu] = 'D12' OR [Duru Kodu] = 'D13' OR [Duru Kodu] = 'D14' OR [Duru Kodu] = 'D15' OR [Duru Kodu] = 'D16' OR [Duru Kodu] = 'D17' OR [Duru Kodu] = 'D18' OR [Duru Kodu] = 'D19' OR [Duru Kodu] = 'D20' OR [Duru Kodu] = 'D21' OR [Duru Kodu] = 'D22' OR [Duru Kodu] = 'D23' OR [Duru Kodu] = 'D24' OR [Duru Kodu] = 'D25' OR [Duru Kodu] = 'D26' OR [Duru Kodu] = 'D27' OR [Duru Kodu] = 'D28' OR [Duru Kodu] = 'D29' OR [Duru Kodu] = 'D30')"
sorgu1 = sorgu1 + "GROUP BY [Resource Id], [Order No]"
'Planned
sorgu2 = "SELECT Sum(([Bitim Zamani]-[Basl Zamani])*1440) as Surem from [Data$] where [Resource Id] = " + "'" + makine + "'" + " AND "
sorgu2 = sorgu2 + "([Duru Kodu] = 'D00' OR [Duru Kodu] = 'D10' OR [Duru Kodu] = 'D11') "
sorgu2 = sorgu2 + "GROUP BY [Resource Id], [Order No]"
'Quantity
sorgu3 = "SELECT Sum([Qty]) as Uretim from [Data$] where [Resource Id] =" + "'" + makine + "'" + " group by [Resource Id],[Order No]"
ここでの主な問題は、これらのクエリを結合する方法があるかどうかということです。
また、以下に示す別の問題があります。 黄色い部分のようになります。
しかし、結果は、SQLクエリによって生成されるグレー部分にある合計が0
私はこれをMacで動作させる方法を見つけるとすぐにこれを試します。 –
2番目の合計機能を変更できますか?あなたは条件を等しいと書きました。そのうちの1つはD01〜D30である必要があります。あなたはそれを指示するだけで十分です。それが働いています。ありがとう。 :) –
@alisrn - 第2の和関数は、第1の関数がゼロを掛けている場合には1440を掛け、その逆も同様である。したがって、「Duru Kodu」の価値に応じて、2つの合計の1つだけが各レコードに追加されます。 – YowE3K