Reports - need to be able to print a report by Artist listing Album counts, is that available?
Moderators: jiri, drakinite, Addon Administrators
-
jpallenjd1
Reports - need to be able to print a report by Artist listing Album counts, is that available?
Need help with Reports. How can I create a report that shows the album COUNTS only by Artist? My statistics reporting is not customized. Please help if you can. Thank you. James Allen Tennessee
Re: Help! "Newbie" Problems
This type of customization is not available in the default report.jpallenjd1 wrote: ↑Fri Feb 06, 2026 2:12 pm How can I create a report that shows the album COUNTS only by Artist?
Download MediaMonkey ♪ License ♪ Knowledge Base ♪ MediaMonkey for Windows 2024 Help ♪ MediaMonkey for Android Help
Lowlander (MediaMonkey user since 2003)
Lowlander (MediaMonkey user since 2003)
Reports - need to be able to print a report by Artist listing Album counts, is that available?
Reports - need to be able to print a report by Artist listing Album counts, is that available?
Regards,
James Allen
Memphis
Regards,
James Allen
Memphis
Reports - need to be able to print a report by Artist listing Album counts, is that available?
Reports - need to be able to print a report by Artist listing Album counts, is that available?
Please advise. Thank you.
James Allen
Memphis USA
Please advise. Thank you.
James Allen
Memphis USA
Re: Reports - need to be able to print a report by Artist listing Album counts, is that available?
Hi,
No that is not available natively in MM, but I guess Something can be scripted thru carefully formatted SQL queries and then formatted into CSV file.
No that is not available natively in MM, but I guess Something can be scripted thru carefully formatted SQL queries and then formatted into CSV file.
Best regards,
Peke
MediaMonkey Team lead QA/Tech Support guru
Admin of Free MediaMonkey addon Site HappyMonkeying



How to attach PICTURE/SCREENSHOTS to forum posts
Peke
MediaMonkey Team lead QA/Tech Support guru
Admin of Free MediaMonkey addon Site HappyMonkeying



