web-dev-qa-db-ja.com

複数のカテゴリに属する​​ことができるトランザクションをどのように処理しますか?

トランザクションを確認できるアプリを開発しています。すべてのトランザクションは(自動的に)分類されます。ここまでは順調ですね。私が今遭遇するのは、複数のカテゴリに属する​​ことができる(そしておそらくそうすべきである)トランザクションをどのように扱うかです。たとえば自動車保険。それを「自動車費用」の下だけでなく「保険」の下に分類することは論理的でしょう。この取引を両方のカテゴリーで実際に見ることが有益だと思います。ただし、ここでの問題は、トランザクションが複数のカテゴリに属している場合、すべてのカテゴリの合計を計算することが難しいことです。カテゴリーの合計は、トランザクションの合計金額と等しくなりません。この問題にどのように取り組みますか?

よろしくお願いします!

2
Ernest Mistiaen

興味深い質問です。トランザクションを複数のカテゴリに分類すると、カテゴリの合計が合計トランザクションの合計と等しくなりません。

次の質問が思い浮かびます:

  1. 合計する必要がありますか?たとえば、これを要件とする会計システムに取り組んでいますか。
  2. カテゴリーは兄弟ではなく論理階層を持っていますか?このようにして、合計を機能させることができます。
  3. 「プライマリ」または「アカウンティング」カテゴリと、次に表示カテゴリのリストがありますか?これは、全体のリストではコストを1か所に置くことができるが、複数の場所に表示することを意味する場合があります。

全体として、情報アーキテクチャの問題ではこれを検討する必要があると思いますが、これはユースケースによって決まります。

たとえば、あなたの例では、トランザクションがcar expenseinsuranceすべての保険取引を確認したい場合は、おそらくそれを表示します。しかし、もし私がすべての私の車の費用を見たいならどうですか?どこに/どのように表示しますか?

今、私はそれについてもっと考えます、「カテゴリー」はあなたの取引を説明するには不十分かもしれないようです。特に、自動車の費用には、おそらく自動車に関連する費用が含まれます。自動車の「保険」の「カテゴリ」、次に「主題」または「トピック」のようなものが必要なようです。

1
dougajmcdonald

1つだけ選択してください。

私が見る限り、両方にトランザクションを配置すると、解決するよりも多くの問題が発生します。

特定のトランザクションがどのカテゴリに属する​​かを決定する最良の方法は、このアプリを使用する人々に尋ねることです。派手である必要はありません。簡単なアンケートで十分です。次に、ユーザーの考えに基づいてカテゴリを選択します。

0
RobbyReindeer

1つのモノ(費用)に複数のラベル(カテゴリ)を割り当てるという中心的なアイデアは、タグと非常によく似ています。例としては、Gmailのラベルシステムが挙げられます。ラベルの任意の組み合わせをメールに割り当てることができます。

既存のタグの組み合わせから一意のカテゴリを動的に作成すると、合計を合計することができます。例えば

  • 「保険」というラベルのみが付いている費用の合計
    • 「保険」と「車の費用」のラベルが付いている費用の合計
    • 「車の費用」というラベルのみが付いている費用の合計

そして、そのラベルの組み合わせで0を超える経費がある場合にのみ、合計行/動的カテゴリを表示します。

つまり、最初は「ラベルなしの費用」という合計1行しかありません。ユーザーがラベルを費用に割り当てたら(「保険」としましょう)、新しい動的カテゴリが表示されます。

ユーザーは動的カテゴリを定義できません。動的カテゴリは、ユーザーが経費に割り当てたラベルの組み合わせから生成されます。

視覚的には、タグUIは直感的です。のような:

肩甲下の線の数は、ユーザーが割り当てるラベルによって異なります。

朗報:小計は常に合計されます。

悪いニュース:保険だけでは小計がない場合があります。ユーザーが「保険」タグのみの費用と、「保険」タグと「自動車費用」タグの両方の費用を持っている場合、小計は2行になります。

この悪いニュースはそれほど悪くないかもしれません。「ラベルxxxのすべての経費」の小計をユーザーが常に取得できるようにフィルターを提供できます。

0
wintvelt