Software that supports custom attributes and can generate all combinations of them?

Started by digeratus on 2/13/2023
digeratus 2/13/2023 11:19 pm
I'm wondering if there is software where you create a custom attribute (call it Height) with, say, options tall or short, and another custom attribute called Occupation with say, options Doctor and Not a Doctor... and where you could then automatically create a note for each possible combination of these:

tall doctor
short doctor
tall not a doctor
short not a doctor

Obviously if you have more attributes and options this could quickly become quite a lot of notes.
Ken 2/13/2023 11:34 pm
digeratus wrote:
I'm wondering if there is software where you create a custom attribute
(call it Height) with, say, options tall or short, and another custom
attribute called Occupation with say, options Doctor and Not a Doctor...
and where you could then automatically create a note for each possible
combination of these:

tall doctor
short doctor
tall not a doctor
short not a doctor

Obviously if you have more attributes and options this could quickly
become quite a lot of notes.

Unless I am missing something, couldn't you create a note with custom fields and/or tags or assign it values accordingly? Then you create filters based on the criteria you listed above?

--Ken

digeratus 2/14/2023 12:10 am
Ah, what I mean is to click something and it would create a note *automatically* for each possible combinations of attributes.

If there are two attributes with say 10 options each, that would be 100 possible combinations, 100 notes. I’d want those created automatically, not to create each one myself.
Amontillado 2/14/2023 1:10 am
Tinderbox would almost certainly have a way to do this.

You could also create Markdown documents with YAML front matter, defining attributes matching your needs. I would do that with probably a five line Python script - but there are other ways, too.

Obsidian is happy with documents that mysteriously appear or disappear in its vault. You could create the documents programmatically via Python.

Thinking in wider circles, you could use a word processor with mail merge capability. Build a spreadsheet with the combinations you want. With copy and paste you could get your patterns built in short order. Pandoc could convert the files, or if this is a one-shot project, saving 100 documents as plain text (Markdown) wouldn't take long.

Or, it would be a nice learning project to write a homebrew Obsidian plugin to do the job, too.
Pierre Paul Landry 2/14/2023 2:23 am
digeratus wrote:
I'm wondering if there is software where you create a custom attribute (...)

Hi,

To get better suggestions, please specify what OS and if you want / need Mobile, Web and / or Desktop ?

Pierre Paul Landry
IQ Designer
Andy Brice 2/14/2023 11:30 am
Generating all possible combinations of the members of 2 different sets is more commonly known as a "cross join" or "cartesian product". The results can get very big very quickly if you have non-trivials sets!

I'm not sure what sort of format you want this in, but Easy Data Transform can do this using the 'Cross' transform and then output it in various formats (CSV, YAML, Excel etc).

https://www.easydatatransform.com/help/latest/windows/html/cross.html

Amontillado 2/14/2023 12:44 pm
Easy Data Transform is one of those tools that keeps finding ways to save time. Andy's latest video presents ideas for how to analyze server log files with Easy Data Transform, something that had not occurred to me.

Merging and mining data from multiple sources is a snap. I got my money's worth on my first use of the product.
Alexander Deliyannis 2/15/2023 8:20 pm
Hear! Hear!

Amontillado wrote:
Easy Data Transform is one of those tools that keeps finding ways to
save time.
22111 2/27/2023 5:34 pm
Since this thread has degenerated into an ad for some data transform software (which has certainly its place in the toolbox of users who don't know about regex), does anyone remember the original, the thread starter's, question?

To which is answer obviously is, get some free SQLite db frontend, and then have a look into sqlitetutorial.net (and similar web sites) - since indeed, the usual CSV viewers (some of them free, again) ain't powerful enough, and MS Excel... well... why searching for complications where there are none inherent, right?
Amontillado 3/1/2023 12:50 pm
C'mon, man, please leave room for others having experience you would benefit from.

Sqlite is a database with limitations. It's great within those limits. Easy Data Transform is an analysis tool with powers and abilities far beyond mere regex (which, among many other things, EDT supports).

Would you use sqlite for, say, desktop publishing? No, of course not. It's not a graphics and layout tool, it's a database. Would you use EDT as a relational database? You could, it does joins and lookups and column operations - but it's not a good choice for a web site backend.

Easy Data Transform is to sqlite as Corvettes are to crowbars. There are things you can do with crowbars that you can't do with Corvettes. Crowbars are fine tools. Corvettes are fine sports cars. Neither is better than the other.

It is, however, more impressive to arrive at the office in a Corvette instead of dragging a crowbar. Easy Data Transform makes a good impression, too.

22111 wrote:
Since this thread has degenerated into an ad for some data transform
software (which has certainly its place in the toolbox of users who
don't know about regex), does anyone remember the original, the thread
starter's, question?

To which is answer obviously is, get some free SQLite db frontend, and
then have a look into sqlitetutorial.net (and similar web sites) - since
indeed, the usual CSV viewers (some of them free, again) ain't powerful
enough, and MS Excel... well... why searching for complications where
there are none inherent, right?
Buckeye Marksman 5/30/2023 1:26 am
Sounds like what Neil Larson did with his perm.exe tree builder.
Buckeye Marksman 5/30/2023 1:30 am


Buckeye Marksman wrote:
Sounds like what Neil Larson did with his perm.exe tree builder.

Here's a link describing what perm does: https://github.com/vimoutliner/vimoutliner/issues/150