問題タブ [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.
r - 将来の統計プログラムのためにデータを準備するにはどうすればよいですか?
私は現在、調査システムを設計しています(調査には多くの質問があり、質問には多くの回答があり、回答はユーザー、調査、質問と回答に属します)。
ユーザーモデルには多くの人口統計データがあり、さまざまな質問などに対する数十万の回答が期待されます。
最終的には、たとえば、応答を分析する必要があります。男性の80%はバナナが好きで、女性の20%はフォードなどを所有しています。
R、SAS、SPSSなどの統計言語を調べていますが、これらのプログラムで使用するために、データを特定の方法で構造化する必要があるかどうか疑問に思っていますか?それとも、それらはすべてcsvファイルを受け入れますか?
統計データとそのデータモデルの構築に関して、何かアドバイスはありますか?
最後に、SAS、SPSS、およびStataのコストはいくらですか?
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') の結果で / によってパーティションをオーバーしようとしました
私にはうまくいかないようでした
plsql - 「group by」句を持つクエリを分割する方法はありますか?
国を 1 列目に、その国の総人口を 2 列目に国別に人口グループを表示するクエリがあるとします。
これを達成するために、次のクエリがあります。
ここで、そのクエリにさらに 2 つの列を導入して、各国の男性と女性の人口を表示したいと思います。
私が達成したいことは、次のようになります。
これの問題は、
- 「partition by 句」は「group by」クエリでは使用できません
- 「partition by」句では「where句」は使用できません
要点を理解していただければ幸いです。私の文法と私がこれにタイトルを付けた方法を許してください(これ以上の説明を知ることができませんでした)。
oracle - Oracle Analytic Rolling Percentile
パーセンタイル関数のいずれかでウィンドウ関数を使用することは可能ですか?または、ローリングパーセンタイル値を取得するための回避策を知っていますか?
移動平均で簡単です:
しかし、同じウィンドウで中央値(50%パーセンタイル)を取得する方法がわかりません。
sql - 'NULL'値を持つOracleSQLAnalytics関数FirstValue
分析関数FirstValueに問題があります:(構文:
例:
上記の分析関数を使用して1行を取得したいと思います。
問題は、Oracleが2行を取得することです。1行はNullで、もう1行はcolumn2の値「A」です。
この問題を解決するのを手伝っていただけませんか。
よろしくお願いします
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
。
sql - ここでOracleの分析機能を使用できますか?
私はこのクエリを持っています:
生成される出力は次のとおりです。
ここでは、値が繰り返されています。で繰り返しをなくそうとしましたgroup by
が、うまくいきませんでした。私たちを手伝ってくれますか?
必要な出力は次のとおりです。
主なものはyear
、month
、week
、cpg
、dept
、cust_id
、r_id
、p1
、ic
、一意の行b1
である必要があります。分析関数を使用して達成可能ですか、それとも PL/SQL を作成する必要がありますか?p2
b2
sql - 分析関数FIRST_VALUEはSQLでどのように機能しますか
私はSQL分析関数に飛び込み始めたばかりで、FIRST_VALUEに少しこだわっています。おそらく、このサイトのクエリ例に固有のものである可能性があります。
私はこのクエリの2つの部分で苦労しています。まず、「?」とは何ですか?ここで行って?これまで、パラメーター化されたクエリに使用されるのを見たことがあります。次に、DAY_GAPは実際にどのように計算されますか?クエリは、このクエリに基づいて日数の差を計算することをどのように知っていますか?それはhiredateのデータ型と関係がありますか?
mapreduce - 分析関数を使用した NoSQL
NoSQL
Oracle/SQL Server/Postgres のような分析関数 (AF
略して) をサポートするシステム (できればオープン ソース) を探しています。組み込み関数を含むものは見つかりませんでした。私は何かを読んだHive
ことがありますが、実際の機能AF
(windows、first_last 値、ntiles、lag、lead など) はヒストグラムと ngrams だけではありません。また、一部の NoSQL システム (Redis
たとえば) は map/reduce をサポートAF
していますが、それを置き換えることができるかどうかはわかりません。
Postgres システムと NoSQL システムのどちらを選択するか、パフォーマンスを比較したいと考えています。
つまり、要するに:
NoSQL
でシステムを検索していますAF
- map/reduce に頼って置き換えることはできます
AF
か? 高速で、信頼性が高く、簡単に移動できますか。
ps。私は自分の質問をより建設的にしようとしました。