問題タブ [cumulative-sum]

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.

0 投票する
1 に答える
3371 参照

sql - 永久加重平均コストの計算 SQL Server 2008

在庫の永久加重平均コストを計算したいと考えています。SQL での在庫平均原価計算のリンクの解決策を理解しようとしまし たが、取得できません。私にとっては複雑です。

これが私のデータベースの詳細です。

次の式を使用して、各購入後の加重平均コストを計算したい

何か提案はありますか?

0 投票する
1 に答える
2654 参照

clojure - 累積シーケンスを作成する方法は?

次のような遅延シーケンスがあるとします。

sここで、次のような一連の累積合計を生成したいと思います。

これどうやってするの?私が試したのはatom、合計を使用して累積することです(突然変異) これは累積シーケンスを生成する唯一の方法ですか、それともこれを行うためのより良い方法はありますか?

注: 上記の累積合計は一例です。ソース順序は、他の順序にすることができます。だから私は式を使用することはできません:s(n) = n(n+1)/2

0 投票する
6 に答える
2621 参照

c# - Linq AggregateまたはForEachを使用して、現在の合計のプロパティを更新する

整数プロパティを持つクラスがあります。チャート作成アプリケーションで使用されるそれらのリストがあります。他のすべてのクラス情報を保持しながら、このプロパティを累積合計として表示したいと思います。

このクラスをProgressMeasurementと呼び、プロパティはOutstandingItemsです。これを達成できる集計関数を使用する方法はありますか?

例えば:

bつまり、のOutstandingItems値を現在の現在の合計になるように更新したいと思います。

乾杯

0 投票する
2 に答える
318 参照

reporting-services - SSRS レポート グループの冗長な値を削除する

次のデータセットを使用して SSRS レポートを作成しています。「期間」のフィルターがあります。複数選択フィルターです。データは「アカウント」フィールドごとにグループ化されます。各グループの合計費用を表示する必要があります (これは簡単でした)。同じグループ レベルで「予算」も表示する必要があります。問題は、予算データが重複していることです。以下を参照してください。

最初のグループ (Account=100 AND Period=201301) の場合、Sum([Budget])200 が生成されますが、これは正しくありません。ユーザーがフィルターから期間を 1 つだけ選択した場合に役立つ Average 関数を使用できます。複数の値を選択した場合 (例: 201301,201302)、平均は (100+100+150+150)/4=125 になります。これは、100+150=250 でなければならないため、正しくありません。返されたデータセットのすべての行を平均したくありません。

では、これを実現する式をどのように記述すればよいでしょうか。汚い回避策は、予算列の冗長な値を削除して、Sum([Budget])重複を心配せずに安全に使用できるようにすることです。更新されたデータセットは次のようになります。

どちらのアプローチについてもアドバイスをお願いします。ありがとうございました。

0 投票する
1 に答える
584 参照

macos - CUDA での実行ごとに異なる結果

次はcudaでプログラミングしています:

  1. 画像値 (d_Data) を含むマトリックスを取得します
  2. 行列を共有メモリ (タイル) にコピーします
  3. 基本的なピクセル差 (pixel(i)-pixel(i+1)) (d_diff) を取得します
  4. 差分が特定の値、たとえば 0 の場合、行列 (d_A) の d_diff で数値 0 が見つかった各位置に数値 1 が設定されます。これは、元の差分行列で 0 の頻度を取得できるようにするためです。
  5. 並列累積合計。
  6. 周波数結果は周波数ベクトルに移動します。

順を追って確認すると、すべてが累積合計まで期待どおりに進んでいます。コードを起動すると、ソフトウェアで計算された値は 104347 ですが、CUDA から nan の結果が得られることもあれば、2425 などの任意の数値が得られることもあります。非常に奇妙なのは、カーネルを 20 回または 30 回実行し続けると、値が次のようになることです。予想される 104347 :S.

私は各マトリックスに使用しています:

そのため、十分な回数実行するとコードが正しい結果に近づく理由がわかりません。ちなみに、正しい値になると、何度コードを実行しても動かなくなります。

