Advanced Reporting
Advanced Reporting
Advanced Reporting is Hamstik’s first-party Premium Application. It extends the Standard Reports experience, which remains a Core capability and continues to work without Advanced Reporting.
Discovery and access
Find Advanced Reporting in the existing Organization Settings → Apps experience. Organization administrators manage enablement there, while commercial eligibility and billing actions follow the Premium Applications rules.
When all access requirements are satisfied, open a Project’s Reports page and choose Advanced Reporting in the report-local navigation. Commercial coverage, an enabled Organization installation, ordinary member and Project access, and the Advanced Reporting use permission are separate requirements.
Enterprise inclusion provides commercial coverage but does not automatically enable the App or grant access to a Project. The App remains managed for each Organization.
Personal reports
Advanced Reporting provides a personal report library at the Project Reports entry point. Reports belong to one Organization and the authenticated owner; they are not shared with other members. Create, edit, rename, duplicate, run, and delete actions use revision checks, so a stale tab cannot overwrite a newer edit. Definitions remain stored through entitlement loss or App disablement and become usable again after access is restored.
Choose selected authorized Projects or all currently authorized Projects. The second choice resolves again at every execution. Fixed ranges cover up to 366 inclusive calendar days; rolling ranges retain their configuration and resolve against the evaluation date in the selected IANA timezone. Structured filters and optional validated SqueakQL are combined with AND inside that Project scope. Filters and grouping use current Work Item values unless Created count uses its supported creation dimension.
The builder includes Work Item count, Created count, Completed count, Currently open count, Throughput, Story-point total, Mean lead time, Mean cycle time, and Mean Work Item age. Duration values are hours. Story-point totals treat null estimates as zero while reporting the unestimated count. Completion measures use recorded status transitions into Done; reopened Work Items are not counted as completed. Means show their sample count and contribution sum.
KPI, table, line, bar, and stacked-bar visualizations are available within their supported grouping and bucket combinations. Every chart has an accessible data-table alternative. Choose View Work Items on a nonempty cell to inspect the exact captured population. Selection links expire after a short period and are reauthorized against the original Project scope; run the report again when a selection expires or access changes.
Preview and Run are explicit. Saving does not require a successful preview. Zero-item results are complete empty results. If required completion or duration history cannot be established for the complete candidate population, the result says history is unavailable instead of presenting a partial total. This conservative behavior protects the meaning of counts and means for older or incomplete history.
Historical analytics
Choose Analytics beside My reports for a server-calculated historical workflow. It supports median, P85 and P95 lead/cycle time, fixed elapsed-hour distributions, open Work Item age, throughput, backlog, historical status, and completed-Sprint predictability, completion, and carryover. A P85 is the continuous 85th percentile of every eligible sample: it is not the top 15% and is not an average of Project percentiles. The exact captured sample is available from each non-empty result cell, including the duration or event fact used by the reducer.
Analytics compares a selected period with the immediately preceding equivalent calendar period. Last 30 days includes today; Current quarter uses real local quarter boundaries. Current periods can be partial, including a partial 30-day or quarter window compared with a full previous window. A distribution day is exactly 24 elapsed hours, so daylight-saving changes do not move its bin edges.
Filters select the current Work Item cohort. A historical chart can group that cohort by recorded observation-time facts, but it does not turn the filter language into a historical query language. Reopened Work Items must have a completion in the relevant period and are evaluated at that period end. A tombstone can contribute before its recorded inactive transition. “Open age” is the age of active, non-Done items at a period boundary; it is not time spent in the current status.
0, No data, and History unavailable are different outcomes. Zero is a
known empty or zero-valued result; No data is an empty percentile or ratio;
History unavailable means required recorded evidence is missing or invalid.
Project scope is rechecked for the whole request and for every exact sample.
Sprint percentages use item counts: original commitment, final membership,
Done-at-completion, and explicitly linked completion carryover. Sprint rows
show their boundary source and do not use a planned end date as a fallback.
Historical label identity is preserved when evidence exists, while names and colors are current presentation only. If a required old label baseline is missing, that historical slice is unavailable rather than silently grouped by today’s labels. Forecasting and blocked-duration analytics are unsupported.
Organization reports and dashboards
Reports and dashboards have two visibility levels: Personal and Organization. New definitions are personal and remain private to their owner. Owners and administrators with the shared-management permission can create Organization reports and dashboards, or promote their own personal report. Shared definitions cannot be demoted; duplicate one to make a new personal copy. A shared definition is never an authorization grant: every view and run checks the current member, App, commercial, capability, Project, and data permissions again.
The dashboard library combines saved Advanced reports with inline Advanced analytics definitions. A dashboard has up to 12 widgets, ordered explicitly, with source, chart, or table presentation and one-third, half, or full-width layout. Global defaults and run-time filters restrict each source using AND semantics. Project selections intersect source scope; date ranges replace the source range while retaining its timezone and analytics comparison; statuses, types, and priorities intersect; and assignee restrictions must agree. Labels, Sprints, and free-text remain source-level filters. A filter that is not compatible is reported visibly rather than ignored.
Shared sources are projected to the viewer’s current authorized Projects. A partial result means at least one source was unavailable; an unavailable result has no contributing source. Hamstik never returns rejected Project, Sprint, label, user, Work Item, metric, or source-count metadata. The UI uses only the generic message “Some sources are unavailable to you”; a widget with no accessible sources says “No accessible sources contribute to this widget.” An empty authorized intersection is presented as no matching data, not as a permission failure.
Sharing is authenticated and Organization-scoped. Enterprise or BillingAccount association never expands the Organization boundary, and there are no public or anonymous report/dashboard links. Organization create, update, promote, and delete operations are recorded in the App audit history with redacted resource metadata. Disabling the App or losing Advanced Reporting entitlement prevents execution but retains personal and shared definitions; restoring access makes them usable again under current authorization.
Advanced Reporting does not change Standard Reports, which remain available through the existing reporting navigation and retain their own saved-report behavior. SqueakQL syntax and supported fields are documented in the SqueakQL guide.
For App management and eligibility details, see Premium Applications and Applications.
Export the displayed result
After a successful report, analytics, or dashboard run, choose CSV, Package, or Print / Save as PDF. Exports use the exact result already displayed; clicking export does not evaluate the source again or fetch Work Item drill-through rows. Chart-compatible results also offer SVG and PNG. Table and KPI presentations have no chart export.
CSV includes evaluation/export times, source revision, metric and unit, Project scope, requested/effective dates, timezone, comparisons, applied filters, historical boundaries, availability, and the complete cell table. Known zero, No data, and unavailable remain distinct. String cells use the same spreadsheet formula-injection protection as Standard Reports. Only the viewer-authorized data is exported.
A version 1 ZIP package includes manifest.json with the normalized result and its metadata, plus data.csv or dashboard.csv. Authorized dashboard widgets have separate widgets/<ordinal>-<safe-title>/data.csv entries and applicable chart.svg files. Report/analytics packages include a chart when available. Inputs are capped at 32 MiB before compression. Packages contain no fetched drill-through Work Items, credentials, or inaccessible-source identifiers.
Printing uses your browser’s print dialog and Save as PDF option. Navigation, filters, and action controls are hidden; the source, definitions, evaluation time, warnings, historical caveats, charts, and complete tables remain. No separate PDF service is needed.
Packages preserve the original short-lived exact-selection references and expiry. A retained export or scheduled snapshot cannot extend them. After expiry, This exact selection has expired replaces the drill-through action. Explicitly running the current source creates a new result and a new population; it does not restore the old one.
Scheduled distribution
Choose Schedule on a readable saved report or dashboard, or open Reports → Advanced Reporting → Schedules. Unsaved standalone analytics cannot be scheduled; save them as a dashboard widget first. Each schedule belongs to one Organization and one fixed saved source. Create a new schedule to change its source.
Choose daily, weekly (Monday–Sunday), or monthly (days 1–28), a local delivery time, and one IANA timezone. Daylight-saving changes use local calendar time: repeated times use their first occurrence, and a time in a spring-forward gap uses the first valid instant after the gap. Dashboard schedules retain one normalized filter snapshot; saved-report schedules use the report’s own filters.
Members can schedule a readable source to themselves. Personal sources can go only to their owner. Organization owners and administrators with shared-management permission may distribute Organization-shared sources to up to 25 active members of the same Organization. That permission is checked again before delivery; a role downgrade stops shared distribution until an authorized manager replaces or updates the schedule. Recipients are selected Hamstik users; there is no email text field, external distribution list, attachment, webhook, or cross-Organization delivery. An Organization may have up to 25 schedules.
Email contains the source and Organization names, scheduled/evaluated time, and Open securely in Hamstik. It contains no dataset, metric values, chart, Work Item details, filters, or attachment. Signing in as the exact recipient is required. Before execution and email, and again when opening the link, Hamstik checks current account/membership, contextual Project and data permissions, source visibility/revision, Premium access, App enablement, and Advanced capability. A delivery UUID alone grants no access. Losing any Project that contributed to a snapshot denies the complete stored result.
Snapshots are retained for 30 days from the scheduled occurrence; exact drill-through expires earlier according to its original run. Source changes make an older delivery unavailable. An email retry reuses the persisted snapshot instead of computing another result. The schedule manager shows delivery statuses without report values or recipient email addresses.
Owners and administrators can manage all Organization schedules; members manage only their own. Disabling a schedule preserves it. App disablement or entitlement loss pauses future execution without changing the schedule’s enabled setting or deleting its definition. Cancellation, expiry, or downgrade prevents execution when effective coverage ends. Once access returns, delivery resumes at the next future cadence; missed occurrences are never backfilled. Removing an owner from the Organization deletes their schedules; removing a recipient removes their associations and stored deliveries. Deleting a source deletes its schedules.
Public API
Advanced Reporting Public API v1 supports accessible definitions, personal definition mutations, shared governance, report/dashboard execution, and exact captured selections. Use the dedicated report:read and report:write PAT scopes. Standard Reporting remains Core with its unchanged project:read scope. These v1 resources are the supported contract for future official CLI use.
Operational checks
The platform-administrator Doctor verifies the Advanced Reporting Premium registration, entitlement and enablement wiring, bounded aggregation and scheduler entry points, required database storage and indexes, scheduling queue freshness, and the complete Public API v1 surface. These checks are read-only and report only sanitized service state; they do not expose Organization identifiers, report contents, recipients, commercial details, or per-tenant counts.