How to attach PICTURE/SCREENSHOTS to forum posts
-
IanRTaylorUK
- Posts: 607
- Joined: Fri Dec 27, 2019 4:41 pm
Re: Reports - need to be able to print a report by Artist listing Album counts, is that available?
Consider two add-on tools - Custom Nodes and SQL Editor - then adapt the following SQL (an example result to follow in a separate post).
Album Artist with more than ?? Albums
Purpose
The objective of this query is to provide a curated view of "Power Artists" while filtering out compilation-heavy entries. By excluding "Various Artists" and similar tags, the node focuses strictly on individual performers or bands who have a significant, dedicated presence in your collection (over ?? albums), preventing soundtrack or "Best Of" collections from cluttering the results. Vary the threshold value to suit your library.
Clean SQL
/* Select all columns from the Albums table
excluding generic 'Various' artist tags
*/
SELECT * FROM Albums
WHERE Artist NOT IN ('Various', 'Various Artists', 'Compilations', 'Unknown')
AND Artist IS NOT NULL
AND Artist <> ''
AND (
/* Threshold Filter: Only artists with more than 50 albums */
SELECT COUNT(*)
FROM Albums AS Sub
WHERE Sub.Artist = Albums.Artist
) > 50
ORDER BY (
/* Sort Logic: Most prolific artists first */
SELECT COUNT(*)
FROM Albums AS Sub
WHERE Sub.Artist = Albums.Artist
) DESC,
Artist ASC,
Album ASC;
Limitations
SQL Editor limits its output to 1000 records AND the central output area does not allow cut & paste.
Custom Nodes displays "Album" queries with album tiles AND therefore looses the sort order of the previous query.
Using DB SQLite can be used (on a back-up copy of your MM5..DB) to over-come these limitations i.e. will show more than 1000 records sorted as defined AND can be exported to a CSV.
Provenance & Compatibility
Designed for SQLite environments (like MediaMonkey), this script avoids the need for complex GROUP BY statements that often break "Album" node displays. The core logic uses a correlated subquery in the ORDER BY section; it dynamically calculates the total album count for each artist and uses that integer as the primary sorting weight. One issue with have here is that the Album display used for Custom Nodes over-rides our sort order.
The Clean SQL above will cut & paste into both Custom Nodes 1.1.5 and SQL Editor 1.0.2
References:
https://www.mediamonkey.com/addons/brow ... ql-editor/
https://www.mediamonkey.com/addons/brow ... tom-nodes/
SQL061 in my document Media Monkey SQL Deep Dive
Album Artist with more than ?? Albums
Purpose
The objective of this query is to provide a curated view of "Power Artists" while filtering out compilation-heavy entries. By excluding "Various Artists" and similar tags, the node focuses strictly on individual performers or bands who have a significant, dedicated presence in your collection (over ?? albums), preventing soundtrack or "Best Of" collections from cluttering the results. Vary the threshold value to suit your library.
Clean SQL
/* Select all columns from the Albums table
excluding generic 'Various' artist tags
*/
SELECT * FROM Albums
WHERE Artist NOT IN ('Various', 'Various Artists', 'Compilations', 'Unknown')
AND Artist IS NOT NULL
AND Artist <> ''
AND (
/* Threshold Filter: Only artists with more than 50 albums */
SELECT COUNT(*)
FROM Albums AS Sub
WHERE Sub.Artist = Albums.Artist
) > 50
ORDER BY (
/* Sort Logic: Most prolific artists first */
SELECT COUNT(*)
FROM Albums AS Sub
WHERE Sub.Artist = Albums.Artist
) DESC,
Artist ASC,
Album ASC;
Limitations
SQL Editor limits its output to 1000 records AND the central output area does not allow cut & paste.
Custom Nodes displays "Album" queries with album tiles AND therefore looses the sort order of the previous query.
Using DB SQLite can be used (on a back-up copy of your MM5..DB) to over-come these limitations i.e. will show more than 1000 records sorted as defined AND can be exported to a CSV.
Provenance & Compatibility
Designed for SQLite environments (like MediaMonkey), this script avoids the need for complex GROUP BY statements that often break "Album" node displays. The core logic uses a correlated subquery in the ORDER BY section; it dynamically calculates the total album count for each artist and uses that integer as the primary sorting weight. One issue with have here is that the Album display used for Custom Nodes over-rides our sort order.
The Clean SQL above will cut & paste into both Custom Nodes 1.1.5 and SQL Editor 1.0.2
References:
https://www.mediamonkey.com/addons/brow ... ql-editor/
https://www.mediamonkey.com/addons/brow ... tom-nodes/
SQL061 in my document Media Monkey SQL Deep Dive
Ian Taylor
-
IanRTaylorUK
- Posts: 607
- Joined: Fri Dec 27, 2019 4:41 pm
Re: Reports - need to be able to print a report by Artist listing Album counts, is that available?
Purpose
The purpose of this Refactored (rewritten and improved) query is to identify and display a detailed catalog of highly prolific artists - specifically those with more than 75 albums—while optimizing performance through modern SQL constructs. By utilizing the COUNT(*) OVER (PARTITION BY Artist) Window function, the query calculates each artist's total career output across the entire dataset without collapsing individual album records into a single summary row. The Common Table Expression (CTE) is used to encapsulate this analytic calculation, making the resulting AlbumCount available for the final threshold filter, which significantly improves efficiency over traditional Correlated (nested) subqueries by reducing the need for multiple table scans. Finally, the results are structured to prioritize the most productive artists while maintaining an alphabetical secondary sort for easy navigation of large catalogs.
Research O(N^2) complexity for more information on the high CPU consumption of Nested queries vs Refactored.
Clean SQL
-- Step 1: Define a Common Table Expression (CTE) named ArtistCatalog.
-- We explicitly select specific columns to avoid IUNICODE schema errors.
WITH ArtistCatalog AS (
SELECT
-- Appending "COLLATE NOCASE" strips the 'IUNICODE' requirement.
-- This allows standard tools like DB Browser to read the data.
Artist COLLATE NOCASE AS Artist,
Album COLLATE NOCASE AS Album,
-- Analytic Window Function: Calculates totals in a single pass.
-- This calculates the count per artist once and shares it across rows.
COUNT(*) OVER (PARTITION BY Artist) AS AlbumCount
FROM Albums
-- Initial filter: COLLATE NOCASE fixes both the IUNICODE and UPPERW issues.
WHERE Artist COLLATE NOCASE NOT IN ('Various', 'Various Artists', 'Compilations', 'Unknown')
AND Artist IS NOT NULL
AND Artist <> ''
)
-- Step 2: Apply the threshold filter and final sorting.
-- The alias 'AlbumCount' is now a standard column available for filtering.
SELECT *
FROM ArtistCatalog
WHERE AlbumCount > 75
ORDER BY
AlbumCount DESC,
Artist ASC,
Album ASC;
Provenance & Compatibility
In the context of Media Monkey 2024, this query is fully compatible and highly efficient because the application utilizes a modern SQLite database engine that supports both Common Table Expressions and Window Functions. Media Monkey is specifically marketed for managing "huge media libraries" that can contain tens of thousands of tracks; in such large-scale scenarios, the performance benefits of Window Functions are critical. By calculating the Artist-level counts in a single pass rather than executing a subquery for every individual row, this approach provides a significant efficiency boost - often exceeding 70% - over the traditional Correlated subqueries used in older media management scripts. This ensures that identifying prolific artists remains a rapid operation that minimizes CPU usage and logical reads, even when scanning massive music catalogs.
If usable output is required, it is probably best to run this query directly in DB SQLite on a recent backup copy of the Media Monkey MM5.DB! However, you may experience a IUNICODE conflict unless your SQL explicitly uses COLLATE NOCASE for columns. We also note that DB Browser SQLite does not seem to like block comments i.e. "/*...*/" The above query therefore uses single line comment i.e. "– Comment" to overcome this.
References:
SQL 062
The purpose of this Refactored (rewritten and improved) query is to identify and display a detailed catalog of highly prolific artists - specifically those with more than 75 albums—while optimizing performance through modern SQL constructs. By utilizing the COUNT(*) OVER (PARTITION BY Artist) Window function, the query calculates each artist's total career output across the entire dataset without collapsing individual album records into a single summary row. The Common Table Expression (CTE) is used to encapsulate this analytic calculation, making the resulting AlbumCount available for the final threshold filter, which significantly improves efficiency over traditional Correlated (nested) subqueries by reducing the need for multiple table scans. Finally, the results are structured to prioritize the most productive artists while maintaining an alphabetical secondary sort for easy navigation of large catalogs.
Research O(N^2) complexity for more information on the high CPU consumption of Nested queries vs Refactored.
Clean SQL
-- Step 1: Define a Common Table Expression (CTE) named ArtistCatalog.
-- We explicitly select specific columns to avoid IUNICODE schema errors.
WITH ArtistCatalog AS (
SELECT
-- Appending "COLLATE NOCASE" strips the 'IUNICODE' requirement.
-- This allows standard tools like DB Browser to read the data.
Artist COLLATE NOCASE AS Artist,
Album COLLATE NOCASE AS Album,
-- Analytic Window Function: Calculates totals in a single pass.
-- This calculates the count per artist once and shares it across rows.
COUNT(*) OVER (PARTITION BY Artist) AS AlbumCount
FROM Albums
-- Initial filter: COLLATE NOCASE fixes both the IUNICODE and UPPERW issues.
WHERE Artist COLLATE NOCASE NOT IN ('Various', 'Various Artists', 'Compilations', 'Unknown')
AND Artist IS NOT NULL
AND Artist <> ''
)
-- Step 2: Apply the threshold filter and final sorting.
-- The alias 'AlbumCount' is now a standard column available for filtering.
SELECT *
FROM ArtistCatalog
WHERE AlbumCount > 75
ORDER BY
AlbumCount DESC,
Artist ASC,
Album ASC;
Provenance & Compatibility
In the context of Media Monkey 2024, this query is fully compatible and highly efficient because the application utilizes a modern SQLite database engine that supports both Common Table Expressions and Window Functions. Media Monkey is specifically marketed for managing "huge media libraries" that can contain tens of thousands of tracks; in such large-scale scenarios, the performance benefits of Window Functions are critical. By calculating the Artist-level counts in a single pass rather than executing a subquery for every individual row, this approach provides a significant efficiency boost - often exceeding 70% - over the traditional Correlated subqueries used in older media management scripts. This ensures that identifying prolific artists remains a rapid operation that minimizes CPU usage and logical reads, even when scanning massive music catalogs.
If usable output is required, it is probably best to run this query directly in DB SQLite on a recent backup copy of the Media Monkey MM5.DB! However, you may experience a IUNICODE conflict unless your SQL explicitly uses COLLATE NOCASE for columns. We also note that DB Browser SQLite does not seem to like block comments i.e. "/*...*/" The above query therefore uses single line comment i.e. "– Comment" to overcome this.
References:
SQL 062
Ian Taylor