コード:

どんなアイデアでも大歓迎です:D

0 投票する
5 に答える
1323 参照

sql - 一時テーブルを使用せずに並べ替えて、現在の合計を同じ列に適用する

私のテーブルの表現:

テーブルを並べ替えて、現在の合計が X 以下のすべてのレコードを選択する必要がSalesありSaleAmountますSaleAmount

これを行うために、現在、一時テーブルを使用して最初にレコードを並べ替え、次に現在の合計が X 以下 (この例では 10) のレコードを選択しています。

Sales一時テーブルを使用せずにテーブルを最初に並べ替える方法はありますか?

0 投票する
2 に答える
587 参照

r - 連続する日付エントリを選択

私は質問を更新しました.a)最初の試みで質問を明確に表現しなかったため、b)正確な必要性も多少変化しました.

特に Hemmo にはこれまで多大な助けをいただいたことに感謝したいと思います。また、私の質問を彼に十分に明確に説明できなかったことをお詫びします。彼のコード (以前のバージョンの問題に対処したもの) は、回答セクションに示されています。

大まかに言えば、さまざまな個人の連続した自由時間のさまざまなブロックを識別して区別するのに役立つコードを探しています。より具体的には、コードは理想的には次のようになります。

  • アクティビティに「無料」のラベルが付いているかどうかを確認する
  • 同じ人が連続して何週間 (前の週、後) に費やした時間が「無料」と表示されているかを確認します。
  • 「無料」とラベル付けされたその人の連続した週のブロック全体に、望ましい結果の列に指標を付けます。期間の長さ (例: 1 連続週、4 連続週、8 連続週) はさまざまであることに注意してください。
  • 最後に、これらのクラスターの特性をさらに分析する必要があるため、異なるブロックは異なるインジケーターを受け取る必要があります。(たとえば、ポールの行進ブロックの値は 1、5 月のブロックの値は 2、3 月のキムのブロックの値は 3 になります)

データフレームの例を見ると、これがより明確になることを願っています(目的の最終列を参照してください)

以下に従って、テストデータフレームのコードを作成してください。

よろしくお願いします。

W

例 (最後の列はコードによって生成される必要があることに注意してください。純粋に説明として含まれています):

データフレームのコード:

0 投票する
1 に答える
678 参照

sql - SQLWHILEステートメントエラー「列プレフィックスがクエリで使用されているテーブル名またはエイリアス名と一致しません」

以下のSQLステートメントを実行しようとしていますが、以下のメッセージが表示されます

列プレフィックス'timInvtTran'が、クエリで使用されているテーブル名またはエイリアス名と一致しません。

基本的に私がやろうとしているのは、各在庫トランザクションの後に結果の手持ち数量(QOH)を取得することです。これに対する仮定は、TranQtyを合計すると、結果のQOHが得られるということです。データをループして、TranQtyの現在の合計を追加しようとしています。これは、定義上、QOHになります。QOH変数に@currQOHという名前を付けました。

問題がSETステートメントに起因していることはわかっていますが、なぜ発生しているのか理解できません。

ちなみに、TranQtyの現在の合計を取得するための正しい道を進んでいますか?DBに書き込みたくないので、現在の合計に対して新しいテーブルを作成したくありません。私は高低を調べましたが、何も見つかりませんでした。

少しでも助けていただければ幸いです。

ところで、ハッピーPIデー!

0 投票する
3 に答える
479 参照

mysql - 人の連続発生数のカウント-SQL

私は次のようなテーブルを持っています:

各ポイントで各人のイベントが表示された回数をカウントしたいと思います。例:

SQLではこれができないと思いますか?そうでない場合は、私がこれに慣れていないので、SASでこれを行う方法(または適切な方法)を非常に明確にできますか?

(参考までに、これにより、各イベントの前後に発生する行を区別できるようになります。つまり、イベント=空白でフィルター処理し、最初のイベントの前に0が発生し、その後に1が発生するなどです。もっと簡単な方法があるかもしれません。これを行う。)

