データベースにレポート/ビューとして保存されている在庫台帳を使用しています。エクスポートすると、次のようになります。
Tran Type Txn Date Item Quantity
Opening Balance 6/30/12 Item1 4
Opening Balance 6/30/12 Item2 7
Shipping 7/14/12 Item2 -1
Opening Balance 6/30/12 Item3 3
Shipping 7/2/12 Item3 -1
Opening Balance 6/30/12 Item4 5
Shipping 7/3/12 Item4 -1
Shipping 7/3/12 Item4 -1
Shipping 7/3/12 Item4 -1
Shipping 7/5/12 Item4 -1
Shipping 7/5/12 Item4 -1
Receiving 7/9/12 Item4 10
エクスポート前には、エクスポート期間に基づいて生成された「期首残高」エントリは含まれていません。
各アイテムが一定期間内に在庫切れになった日数を追跡しようとしています。これの最初の段階は、アイテムごとに累計を作成することです。これは、以前は Excel のピボット テーブルを使用して行っていました。そこから、各アイテムの在庫数が 0 である日数 (月、四半期、または年に基づく) を柔軟かつ動的にカウントする必要があります。当初、私はこの数をピボット テーブルでも考慮したいと考えていたので、そのためにスーパーユーザーの助けを借りました。 残念ながら、この種の作業を Excel で行うのは直感に反するように思われるため、ここで問題を取り上げます。
私は Access と SQL Server の初心者の経験しかありません。私は、Oracle と PL/SQL の簡単な正式なトレーニングを受けましたが、それは何年も前のことです。これに別の複雑さを追加する可能性があります。システムのバックエンドに何かを書き込んだり、永続的に保存したりすることはできません (アクセス許可があります)。
これまでのところ、項目ごとの累計を作成する T-SQL ステートメントしかわかりませんでした。
Select
TxnDate,
Quantity,
Item,
(SELECT Sum(Quantity)
FROM DATABASE.dbo.InventoryLedger as D1
WHERE D1.TxnDate <= D0.TxnDate AND D1.Item = D0.Item) as balance
FROM DATABASE.dbo.InventoryLedger as D0
where Item = 'Item4' and TxnDate >= 2012-07-01
この後迷ってます。なんらかのカウントを行うべきなのか、それともアイテムが 0 数量に達してから後で再び受領されるまでの日付を差し引く方法を見つけるべきなのかがわかりません。既に計算された残高列に基づいて別の集計列または計算列を追加する方法がわかりません。また、同じデータの Access ファイルで機能するようにこのクエリを変換する方法もわかりません。Access または T-SQL 形式のソリューションを受け入れます。T-SQL を実際に学習したいと思っていますが、Access でカウントを実行できるようになれば、データベースをリンクして直属の部下を作成しやすくなります。
また、毎日すべてのアイテムの在庫レベルを簡単に照会できる方法があるかどうかも知りたいです。これは、まったく同じデータを使用して計算されるだけなので、おそらく時間とスペースの無駄ですよね?
皆さん、助けていただければ幸いです。私は何ヶ月もの間、在庫切れを測定するための解決策を考え出そうとしてきましたが、これは私が行った中で最も近いものです. ありがとう。