問題タブ [analytic-functions]

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 に答える
187 参照

r - 将来の統計プログラムのためにデータを準備するにはどうすればよいですか?

私は現在、調査システムを設計しています(調査には多くの質問があり、質問には多くの回答があり、回答はユーザー、調査、質問と回答に属します)。

ユーザーモデルには多くの人口統計データがあり、さまざまな質問などに対する数十万の回答が期待されます。

最終的には、たとえば、応答を分析する必要があります。男性の80%はバナナが好きで、女性の20%はフォードなどを所有しています。

R、SAS、SPSSなどの統計言語を調べていますが、これらのプログラムで使用するために、データを特定の方法で構造化する必要があるかどうか疑問に思っていますか?それとも、それらはすべてcsvファイルを受け入れますか?

統計データとそのデータモデルの構築に関して、何かアドバイスはありますか?

最後に、SAS、SPSS、およびStataのコストはいくらですか?

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

sql - 他の日のデータを特定の日のデータで割る

私は今、1つの問題に数時間立ち往生しています。

次のデータを含むテーブルがあるとします。

たとえば、2012 年 5 月 5 日の結果とその月の最初の日の比率を取得する必要があります。EG 2012 年 5 月 5 日未処理分を 2012 年 5 月 1 日未処理分で割った値 (24 678 956/35 678 956)

どの機能を使えばいいですか?to_char(trunc(trunc(a.date_,'MM'), 'MM'),'DD-MM-YYYY') の結果で / によってパーティションをオーバーしようとしました

私にはうまくいかないようでした

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

plsql - 「group by」句を持つクエリを分割する方法はありますか?

国を 1 列目に、その国の総人口を 2 列目に国別に人口グループを表示するクエリがあるとします。

これを達成するために、次のクエリがあります。

ここで、そのクエリにさらに 2 つの列を導入して、各国の男性と女性の人口を表示したいと思います。

私が達成したいことは、次のようになります。

これの問題は、

  1. 「partition by 句」は「group by」クエリでは使用できません
  2. 「partition by」句では「where句」は使用できません

要点を理解していただければ幸いです。私の文法と私がこれにタイトルを付けた方法を許してください(これ以上の説明を知ることができませんでした)。

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

oracle - Oracle Analytic Rolling Percentile

パーセンタイル関数のいずれかでウィンドウ関数を使用することは可能ですか?または、ローリングパーセンタイル値を取得するための回避策を知っていますか?

移動平均で簡単です:

しかし、同じウィンドウで中央値(50%パーセンタイル)を取得する方法がわかりません。

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

sql - 'NULL'値を持つOracleSQLAnalytics関数FirstValue

分析関数FirstValueに問題があります:(構文:

例:

上記の分析関数を使用して1行を取得したいと思います。

問題は、Oracleが2行を取得することです。1行はNullで、もう1行はcolumn2の値「A」です。

この問題を解決するのを手伝っていただけませんか。

よろしくお願いします

0 投票する
4 に答える
14614 参照

sql - Oracle SQL 分析クエリ - 再帰的なスプレッドシートのような実行中の合計

(月)A順に並べられた値で構成される次のデータがあります。MM

B列はGREATEST(current value of A + previous value of B, 0)、スプレッドシートのような方法で計算されます。

BSQL クエリを使用して計算するにはどうすればよいですか?

  • 分析関数を使用してみましたが、うまくいきませんでした。
  • モデル条項があることは知っています。同様の例を見つけましたが、どこから始めればよいかわかりません。

Oracle 10g を使用しているため、再帰クエリを使用できません。


これが私のテストデータです:

そして、ここに「テーブル定義」があります:

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

sql - グループのサブグループにCOUNT関数を適用します

私は自分がやりたいことを説明しようとしてこの奇妙な例を作りました(それはちょっとばかげていますが、私に耐えてください):

次の表を検討してください。

従業員
従業員テーブルデータ

既婚認定宗教は単なるブールフィールドです(Oracleの場合、タイプはNUMBER(1,0)です)。

次の給与カテゴリ内の、各hire_year、既婚、認定、および宗教の従業員の数を表示するSQLを考え出す必要があります。

  • A SALARY > 2000
  • B SALARY BETWEEN 1000 AND 2000
  • C SALARY < 1000

上記のデータセットに基づいて、これが私が得ることを期待しているものです:

期待される結果

これまでのところ、私は次のSQLしか思いつきませんでした。

このSQLを実行した結果は次のとおりです。

実結果

これはほとんど私が必要としていることですが、給与の範囲に基づいて、これらのカウンターをさらにグループに分割する必要もあります。

SQL式に基づいてグループをバケットに分割する分析関数が役立つと思いますが、どれが役立つかわかりませんNTILEを試してみましたが、SQL式(など)ではなく、パラメーターとして正の定数が必要ですSALARY BETWEEN X and Y

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

sql - ここでOracleの分析機能を使用できますか?

私はこのクエリを持っています:

生成される出力は次のとおりです。

ここでは、値が繰り返されています。で繰り返しをなくそうとしましたgroup byが、うまくいきませんでした。私たちを手伝ってくれますか?

必要な出力は次のとおりです。

主なものはyearmonthweekcpgdeptcust_idr_idp1ic、一意の行b1である必要があります。分析関数を使用して達成可能ですか、それとも PL/SQL を作成する必要がありますか?p2b2

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

sql - 分析関数FIRST_VALUEはSQLでどのように機能しますか

私はSQL分析関数に飛び込み始めたばかりで、FIRST_VALUEに少しこだわっています。おそらく、このサイトのクエリ例に固有のものである可能性があります。

私はこのクエリの2つの部分で苦労しています。まず、「?」とは何ですか?ここで行って?これまで、パラメーター化されたクエリに使用されるのを見たことがあります。次に、DAY_GAPは実際にどのように計算されますか?クエリは、このクエリに基づいて日数の差を計算することをどのように知っていますか?それはhiredateのデータ型と関係がありますか?

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

mapreduce - 分析関数を使用した NoSQL

NoSQLOracle/SQL Server/Postgres のような分析関数 (AF略して) をサポートするシステム (できればオープン ソース) を探しています。組み込み関数を含むものは見つかりませんでした。私は何かを読んだHiveことがありますが、実際の機能AF(windows、first_last 値、ntiles、lag、lead など) はヒストグラムと ngrams だけではありません。また、一部の NoSQL システム (Redisたとえば) は map/reduce をサポートAFしていますが、それを置き換えることができるかどうかはわかりません。

Postgres システムと NoSQL システムのどちらを選択するか、パフォーマンスを比較したいと考えています。

つまり、要するに:

  1. NoSQLでシステムを検索していますAF
  2. map/reduce に頼って置き換えることはできますAFか? 高速で、信頼性が高く、簡単に移動できますか。

ps。私は自分の質問をより建設的にしようとしました。