ありがとう!

0 投票する
1 に答える
3848 参照

database - Access 2010 - 複数のレコードの現在の合計を表示するクエリ、古いレコードを削除し、各行に新しいレコードを追加する

各給与期間に各従業員が使用した時間を追跡する Access データベースがあります。

従業員ごとに過去 26 の支払期間から計算して、過去 25 の支払期間の合計を確認できるクエリが必要です。これは基本的に、26 支払期間 (またはそれ以上) 古いレコードを行ごとに無視する必要があるローリング合計です。私は 5 年分の記録を持っていますが、残念ながらそれらをすべて保持する必要があります。各従業員の 26 年間の支払期間の現在の合計が、1 時間で使用された時間と一緒に確認できることは非常に重要です。特定の支払い期間。

基本的に、各従業員の合計51レコードを見ています。ただし、クエリが実際に表示する最初の支払い期間は26支払い期間前です。その支払い期間に発生したものに、前の 25 を加えたものに基づいて現在の合計が表示されます。

テーブル:
HoursIDEmployeeIDPayPeriodIDHoursUsed
PayPeriodIDPayPeriodEndDate

クエリ結果 (既に動作中):
EmployeeIDTotalOfHoursUsedLast26PP (このクエリは、カウントバックする日付を要求します)

必要なクエリ結果:
EmployeeIDPayPeriodIDHoursUsed、[この PP の直前の 25 PP に基づく総使用時間]

私は DSum をいじっていますが、必要な PP を一度に 1 人の従業員に対して、各給与期間ごとに個別に数えて、最後の 26 PPのみをカウントする方法がわかりません。

明確にするために: 2009 年か何かの 26 の支払い期間について、このクエリを振り返って実行できるようにする必要があります。Excel では、1 人の従業員に対して、次のようなことを行いました。

Line32_HoursUsedLast26PP = Line32_HoursUsedThisPP + Line31_HoursUsedLast26PP - Line4_HoursUsedThisPP

結果は次のようになります。

2011-5 - 338.8
2011-6 - 398.5
2011-7 - 428.7
2011-8 - 442.5 2011-9
- 451
2011-10 - 451
2011-11 - 451
2011-12 - 451
2011-13 - 451 4 - 2011-11 2011-15 - 451 2011-16 - 452.4 2011-17 - 453.1 2011-18 - 454.3 2011-19 - 454.3 2011-20 - 455 2011-21 - 456.1 2011-22 - 460.2 2011-22 - 14 48 2011-25 - 480 2011-26 - 480 2012-01 - 453.2 2012-02 - 381.2 2012-03 - 301.2 2012-04 - 221.2 2012-05 - 141.2 2012-06 - 81.5



















2012-07 - 51.3
2012-08 - 37.5
2012-09 - 29
2012-10 - 29
2012-11 - 29
2012-12 - 29
2012-13 - 29
2012-14 - 29 2012-15 -
29
2012-16 - 27.6
2012-17 - 26.9
2012-18 - 25.7
2012-19 - 25.7
2012-20 - 25
2012-21 - 23.9
2012-22 - 19.8
2012-23 - 0

ご覧のとおり、現在の合計は上下ます。

これは、「過去 26 の支払い期間の合計時間を検索する」クエリの実際のコードです。認定などに関する問題は、特定の給与期間において、従業員が複数の認定の下で記録された時間を持っている可能性があるためです。

明確でない場合、このクエリは Last_26_PP_From_Today と呼ばれる別のクエリに依存します。

また、特定の日付から過去 26 の支払い期間を検索するように切り替えるクエリもあります。

私が絶望的に​​思いついた力ずくの方法は、一連の Make Table クエリのカスケードを伴うものでした。そのとき、誰かがもっとクリーンなものを提供してくれるかもしれないと判断したのです。

アップデート

Gord のおかげで、支払い期間の数字が表示されないことを除いて、すべてが機能するようになりました。

それは私を得る: