intakedesk / PowerBI-General

Placeholder for issues migrated from Jira
1 stars 0 forks source link

Integrate Teramind Data for displaying into Power BI #664

Closed jesusitd closed 3 years ago

jesusitd commented 3 years ago

The data point / report to start with is ADP historical login data for all users.

Also this endpoint: https://intakedesk.teramind.co/#/schedule?tab=scheduling

The other data point TOP PRIORITY is /tt/r/time-records/grid, which correlated to https://intakedesk.teramind.co/#/tt/r/timecard and https://intakedesk.teramind.co/#/tt/r/time-records , but we prefer time-records because the API data seems more complete. Tasks:

Data points to Ingest:

Data points to Mine:

Infrastructure:

The goal is to provide accounting with a Teramind report that can be used for weekly worked-time analysis.

Week-daily (date dim) Agent (agent dim) Facts:

CRM Data to link:

DOESN'T need to be a new report. May be Remote Agents report.

DON'T use for V1 the endpoint https://{teramind-instance}/tm-api/v1/stats/productivity

EG: Think of this report, where you can select a dat range and use a matrix for each agent to drop-down on the daily data: image

Create a new tab to show information about the Agent Activity from TV 2.0 Small in a CALENDAR FASHION, like: image

jesusitd commented 3 years ago

Pull Time Records data into Azure Blob

Proposed storage format: {yyyy-mm-dd EST}/{agent_id}/{time-record-file}_{page_num}.json

This means that a list of agents (agent id) must be pulled before running the API calls.

UPDATE deployed resource group by solution out of Logic Apps

image

UPDATE pulling TT Time Records into Azure Blob Storage

image image

jesusitd commented 3 years ago

Store metadata about Time Records (JG, Table Storage?)

An initial metadata store can be built with Table Storage (perhaps).

This would actually take a queue to be fed by the previous process. Need to define the processing mechanism, and schedules. Metadata must be broken down by TIME RECORD ID.

jesusitd commented 3 years ago

Store the Time Records in SQL (1M rows/year without scaling, as per estimation)

A SQL database will be enabled to host the individual-record granularity.

Need to define is this would be triggered by the Table Storage metadata or by a separate routing queue from the ingestion process.

This data could be processed in Power BI to generate something like this: image

jesusitd commented 3 years ago

Process the records to get aggregate data for Power BI in SQL (day-agent)

A data mining process must be in place to aggregate the data into workable chunks, as per @fedegarza specs:

This will be pushed into a SQL database for reporting.

jesusitd commented 3 years ago

Store metadata about REPORT WEB APPS (Table Storage)

Logic App: teramind-report-web-apps-blob-to-table

Azure Table: ReportWebApps

Store metadata about TT TIME RECORDS (Table Storage)

PENDING

jesusitd commented 3 years ago

DONE!

Visit Resource group: https://portal.azure.com/#@intakedesk.com/resource/subscriptions/8af0aa96-375e-4485-8946-1bd60775a318/resourceGroups/integrations-teramind/overview