問題タブ [hierarchical]

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

database-design - 階層データを格納するための可能なオプション

Web アプリケーションでは、さまざまな種類のエンティティをさまざまな種類の階層データにマップする機能が必要です。例として、 Vendorというエンティティーを考えてみましょう。ベンダーの各インスタンスを地理的エリアにマッピングする機能が必要です。地理的領域は、次の階層にあります。

  1. 郵便番号 - 最も詳細な地理的領域。例、EC2
  2. 地域性 - 郵便番号で形成されます。たとえば、ケンジントン。各郵便番号は、正確に 1 つの地域の一部になります。
  3. 町 - 地域で形成されます。たとえばロンドン。各地域は、正確に 1 つの町の一部になります。
  4. 地区 - 町で形成されます。たとえば、コロンビア。
  5. 州 - 地区で形成されます (一部の国では州に相当)。たとえば、サウスカロライナ州。
  6. 地域 - 州で形成されます。たとえば、東北地方。
  7. 国 - 地域で形成されます。
  8. ゾーン - 国で形成されます。例えば東南アジア。
  9. 大陸 - ゾーンで形成されます。

郵便番号、地域、町、地区、州、地域、国、ゾーン、大陸の完全なデータベースがあります。これは現在、RDBMS のテーブルとして存在します。

ユースケース:

  1. 任意のレベルでベンダーを複数の地域に関連付ける機能。たとえば、ネスレヨーロッパ本土(ゾーン)、カリフォルニア(米国の州)、グレーター ロンドン(英国の地区) にマッピングできます。
  2. 地理の一部をマッピングから除外する機能。たとえば、NestleCaliforniaにマッピングする場合、 San Diegoを除外したい場合があります。
  3. 地理の構成が変更された場合、地理が一部であるマッピングに変更を加える必要はありません。たとえば、郵便番号がGreater Londonに追加された場合、 Nestleとのマッピングを変更する必要はありません。
  4. ベンダーおよび地理レベルのデータベースを照会する機能。たとえば、ネスレ郵便番号のデータベースをクエリすると、カリフォルニア州ロンドン(サンディエゴの郵便番号を除く) とヨーロッパ本土のすべての郵便番号を取得する必要があります。データベースにNestlecountriesを照会すると、 UK (グレーター ロンドンの場合はcountry )、US 、およびヨーロッパ本土のすべての国が取得されます。

さまざまな種類の階層データを使用したこのようなマッピングは多数ありますが、これは要件の 1 つにすぎません。

階層データとマッピングの保存に関する提案を探しています。RDBMSを使用するオプションについてはすでに認識しているため、RDBMSテーブルにデータとマッピングを保存することを含む回答を投稿しないでください。

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

php - foreachを使用したクラス内の再帰関数は、パブリック値を変更すべきではない場所に変更します

わかりました、私は本当にこれで立ち往生しています。あなたが私を助けてくれることを願っています。

階層データの管理に使用されるクラスがあります。入力は、次の構造を持つ単純な配列です(単なる例)。

この方法でクラスにデータを入力します。

createTree次に、リストの多次元配列表現を作成するためのパブリック関数( )があります。それは完璧に動作します。結果を返すか、内部に保存できます$this->tree

ご覧のとおり、これは非常に簡単です。iterateTree再帰関数であるprivate関数を呼び出します。

ここまでは順調ですね。正常に動作します。

しかし...$this->plain呼び出した後に使用したいときに問題が発生しますcreateTree()。元のデータセットを返す代わりに、すべての子が追加された元の入力間のある種の混合を返します(と同様$this->tree)。

内容が変更されている理由がわかりません$this->plain。使用されている両方の関数でも、内容が変更されています。

foreachの後にforeach、元の配列を引数として渡し、$this->plain再帰関数内ではまったく使用せずに、内の変数の設定を解除しようとしました。何も機能しませんでした。

また、クラス内で値を変更する可能性のある他の関数も使用していません。

完全なミステリーです!

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

visual-studio-2010 - TFS保留中の変更階層を折りたたんで選択解除する

TFS 保留中の変更ビュー (VS2010) は、特に階層ビューが常に展開されているため、使用するのが面倒です。さらに、いくつかのファイルをチェックインすると、保留中の変更ビューが更新され、すべてのアイテムが展開されて選択されます。ワークエリアに複数のソリューション (機能的および論理的にバラバラ) があり、いつでも複数のトラックで作業できることを考えると、自動更新、展開、および選択により、各ノードを通過し、折りたたんで選択を解除する必要があります。

少し検索すると、マクロを使用してデフォルトで階層ビューを選択するための回避策が指定されているこのページにたどり着きました。ノードの崩壊と選択解除のイベントが記録されていないと思われるため、上記の問題を解決するためにこのメソッドを拡張しても実現しませんでした。

ソリューション内のすべてのプロジェクトを折りたたむ例外的な機能「すべてを折りたたむ」を提供する VS Power Tool と同様に、この問題に対する解決策はありますか?

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

php - 階層的な PHP 関数の実行でエラーが発生しました! これは何ですか?

次の 2 つのケースで、print_r を介して異なる出力が得られるのはなぜですか? これはphpのバグですか?php は、関数内で呼び出される複雑な階層関数を実行できませんか?

最初のケースでは、出力は展開された配列です:

2 番目のケースでは、出力は string です。

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

sql - OracleCONNECTの操作

操作に関するOracleのドキュメントを読みましたCONNECTが、既存のアプリケーションにあるデータベースクエリに頭を悩ませているようには見えません。以下は、クエリの簡略化されたバージョンです。

私は機能の基本を理解していCONNECTますが、この組み合わせは私を失ってしまいました。誰かがこのクエリで何が起こっているのか説明できますか?

最後に、同じ面積で行番号が現在の行番号より1少なく、現在の日付から6か月前の日付のすべての行を取得するように指示されていると思います。これは、(行番号の基準のために)1行のみを返すか、他の基準が満たされない場合は0行を返すと思います。そして、おそらく最初CONNECT_BY_ROOTにその行のMY_MONTH値を取得するように言いますか?

0 投票する
0 に答える
452 参照

python - scipy デンドログラムを TreeView ファイルに出力する

この投稿に基づいて、pylab と scipy を使用して式マトリックスから階層クラスター ヒートマップとデンドログラムを出力する python スクリプトを作成しました: plotting results of hierarchy clustering ontop of a matrix of data in python

ここで、配列と遺伝子 (列と行) のデンドログラムをテキスト ファイルにエクスポートして、TreeView プログラムでもこのデータ (cdt、gtr、atr ファイルなど) を表示できるようにしたいと考えています。誰もこれを経験していますか?

ありがとう

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

xml - PLSQL: 「階層」テーブルから XML を作成する

次のようなテーブルがあります。

等々。

それを使用してxml構造を作成したいので、次のようなものがあります。

興味深い機能をいくつか見つけましたが、必要なものが見つかりませんでした...

PS: 「実際の」XML は必要ありません。結果の構造は varchar2 (ただし、非常に大きくなる可能性があります) または clob である可能性があります。

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

sql - 同じテーブル内の別の列を参照することはできますか?

ブログに次のような「カテゴリ」テーブルがあるとします。

また、parent_id フィールドがカテゴリ テーブルの 'id' フィールドを参照することを意図している場合、parent_id に挿入された値が id フィールドを参照することを保証する制約を追加するにはどうすればよいでしょうか?

新しく挿入されたカテゴリの親として、存在するカテゴリ ID 値のみを使用できるようにしたいだけです。

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

c# - C# ASP.NET - 階層配列

foreach ループで次のような配列にデータを格納しようとしています。

名、姓、生年月日

したがって、ループが完了{John,Smith,05/05/1980},{Mary,Smith,05/04/1980} etc...すると、システムに保存されている各個人のさまざまな情報にアクセスできるようになります。

これを行う最良の方法は何ですか?http://msdn.microsoft.com/en-us/library/ms486189(v=office.12).aspxに示されているような階層配列を使用して読み込んでいますが、これが最良の方法であるかどうかはわかりません。

私はC#プログラミングにまったく慣れていないので、アドバイスをいただければ幸いです。

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

perl - ソート用のサブキー比較機能

sortで使用できるPerl比較関数が必要です。

各キーは、区切り文字(ドット、コロン、スペース、スラッシュ)で区切られた任意の数のサブキーを持つテキスト文字列です。一部のサブキーは数値であり、数値で並べ替える必要があります。キーの形式とサブキーの数は異なります。したがって、比較では、一方のキーがもう一方のキーよりも長い場合を処理する必要があり、サブキーが1つのキーでは数値であるが、別のキーでは数値でない場合を処理する必要があります(この場合、テキストによる比較がそのサブキーに適しています)。

これは機能しますが、もっと良い解決策があるに違いありません。

私の目的では、読みやすさは速度よりも重要です。これは内部ツール専用であり、リストに数百を超える要素が含まれることはめったにありません。ただし、何かを学ぶ機会はあります。

ご覧のとおり、私はPerlウィザードではありません。私のコードの些細な改善でさえいただければ幸いです。

ありがとう!