Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Computed Entities in Reports #3433

Closed
1 of 2 tasks
CrazyKidJack opened this issue Sep 14, 2024 · 2 comments
Closed
1 of 2 tasks

[Feature] Computed Entities in Reports #3433

CrazyKidJack opened this issue Sep 14, 2024 · 2 comments
Labels
feature This issue is a feature request needs votes Please upvote this feature request if you would like to see it implemented!

Comments

@CrazyKidJack
Copy link

CrazyKidJack commented Sep 14, 2024

Verified feature request does not already exist?

  • I have searched and found no existing issue

💻

  • Would you like to implement this feature?

Pitch: what problem are you trying to solve?

When creating reports, I often want to see how much are these two things added up compared to these 2 things. If all of those things are of the same type like "categories" or "groups" no problem, I just select the categories or groups I want and boom.

But sometimes I want to add up 3 categories from separate groups, or compare a group to two categories... ooooooor compare transactions to these payees with transactions from these accounts.

Another thing it can enable is easier splitting of "account" objects into virtual accounts independent of categories (Because I could create a computed entity to automatically aggregate the balances of my virtual accounts and use that when I need to know the real account balance). I know, I know... for this point, someone is going to say "envelope budgeting doesn't care which account your money is in and envelopes/categories are like mini accounts anyways". My response: envelope budgeting doesn't care but people care, this feature wouldn't affect the budgeting features of Actual in any way, but it is a feature that would be useful to some people. If actual can achieve its envelope budgeting dreams and also have additional features that help some people, that's a bonus. Also, even if you don't like or wouldn't use it in this way, this feature is still useful (see the other examples above)

Describe your ideal solution to this problem

I would like to be able to create "computed entities" for use in reports. These would be values that are not directly represented by the raw data in Actual, but rather are represented by the output of some function that operates on the data.

These functions could be things like (this is not an exhaustive list):

  • add(value, value, ...)
  • subtract(value, value, ...)
  • multiply(value, value, ...)
  • divide(value, value) (could also be defined like divide(value, value, ...))
  • average(value, period, range)
  • median
  • standard deviation
  • variance

as well as combinations of these functions.

The arguments to these functions would be some sort of filtered raw data in Actual.
All together a computed entity could look like:

  • Special Balances = add(account balance where account matches something, account balance where account matches something else)
  • Average Controllable Spending = add( subtract(average(account balance where account is credit card, montly, date between 2024-01-01 and 2024-09-13), average(transaction amount where account is credit card AND category is not electricity, montly, date between 2024-01-01 and 2024-09-13) ), average(transaction amount where category is fun, montly, date between 2024-01-01 and 2024-09-13))

I would also want to be able to use computed entities as input values for other computed entities

Teaching and learning

The reporting docs could have a section on this with a list of available functions, examples of how they could be used/configured, and examples of how they can get displayed in reports.

@CrazyKidJack CrazyKidJack added the feature This issue is a feature request label Sep 14, 2024
@github-actions github-actions bot added the needs votes Please upvote this feature request if you would like to see it implemented! label Sep 14, 2024
Copy link
Contributor

✨ Thanks for sharing your idea! ✨

This repository uses lodash style issue management for enhancements. That means enhancement issues are automatically closed. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution).

The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+

Don’t forget to upvote the top comment with 👍!

@CrazyKidJack
Copy link
Author

CrazyKidJack commented Sep 14, 2024

I did not select the checkbox for "Would you like to implement this feature?".
That said, I have significant development experience and would be willing to do so. But I would need/want significant assistance getting started navigating the AB code. Once I get going, I code quickly and (I like to think) with high quality... but I always have a hard time getting into other people's code, figuring out how it works, and figuring out the best way to set up the dev environment for that project. It's really a momentum problem. If someone could help guide me to a point where I understand the code base, then I would be more than happy to hop in on this and also other features.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature This issue is a feature request needs votes Please upvote this feature request if you would like to see it implemented!
Projects
None yet
Development

No branches or pull requests

1 participant