Column-level security for embedded workbooks including receiving, by a workbook manager from a third-party user computing system, a request for an embedded workbook, wherein the request comprises a user attribute, and wherein the workbook is generated using a dataset comprising a set of columns; selecting, by the workbook manager, a subset of the set of columns of the dataset to include in the workbook based on the user attribute; retrieving, by the workbook manager, the selected subset of columns from a cloud-based data warehouse; and presenting, by the workbook manager on the third-party user computing system, the workbook comprising the selected subset of columns.
G06F 21/00 - Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p. ex. par clés ou règles de contrôle de l’accès
G06F 40/18 - Édition, p. ex. insertion ou suppression de tableauxÉdition, p. ex. insertion ou suppression utilisant des lignes réglées de tableurs
Automatic rewriting of subtotal calculations including presenting, by a table manager, a spreadsheet structure on a GUI of a client computing system, wherein the spreadsheet structure presents a data set from a cloud-based data warehouse; receiving, at a first column of the spreadsheet structure by the table manager, a formula that includes a reference to a second column of the spreadsheet structure, wherein the formula is received from the client computing system; detecting, by the table manager, that the second column includes a subtotal calculation of a third column of the spreadsheet structure; and rewriting, by the table manager, the formula by replacing the reference to the second column with the subtotal calculation of the third column.
Managing worksheet access including receiving a request from a first user account to access a worksheet shared from a second user account, wherein the worksheet comprises a worksheet architecture for at least one data set from a database; determining that the first user account is authorized to access the worksheet architecture of the worksheet; determining that the first user account is authorized to access the at least one data set presented by the worksheet; and granting the first user account access to the worksheet in response to determining that the first user account is authorized to access the worksheet architecture of the worksheet and determining that the first user account is authorized to access the at least one data set presented by the worksheet.
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Providing online non-downloadable artificial intelligence
software for answering queries to assist with data
discovery, analysis, and organization; providing online
non-downloadable software tools for developing software
applications to create work-flows, document upload features,
forecasting solutions, and management of cloud data;
providing temporary use of on-line non-downloadable software
for providing real-time, integrated business intelligence by
combining information from various databases and presenting
it in an easy-to-understand user interface, and for data
mining, data query, and data analysis.
5.
Database writeback using an intermediary statement generator
Database writeback using an intermediary statement generator including receiving, by a statement generator, a table update request to update a table within a database on a cloud-based data warehouse, wherein the table update request comprises an update value and a selection of a row and a column from the table; verifying, by the statement generator, that the selection is updatable; generating, by the statement generator based on the selection and in response to the verification, an update database statement comprising a table identifier, a column identifier, a row identifier, and the update value; and sending, by the statement generator, the update database statement to the database on the cloud-based data warehouse, wherein the table of the database is updated in response to receiving the update database statement.
Live editing editable tables including receiving, via a client computing system by a table manager, a request for an editable table stored on a cloud-based data warehouse; determining, by the table manager, that an uncommitted edit to the editable table exists, wherein the uncommitted edit is an edit made to the editable table that has not been committed to the cloud-based data warehouse at a time when the request was received; redirecting, by the table manager, the request for the editable table to an edit queue accessible by the table manager, wherein the edit queue comprises the uncommitted edit; servicing by the table manager, the request for the editable table by combining the uncommitted edit from the edit queue with the editable table from the cloud-based data warehouse; and presenting, by the table manager, the editable table on the client computing system.
Syncing data warehouse permissions using single sign-on authentication including establishing a link between a first cloud-based data warehouse and a second cloud-based data warehouse, wherein the link facilitates access to data stored in the second cloud-based data warehouse via the first cloud-based data warehouse; receiving, by the first cloud-based data warehouse, a first query referencing first data stored in the second cloud-based data warehouse; accessing, by the first cloud-based data warehouse, from the second cloud-based data warehouse, the first data; and sending a response to the first query based on the accessed first data.
Dashboard loading using a filtering query from a cloud-based data warehouse cache, including determining that a filtered result for a first filtering query is stored in a cache of a cloud-based data warehouse; sending, in response to the filtered result being stored in the cache, to the cloud-based data warehouse, a request for the filtered result from the cache; and providing, based on the filtered result for the first filtering query, one or more dashboard visualizations.
Servicing database requests using canonicalized tables including maintaining a canonical table repository of canonicalized tables, wherein each canonicalized table is a transformed version of a table previously retrieved from a database; receiving, from a client computing system, a request for a table from the database; generating a description of a canonical version of the requested table; determining whether the canonical version of the requested table matches a canonicalized table in the canonical table repository; and if the canonical version of the requested table matches the canonicalized table in the canonical table repository: transforming the matching canonicalized table based on the received request for the table; and providing, to the client computing system, the transformed matching canonicalized table.
Creating input tables accessible by multiple account roles including receiving, from a client computing system by a data visualizer, a request to create an input table at a destination location on a cloud-based data warehouse, wherein the request is associated with a first account role; determining, by the data visualizer, that the first account role has access to the destination location based on a set of permissions associated with the destination location; and creating, on the cloud-based data warehouse by the data visualizer, the input table that inherits the set of permissions from the destination location on the cloud-based data warehouse.
Executing workbook code within a cloud-based data warehouse including receiving, by a workbook manager from a client computing system, analysis code via a workbook presented on the client computing system, wherein the analysis code references data on a cloud-based data warehouse; executing, by the workbook manager, the analysis code on the cloud-based data warehouse using the referenced data to generate analysis output; and presenting, by the workbook manager, the analysis output within the workbook on the client computing system.
G06F 9/455 - ÉmulationInterprétationSimulation de logiciel, p. ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
Generating edited input tables for low-latency presentation including receiving, by a workbook manager on an intermediary computing system from a first workbook client on a first client computing system, a request for an input table on a cloud-based data warehouse, wherein the intermediary computing system and the cloud-based data warehouse are separate and distinct systems; generating, by the workbook manager, a database statement comprising an uncommitted edit, wherein the database statement configured to retrieve the input table from the cloud-based data warehouse and combine the input table with the uncommitted edit; and providing, by the workbook manager, the input table comprising the uncommitted edit to the first workbook client on the first client computing system.
Exposing parameters in referencing worksheets including receiving a request for a referencing worksheet linked from a data source worksheet, wherein the data source worksheet is a presentation of a data set from a database, and wherein the data source worksheet comprises a function utilizing an exposable parameter; generating the referencing worksheet from the data source worksheet, wherein the referencing worksheet exposes the exposable parameter without exposing the function utilizing the exposable parameter; and presenting the referencing worksheet with the exposable parameter without allowing access to the function utilizing the exposable parameter.
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Providing online non-downloadable software using artificial intelligence for answering queries to assist with data discovery, analysis, and organization; Providing online non-downloadable software application tools used for creating work-flows, charts, models, documents, and other reports; providing online non-downloadable software used for creating charts, graphs, uploading documents, creating and analyzing data models, and analyzing data in a database
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Providing online non-downloadable software using artificial intelligence for answering queries to assist with data discovery, analysis, and organization; Providing online non-downloadable software application tools used for creating work-flows, charts, models, documents, and other reports; providing online non-downloadable software used for creating charts, graphs, uploading documents, creating and analyzing data models, and analyzing data in a database
Compiling optimized database statements including receiving, by a query compiler from a client computing system, a state specification of a graphical user interface in response to a user manipulating the graphical user interface on the client computing system, wherein the state specification is in a standard file format and describes modifications to a plurality of visual elements of the graphical user interface; compiling, by the query compiler, a database statement from the state specification such that a limit clause within the database statement is processed by a database before at least one join clause; and sending, by the query compiler, the optimized database statement to a database on a cloud-based data warehouse.
Managing team access to workbooks embedded in client domains including hosting, by a workbook manager, a workbook embedded in a client domain accessible by a plurality of thirdparty user accounts divided into a plurality of teams, wherein each of the plurality of teams accesses a different underlying data set through the workbook; receiving, by the workbook manager from a client computing system, a request to create a team administrator account for a first team of the plurality of teams; and creating, by the workbook manager, the team administrator account with authorization to manage the workbook for the first team and without authorization to manage the workbook for third-party user accounts outside the first team.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p. ex. par clés ou règles de contrôle de l’accès
G06Q 10/101 - Création collaborative, p. ex. développement conjoint de produits ou de services
18.
Dashboard loading from a cloud-based data warehouse cache
Dashboard loading from a cloud-based data warehouse cache, including determining that a result for a first query is stored in a cache of a cloud-based data warehouse; sending, in response to the result being stored in the cache, to the cloud-based data warehouse, a request for the result from the cache; and providing, based on the result for the first query, one or more dashboard visualizations.
Managing team access to workbooks embedded in client domains including hosting, by a workbook manager, a workbook embedded in a client domain accessible by a plurality of third-party user accounts divided into a plurality of teams, wherein each of the plurality of teams accesses a different underlying data set through the workbook; receiving, by the workbook manager from a client computing system, a request to create a team administrator account for a first team of the plurality of teams; and creating, by the workbook manager, the team administrator account with authorization to manage the workbook for the first team and without authorization to manage the workbook for third-party user accounts outside the first team.
G06F 21/00 - Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p. ex. par clés ou règles de contrôle de l’accès
20.
Servicing database requests using derivations of canonicalized tables
Servicing database requests using derivations of canonicalized tables including maintaining a canonical table repository of canonicalized tables, wherein each canonicalized table is a transformed version of a table previously retrieved from a database; receiving, from a client computing system, a request for a table from the database; generating a description of a canonical version of the requested table; determining that the canonical version of the requested table is derivable using a canonicalized table in the canonical table repository; and in response to determining that the canonical version of the requested table is derivable using the canonicalized table in the canonical table repository: transforming the canonicalized table in the canonical table repository based on the received request for the table, including deriving a portion of the requested table using the canonicalized table in the canonical table repository; and providing, to the client computing system, the transformed canonicalized table.
Transient exploratory editing of input tables on a data warehouse including: presenting, on a client computing system by a workbook manager, an input table in a cloud-based data warehouse, wherein the input table is presented in an exploration mode that displays edits to the input table without altering the input table in the cloud-based data warehouse; receiving, by the workbook manager, a change to the input table; and modifying, by the workbook manager, a presentation of the input table reflecting the change without modifying the input table in the cloud-based data warehouse.
Editing data sets via non-editable workbooks including presenting, by a workbook manager on a client computing system, a workbook in an exploration mode that displays edits to the workbook without altering the workbook, wherein the workbook presents a data set from a cloud-based data warehouse; receiving, by the workbook manager via the workbook, a change to the workbook and an edit to the data set from a client account associated with the client computing system; determining, by the workbook manager, that the client account is authorized to edit the data set on the cloud-based data warehouse and that the client account lacks authorization to commit changes to the workbook; and applying, by the workbook manager, the edit to the data set in the cloud-based data warehouse.
Generating period-over-period calculations using a cloud-based data warehouse including receiving, from a client computing system, a request to add a comparison value column to a table, wherein the request comprises an identifier of a date column, an identifier of a base value column, and an identifier of a prior period; matching a first set of dates in the date column to a second set of dates in the date column using the identifier of the prior period; generating a database statement to create the comparison value column, including organizing the comparison value column using values corresponding to the second set of dates in the date column; retrieving the comparison value column from a cloud-based data warehouse using the database statement; and presenting, on the client computing system, the table comprising the comparison value column.
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Providing business intelligence services. Providing temporary use of on-line non-downloadable software
for providing real-time, integrated business intelligence by
combining information from various databases and presenting
it in an easy-to-understand user interface, and for data
mining, data query, and data analysis.
25.
Generating edited input tables for low-latency presentation
Generating edited input tables for low-latency presentation including receiving, by the workbook manager on an intermediary computing system from a first workbook client on a first client computing system, a request for an input table on the cloud-based data warehouse; generating, by the workbook manager, a database statement to retrieve the input table from the cloud-based data warehouse, wherein generating the database statement comprises: determining that a cache on the intermediary computing system includes an uncommitted input table edit; and inserting the uncommitted input table edit into the database statement; retrieving, by the workbook manager, query results from the cloud-based data warehouse using the database statement, wherein the query results comprise the input table and the uncommitted input table edit; and providing, by the workbook manager, the query results to the first workbook client on the first client computing system.
Augmenting decision-making via interactive what-if analysis including presenting, by a query execution engine, via a graphical user interface, a constrained analysis view that indicates a set of values for a plurality of driver variables, where the graphical user interface receives requests for data and present data; receiving a state specification of the graphical user interface that includes a constraint on a value of a driver variable of the plurality of driver variables; generating, by the query execution engine, a database query using the received state specification that is composed to retrieve a query result from a cloud-based data warehouse; based on the query result, calculating an updated set of values for the plurality of driver variables that result in an optimized value for the target variable while the constraint on the driver variable is in effect; and presenting the updated set of values in an updated view.
Directly accessing and organizing data sets from a data warehouse including receiving, by a data analyzer, a request from a service provider client instructing the data analyzer to retrieve a data set from a service provider data warehouse, wherein the service provider client is a client of a service provider, wherein the service provider data warehouse stores data sets for the service provider, and wherein the service provider client accesses the data analyzer and the service provider data warehouse without providing credentials; retrieving, by the data analyzer, the data set directly from the service provider data warehouse using credentials provided by the service provider; organizing, by the data analyzer, the data set into a worksheet; and presenting, by the data analyzer to the service provider client, the worksheet comprising the data set.
Enabling editable tables on a cloud-based data warehouse including receiving, by a query manager, a client-provided table; receiving, by the query manager from a query manager client, a request to create a referencing worksheet using, as data sources, the client-provided table and a database table on a cloud-based data warehouse; storing, by the query manager, the client-provided table in the schema storage location on the cloud-based data warehouse, wherein the schema storage location is a storage location on the cloud-based data warehouse to which the query manager has read and write access, and wherein the database table is external to the schema storage location; generating, by the query manager, a database query to create the referencing worksheet, wherein the database query targets the client-provided table in the schema storage location and the database table; and issuing, by the query manager, the database query to the cloud-based data warehouse.
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
(1) Providing business intelligence services.
(2) Providing temporary use of on-line non-downloadable software for providing real-time, integrated business intelligence by combining information from various databases and presenting it in an easy-to-understand user interface, and for data mining, data query, and data analysis.
30.
ARRANGING WORKBOOK ELEMENTS USING A DYNAMIC GRID LAYOUT
Arranging workbook elements using a dynamic grid layout including presenting, by a workbook client on a client computing system, a workbook comprising an element grid for placing workbook elements, wherein the element grid comprises a plurality of grid columns and a plurality of grid rows; receiving, by the workbook client at a particular location within the element grid, a first workbook element for placement on the element grid, wherein the particular location is between two lines of the element grid; and moving, by the workbook client, the first workbook element to align with a nearest line of the two lines of the element grid.
Arranging workbook elements using a dynamic grid layout including presenting, by a workbook client on a client computing system, a workbook comprising an element grid for placing workbook elements, wherein the element grid comprises a plurality of grid columns and a plurality of grid rows; receiving, by the workbook client at a particular location within the element grid, a first workbook element for placement on the element grid, wherein the particular location is between two lines of the element grid; and moving, by the workbook client, the first workbook element to align with a nearest line of the two lines of the element grid.
Creating data warehouse views for input tables including: selecting, by a workbook manager, a subset of columns of an input table stored in a cloud-based data warehouse, wherein the subset of columns excludes one or more metadata columns of the input table; generating, by the workbook manager, a view of the input table based on the subset of columns; and storing, by the workbook manager, the view of the input table in the cloud-based data warehouse.
Creating data warehouse views for input tables including: selecting, by a workbook manager, a subset of columns of an input table stored in a cloud-based data warehouse, wherein the subset of columns excludes one or more metadata columns of the input table; generating, by the workbook manager, a view of the input table based on the subset of columns; and storing, by the workbook manager, the view of the input table in the cloud-based data warehouse.
Providing access to usage reports on a cloud-based data warehouse including maintaining, by a management module, a metadata table on the cloud-based data warehouse, wherein the metadata table comprises usage reports for a plurality of organizations; receiving, by the management module, a request for the metadata table from an administrator account for a first organization of the plurality of organizations; granting, by the management module, the administrator account permission to access a filtered portion of the metadata table, wherein the filtered portion of the metadata table is generated by filtering the metadata table by an organization identifier of the first organization; and providing, by the management module, the filtered portion of the metadata table to the administrator account.
Augmenting decision-making via interactive what-if analysis including receiving, by a query execution engine, a state specification of a graphical user interface that includes a selection of driver importance variables that correlate to a target variable, generating, by the query execution engine, a database query using the received state specification, wherein the database query is composed to retrieve a query result from a cloud-based data warehouse, based on the query result, calculating, by the query execution engine, an importance value of each selected driver importance variable relative to the target variable, and presenting the calculated importance value in a driver importance view of the graphical user interface.
G06Q 10/0637 - Gestion ou analyse stratégiques, p. ex. définition d’un objectif ou d’une cible pour une organisationPlanification des actions en fonction des objectifsAnalyse ou évaluation de l’efficacité des objectifs
36.
DISTRIBUTING DATASET REQUESTS ACROSS SERVICE TIERS
Distributing dataset requests across service tiers including generating, by a workbook client, a dataset request for a dataset to populate a workbook for presentation on a client computing system, wherein data for the dataset is stored on a cloud-based data warehouse; determining, by the workbook client, a set of service tiers capable of servicing at least a portion of the dataset request, wherein the set of service tiers comprises the cloud-based data warehouse; selecting, by the workbook client from the set of service tiers, a combination of service tiers to service the dataset request based on at least one selection policy; and issuing, by the workbook client, the dataset request to the selected combination of service tiers.
Distributing dataset requests across service tiers including generating, by a workbook client, a dataset request for a dataset to populate a workbook for presentation on a client computing system, wherein data for the dataset is stored on a cloud-based data warehouse; determining, by the workbook client, a set of service tiers capable of servicing at least a portion of the dataset request, wherein the set of service tiers comprises the cloud-based data warehouse; selecting, by the workbook client from the set of service tiers, a combination of service tiers to service the dataset request based on at least one selection policy; and issuing, by the workbook client, the dataset request to the selected combination of service tiers.
Cost attribution using resource switching including receiving, by a workbook manager from a first client computing system, a first request for a workbook presenting a dataset from a cloud-based data warehouse, wherein the first request comprises a first user attribute; selecting, by the workbook manager, a first resource warehouse on the cloud-based data warehouse based on the first user attribute, wherein the first resource warehouse tracks resources used to service data requests on the cloud-based data warehouse; retrieving, by the workbook manager, the dataset from the cloud-based data warehouse using the first resource warehouse matched to the first user attribute; and presenting, on the first client computing system by the workbook manager, the workbook presenting the dataset.
Cost attribution using resource switching including receiving, by a workbook manager from a first client computing system, a first request for a workbook presenting a dataset from a cloud-based data warehouse, wherein the first request comprises a first user attribute; selecting, by the workbook manager, a first resource warehouse on the cloud-based data warehouse based on the first user attribute, wherein the first resource warehouse tracks resources used to service data requests on the cloud-based data warehouse; retrieving, by the workbook manager, the dataset from the cloud-based data warehouse using the first resource warehouse matched to the first user attribute; and presenting, on the first client computing system by the workbook manager, the workbook presenting the dataset.
Annotating data points on a workbook element, including: receiving, by a workbook manager from a client computing system, an annotation for a data point of an element of a workbook, wherein the workbook presents a dataset from a cloud-based data warehouse; and storing, by the workbook manager and into the cloud-based data warehouse, the annotation in association with a record in the dataset corresponding to the data point.
Annotating data points on a workbook element, including: receiving, by a workbook manager from a client computing system, an annotation for a data point of an element of a workbook, wherein the workbook presents a dataset from a cloud-based data warehouse; and storing, by the workbook manager and into the cloud-based data warehouse, the annotation in association with a record in the dataset corresponding to the data point.
Audit logging for input tables on a data warehouse including: receiving, by a workbook manager from a client computing system, a modification to an input table of a plurality of input tables stored in a cloud-based data warehouse; and storing, by the workbook manager, in an audit table stored in the cloud-based data warehouse, an entry describing the modification to the input table, wherein the audit table is configured to store entries describing modifications to any of the plurality of input tables.
G06F 16/907 - Recherche caractérisée par l’utilisation de métadonnées, p. ex. de métadonnées ne provenant pas du contenu ou de métadonnées générées manuellement
G06F 16/22 - IndexationStructures de données à cet effetStructures de stockage
G06F 16/25 - Systèmes d’intégration ou d’interfaçage impliquant les systèmes de gestion de bases de données
47.
AUDIT LOGGING FOR INPUT TABLES ON A DATA WAREHOUSE
Audit logging for input tables on a data warehouse including; receiving, by a workbook manager from a client computing system, a modification to an input table of a plurality of input tables stored in a cloud-based data warehouse; and storing, by the workbook manager, in an audit table stored in the cloud-based data warehouse, an entry describing the modification to the input table, wherein the audit table is configured to store entries describing modifications to any of the plurality of input tables.
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Providing business intelligence services Providing temporary use of on-line non-downloadable software for providing real-time, integrated business intelligence by combining information from various databases and presenting it in an easy-to-understand user interface, and for data mining, data query, and data analysis
Top frequency worksheet filtering including sending a first request comprising a first search term; receiving, in response to the first request, a first plurality of distinct values having a greatest frequency in a data set and responsive to the first search term, wherein the first plurality of distinct values comprises a number of distinct values less than or equal to a size threshold; presenting the first plurality of distinct values; receiving a selection of a first value from the first plurality of distinct values; and filtering, based on the selected first value, a worksheet comprising a presentation of the data set.
Systems and methods of fetching ideal data sets based on usage patterns are disclosed. The systems and methods include receiving a state specification of a graphical user interface, the state specification corresponding to a database query composed to retrieve, from a cloud-based data warehouse, a first data set associated with a workbook; identifying, for the workbook, a previous usage pattern representing a set of interactions with the workbook on a client computing device; determining, based on the identified previous usage pattern, a set of database queries that is anticipated to be executed by the client computing device, wherein the set of database queries corresponds to a second data set; and fetching, from the cloud-based data warehouse, a one or more execution results that include the first data set and the second data set.
Live editing a workbook with multiple clients including receiving, by a workbook manager from a first workbook client, a first workbook patch comprising a base version ID and a first workbook edit; determining, by the workbook manager, that the base version ID from the first workbook patch matches the version ID for a confirmed workbook on the workbook manager; applying, by the workbook manager, the first workbook edit to the confirmed workbook on the workbook manager; advancing, by the workbook manager, the version ID for the confirmed workbook; and sending, by the workbook manager, an acknowledgement of the first workbook patch to the first workbook client.
Systems and methods of fetching ideal data sets based on usage patterns are disclosed. The systems and methods include receiving a state specification of a graphical user interface, the state specification corresponding to a database query composed to retrieve, from a cloud-based data warehouse, a first data set associated with a workbook; identifying, for the workbook, a previous usage pattern representing a set of interactions with the workbook on a client computing device; determining, based on the identified previous usage pattern, a set of database queries that is anticipated to be executed by the client computing device, wherein the set of database queries corresponds to a second data set; and fetching, from the cloud-based data warehouse, a one or more execution results that include the first data set and the second data set.
Compiling optimized database statements including receiving, by a query compiler from a client computing system, a state specification of a graphical user interface in response to a user manipulating the graphical user interface on the client computing system, wherein the state specification is in a standard file format and describes modifications to a plurality of visual elements of the graphical user interface; compiling, by the query compiler, a database statement from the state specification such that a limit clause within the database statement is processed by a database before at least one join clause; and sending, by the query compiler, the optimized database statement to a database on a cloud-based data warehouse.
Syncing data warehouse permissions using single sign-on authentication including establishing a link between a first cloud-based data warehouse and a second cloud-based data warehouse, wherein the link facilitates access to data stored in the second cloud-based data warehouse via the first cloud-based data warehouse; receiving, by the first cloud-based data warehouse, a first query referencing first data stored in the second cloud-based data warehouse; accessing, by the first cloud-based data warehouse, from the second cloud-based data warehouse, the first data; and sending a response to the first query based on the accessed first data.
Adding a column into a worksheet, including: receiving, via a spreadsheet interface comprising a first worksheet, a request to add a new column to the first worksheet, wherein the request includes a key that identifies a reference column in the first worksheet, a specification of a second worksheet that comprises a corresponding reference column related by the key, and a specification of a data column in the second worksheet, wherein each entry of the data column is associated with an entry of the corresponding reference column in the second worksheet, and entries to be included in the requested new column will be based on the entries of the data column; generating, based on the request, a database query; and receiving, from a database and in response to the database query, a query result comprising the new column to be added to the first worksheet.
G06F 16/20 - Recherche d’informationsStructures de bases de données à cet effetStructures de systèmes de fichiers à cet effet de données structurées, p. ex. de données relationnelles
Live editing a workbook with multiple clients including receiving, by a workbook manager from a first workbook client, a first workbook patch comprising a base version ID and a first workbook edit; determining, by the workbook manager, that the base version ID from the first workbook patch matches the version ID for a confirmed workbook on the workbook manager; applying, by the workbook manager, the first workbook edit to the confirmed workbook on the workbook manager; advancing, by the workbook manager, the version ID for the confirmed workbook; and sending, by the workbook manager, an acknowledgement of the first workbook patch to the first workbook client.
Dynamic dimension binding for workbook elements including presenting, by a workbook manager, a workbook element on a GUI of a client computing system, wherein the workbook element presents a data set from a cloud-based data warehouse; receiving, by the workbook manager via the GUI, a formula that includes a reference to a channel within the workbook element, wherein the channel of the workbook element is bound to a first dimension of the data set; detecting, by the workbook manager, that the formula references the channel within the workbook element; and rewriting by the workbook manager, the formula by replacing the reference to the channel within the workbook element with the first dimension bound to the channel.
Dashboard loading from a cloud-based data warehouse cache, including determining that a result for a first query is stored in a cache of a cloud-based data warehouse; sending, in response to the result being stored in the cache, to the cloud-based data warehouse, a request for the result from the cache; and providing, based on the result for the first query, one or more dashboard visualizations.
Automatic rewriting of subtotal calculations including presenting, by a table manager, a spreadsheet structure on a GUI of a client computing system, wherein the spreadsheet structure presents a data set from a cloud-based data warehouse; receiving, at a first column of the spreadsheet structure by the table manager, a formula that includes a reference to a second column of the spreadsheet structure, wherein the formula is received from the client computing system; detecting, by the table manager, that the second column includes a subtotal calculation of a third column of the spreadsheet structure; and rewriting, by the table manager, the formula by replacing the reference to the second column with the subtotal calculation of the third column.
Workbook template sharing including receiving, by a table manager, a request to create a workbook from a workbook template using data in a cloud-based data warehouse, wherein the workbook template comprises a fingerprint describing an input schema hierarchy; determining, by the table manager, data pathways for the workbook by matching the fingerprint of the workbook template to a schema hierarchy of the data in the cloud-based data warehouse; and generating, by the table manager, the workbook according to the workbook template using the data pathways.
Live editing a workbook with multiple clients including receiving, by a table manager, a request by a first client on a first client computing system to edit a workbook in an exploration mode that displays edits to the workbook without altering the workbook; receiving, by the table manager from the first client, an exploration edit targeting the exploration of the workbook; applying, by the table manager, the exploration edit to the exploration of the workbook; and presenting, by the table manager to a second client on a second client computing system, the application of the exploration edit to the exploration of the workbook.
H04L 65/403 - Dispositions pour la communication multipartite, p. ex. pour les conférences
H04L 65/401 - Prise en charge des services ou des applications dans laquelle les services impliquent une session principale en temps réel et une ou plusieurs sessions parallèles additionnelles en temps réel ou sensibles au temps, p. ex. accès partagé à un tableau blanc ou mise en place d’une sous-conférence
63.
Managing access to usage data on a cloud-based data warehouse
Managing access to usage data on a cloud-based data warehouse including storing, by a table manager, usage data for a plurality of organizations in a table within a cloud-base data warehouse; receiving, by the table manager from a first client, a request for usage data for a first organization of the plurality of organizations, wherein the first client is associated with the first organization; and retrieving, by the table manager, the requested usage data for the first organization using a parameterized connection to the cloud-based data warehouse, wherein the parameterized connection provides access to the usage data for the first organization and blocks access to usage data for each other organization in the plurality of organizations.
Editing data-warehouse tables using managed input tables including presenting, by a table manager via a client computing system, a base table from a cloud-based data warehouse; receiving, by the table manager, an instruction to modify the base table, wherein the instruction comprises a table edit; applying, by the table manager, the table edit to an input table on the cloud-based data warehouse; and creating, by the table manager, a modified base table by generating a database statement composed to combine the base table with the input table.
Live editing editable tables including receiving, via a client computing system by a table manager on an intermediary computing system, a request for an editable table stored on a cloud-based data warehouse; determining, by the table manager, that the requested editable table includes an uncommitted edit, wherein the uncommitted edit is an edit made to the editable table that has not been committed to the cloud-based data warehouse; redirecting, by the table manager, the request for the editable table to an edit queue on the intermediary computing system, wherein the edit queue comprises the uncommitted edit; and servicing, by the table manager, the request for the editable table using the edit queue on the intermediary computing system.
Prefetching query results using expanded queries including generating a database query using a state specification of a graphical user interface, wherein the database query is composed to retrieve initial results from a cloud-based data warehouse; determining that the database query is expandable; modifying the database query to retrieve expanded results from the cloud-based data warehouse, wherein the expanded results include the initial results; and fetching, from the cloud-based data warehouse, the expanded results using the modified database query.
Evaluating stored query results including generating a database query using a state specification of a graphical user interface, wherein the database query is composed to retrieve a current query result from a cloud-based data warehouse; searching a cache local to the query execution engine for the current query result, wherein the cache comprises a first previous query result from the cloud-based data warehouse; determining, based on the searching, that the current query result may be generated using the first previous query result from the cache; and creating the current query result using at least a portion of the first previous query result from the cache.
Editing and updating database tables on a cloud-based data warehouse including receiving, by a table manager via a client computing system, an instruction to edit a modified base table on the cloud-based data warehouse, wherein the instruction comprises a table edit targeting the modified base table; locating, by the table manager, a modifications table on the cloud-based data warehouse associated with the modified base table, wherein the modified base table comprises a base table and the modifications table; and servicing the instruction to edit the modified base table by generating a database statement targeting the cloud-based data warehouse to apply the table edit to the modifications table associated with the modified base table.
Assigning sequence numbers in editable tables including receiving, by a table manager via a client computing system, an instruction to create a new row on an editable table in a cloud-based data warehouse, wherein the instruction comprises a column value and a row identifier of an adjacent row; calculating, by the table manager, a sequence value for a sequence column of the new row based on the row identifier of the adjacent row; and generating, by the table manager, a database statement instructing the cloud-based data warehouse to add the new row, including the column value and sequence value, to the editable table on the cloud-based data warehouse.
Live editing editable tables including receiving, via a client computing system by a table manager on an intermediary computing system, a request for an editable table stored on a cloud-based data warehouse; determining, by the table manager, that the requested editable table includes an uncommitted edit, wherein the uncommitted edit is an edit made to the editable table that has not been committed to the cloud-based data warehouse; redirecting, by the table manager, the request for the editable table to an edit queue on the intermediary computing system, wherein the edit queue comprises the uncommitted edit; and servicing, by the table manager, the request for the editable table using the edit queue on the intermediary computing system.
Versioning in editable tables including receiving, by a table manager via a client computing system, an instruction to edit a first row in an editable table in a cloud-based data warehouse, wherein the instruction comprises a column value; determining, by the table manager, a version value for the edit to the first row; and generating, by the table manager, a database statement instructing the cloud-based data warehouse to create, in the editable table, a second row including the version value and the column value.
Remote storage of sensitive data for editable tables including receiving, via a client computing system, an instruction to add client data to an editable table in a cloud-based data warehouse, wherein the instruction comprises the client data and a table edit to the editable table; sending the client data to a client data log on the cloud-based data warehouse; storing, in an edit queue on an intermediary computing system, the table edit with a reference to the client data in the client data log on the cloud-based data warehouse; and generating a database statement to add the client data to the editable table in the cloud-based data warehouse, wherein the database statement lacks the client data and comprises the reference to the client data in the client data log on the cloud-based data warehouse.
Data visualization with derived dimensional hierarchy including presenting, by a table manager via a graphical user interface (GUI) on a client computing system, column identifiers from a table retrieved from a cloud-based data warehouse; receiving, by the table manager, an instruction to generate a first visualization, wherein the instruction to generate the first visualization comprises a selection of column identifiers; deriving, by the table manager, a dimensional hierarchy based on the selected column identifiers; and generating, by the table manager based on the derived dimensional hierarchy, the first visualization in the GUI of the client computing system.
Data visualization with derived dimensional hierarchy including presenting, by a table manager via a graphical user interface (GUI) on a client computing system, column identifiers from a table retrieved from a cloud-based data warehouse; receiving, by the table manager, an instruction to generate a first visualization, wherein the instruction to generate the first visualization comprises a selection of column identifiers; deriving, by the table manager, a dimensional hierarchy based on the selected column identifiers; and generating, by the table manager based on the derived dimensional hierarchy, the first visualization in the GUI of the client computing system.
Search using data warehouse grants including determining, for a user, one or more access grants for a cloud-based data warehouse, each of the access grants comprising an object identifier of a data object accessible to the user; generating a search query comprising one or more search terms and a filter based on each of the access grants; sending the search query to a search indexing service configured to maintain an index of the cloud-based data warehouse; and receiving, in response to the search query, first search results responsive to the one or more search terms and included in a scope based on the filter.
Servicing database requests using canonicalized tables including receiving, from a client computing system, a request for a table from a database; determining that a canonical version of the requested table matches a canonicalized table in a canonical table repository; and providing, to the client computing system, the matching canonicalized table that is transformed based on the received request for the table.
Servicing database requests using derivations of canonicalized tables including maintaining a canonical table repository of canonicalized tables, wherein each canonicalized table is a transformed version of a table previously retrieved from a database; receiving, from a client computing system, a request for a table from the database; generating a description of a canonical version of the requested table; determining that the canonical version of the requested table is derivable using a canonicalized table in the canonical table repository; and in response to determining that the canonical version of the requested table is derivable using the canonicalized table in the canonical table repository: transforming the canonicalized table in the canonical table repository based on the received request for the table, including deriving a portion of the requested table using the canonicalized table in the canonical table repository; and providing, to the client computing system, the transformed canonicalized table.
Supplanting access credentials for shared data visualizations including receiving, from a first identity provider (IDP) account, a request to generate a data visualization utilizing restricted data from a cloud-based data warehouse, wherein the data visualization is generated by accessing the restricted data using the first IDP account; in response to receiving a request to share the data visualization with a receiving entity without access to the restricted data, associating, by a data visualizer, the data visualization with a service account with access to the restricted data, wherein the service account is not authenticated as a user of the first IDP account; and providing, by the data visualizer to the receiving entity, access to the data visualization including generating the data visualization by accessing, using the service account, the restricted data from the cloud-based data warehouse.
Compiling a database query including receiving, by a query compiler from a client computing system, a state specification of a graphical user interface comprising a worksheet, wherein the worksheet is a presentation of a data set from a data warehouse; converting, by the query compiler, the state specification into a database query including determining a first order of operations for elements within the state specification; and sending the database query to the data warehouse.
Creating a model data set using a spreadsheet interface including generating the model data set using the spreadsheet interface and a first data source from a data warehouse, wherein the model data set is a reusable modeling layer comprising at least a portion of the first data source, and wherein generating the model data set comprises: creating a first worksheet using the spreadsheet interface and the first data source; receiving an indication that the first worksheet is a model data set; and generating model data set metadata for the first worksheet; and providing, as a second data source for a second worksheet, the model data set generated from the model data set metadata.
Maintaining cardinality of rows while joining worksheets from a database including receiving a request to join, to a first worksheet, a second worksheet from the database; for each row in the first worksheet: generating a join row for data from the second worksheet on the database; in response to determining that there is at least one matching row in the second worksheet on the database: compare a maximum value and a minimum value for each column in each row of the at least one matching row; if the maximum value and the minimum value match, store a matching value in a corresponding column of the join row; and if the maximum value and the minimum value do not match, store a multiple value indication in the corresponding column of the join row; and presenting the join row adjacent to a corresponding row in the first worksheet.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
Database writeback using an intermediary statement generator including receiving, by a statement generator, a table update request to update a table within a database on a cloud-based data warehouse, wherein the table update request comprises an update value and a selection of a row and a column from the table; verifying, by the statement generator, that the selection is updatable; generating, by the statement generator based on the selection and in response to the verification, an update database statement comprising a table identifier, a column identifier, a row identifier, and the update value; and sending, by the statement generator, the update database statement to the database on the cloud-based data warehouse, wherein the table of the database is updated in response to receiving the update database statement.
Database writeback using an intermediary statement generator including receiving, by a statement generator, a table update request to update a table within a database on a cloud-based data warehouse, wherein the table update request comprises an update value and a selection of a row and a column from the table; verifying, by the statement generator, that the selection is updatable; generating, by the statement generator based on the selection and in response to the verification, an update database statement comprising a table identifier, a column identifier, a row identifier, and the update value; and sending, by the statement generator, the update database statement to the database on the cloud-based data warehouse, wherein the table of the database is updated in response to receiving the update database statement.
Optimizing database statements using a query compiler including receiving, by a query compiler from a client computing system, a state specification of a graphical user interface; compiling, by the query compiler, a database statement from the state specification, including: optimizing the database statement by repositioning, within the database statement, a limit clause such that the limit clause is processed by the database before at least one join clause; and sending, by the query compiler, the optimized database statement to a database on a cloud-based data warehouse.
Optimizing database statements using a query compiler including receiving, by a query compiler from a client computing system, a state specification of a graphical user interface; compiling, by the query compiler, a database statement from the state specification, including: optimizing the database statement by repositioning, within the database statement, a limit clause such that the limit clause is processed by the database before at least one join clause; and sending, by the query compiler, the optimized database statement to a database on a cloud-based data warehouse.
Supplanting access credentials for shared data visualizations including receiving, from a first identity provider (IDP) account, a request to generate a data visualization utilizing restricted data from a cloud-based data warehouse, wherein the data visualization is generated by accessing the restricted data using the first IDP account; in response to receiving a request to share the data visualization with a receiving entity without access to the restricted data, associating, by a data visualizer, the data visualization with a service account with access to the restricted data, wherein the service account is not authenticated as a user of the first IDP account; and providing, by the data visualizer to the receiving entity, access to the data visualization including generating the data visualization by accessing, using the service account, the restricted data from the cloud-based data warehouse.
Generating a data warehouse index including storing a refresh token for a user; obtaining, automatically without user interaction, an access token for the user from an identity provider including providing the refresh token to the identity provider along with credentials for the access manager; submitting, to a data warehouse, one or more queries requesting connection information for data structures of the data warehouse accessible by the user, including providing to the data warehouse the access token for authorization of the user; receiving, from the data warehouse in response to the queries, one or more responses specifying connection information for data structures of the data warehouse accessible by the user; and generating an index of the data warehouse for the user based on the received connection information for data structures of the data warehouse accessible by the user.
Supplanting access credentials for shared data visualizations including receiving, from a first identity provider (IDP) account, a request to generate a data visualization utilizing restricted data from a cloud-based data warehouse, wherein the data visualization is generated by accessing the restricted data using the first IDP account; in response to receiving a request to share the data visualization with a receiving entity without access to the restricted data, associating, by a data visualizer, the data visualization with a service account with access to the restricted data, wherein the service account is not authenticated as a user of the first IDP account; and providing, by the data visualizer to the receiving entity, access to the data visualization including generating the data visualization by accessing, using the service account, the restricted data from the cloud-based data warehouse.
The present invention relates to methods, apparatus, and products for generating a data warehouse index. Generating a data warehouse index includes storing a refresh token for a user and obtaining, automatically without user interaction, an access token for the user from an identity provider. Subsequently, one or more queries are submitted to a data warehouse requesting connection information for data structures of the data warehouse accessible by the user. During the query submission, the access token for authorization of the user is provided to the data warehouse. One or more responses are then received from the data warehouse specifying connection information for data structures of the data warehouse accessible by the user. Finally, an index of the data warehouse for the user based on the received connection information for data structures of the data warehouse accessible by the user.
G06F 16/25 - Systèmes d’intégration ou d’interfaçage impliquant les systèmes de gestion de bases de données
H04L 9/32 - Dispositions pour les communications secrètes ou protégéesProtocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
Enabling editable tables on a cloud-based data warehouse including receiving, by a query manager from a query manager client, a request to create a referencing worksheet using, as a data source, a client-provided table; storing, by the query manager, the client-provided table on the cloud-based data warehouse; generating, by the query manager, a database query to create the referencing worksheet, wherein the database query targets the client-provided table on the cloud-based data warehouse; and issuing, by the query manager, the database query to the cloud-based data warehouse.
Generating a database query using a dimensional hierarchy within a graphical user interface including displaying a data set within a spreadsheet structure, wherein the data set comprises a plurality of columns; displaying a list structure comprising a first level and a second level; receiving a selection of a first column of the plurality of columns as a first key for the first level in the list structure; receiving a selection of a second column of the plurality of columns as a second key for the second level in the list structure; and in response to receiving the selection of the first column and receiving the selection of the second column and based on an order of the first key and the second key in the list structure, generating the database query defining a hierarchical relationship between the first column and the second column.
Creating accessible model data sets including receiving, by a query manager via a spreadsheet interface, an instruction to create a model data set using a data source from a data warehouse, wherein the model data set is a reusable modeling layer comprising at least a portion of the data source; building, by the query manager using the instruction to create the model data set, a first query statement comprising instructions to generate the model data set from the portion of the data source; and storing, by the query manager, the first query statement in a schema storage location within the data warehouse.
Creating accessible model data sets including receiving, by a query manager via a spreadsheet interface, an instruction to create a model data set using a data source from a data warehouse, wherein the model data set is a reusable modeling layer comprising at least a portion of the data source; building, by the query manager using the instruction to create the model data set, a first query statement comprising instructions to generate the model data set from the portion of the data source; and storing, by the query manager, the first query statement in a schema storage location within the data warehouse.
Tracking errors in data set lineage including receiving, from a user, a change to a model data set, wherein the model data set is a reusable modeling layer comprising at least a portion of a data source retrieved from a data warehouse; accessing a list of dependent worksheets utilizing the model data set as a data source wherein each dependent worksheet is configured to perform analysis on the portion of the first data source within the model data set without changing the model data set; generating an error report for the dependent worksheets utilizing the model data set; and providing, to the user, the error report for the dependent worksheets utilizing the model data set.
Tracking errors in data set lineage including receiving, from a user, a change to a model data set, wherein the model data set is a reusable modeling layer comprising at least a portion of a data source retrieved from a data warehouse; accessing a list of dependent worksheets utilizing the model data set as a data source wherein each dependent worksheet is configured to perform analysis on the portion of the first data source within the model data set without changing the model data set; generating an error report for the dependent worksheets utilizing the model data set; and providing, to the user, the error report for the dependent worksheets utilizing the model data set.
Compiling a database query including receiving, by a query compiler from a client computing system, a state specification of a graphical user interface comprising a worksheet, wherein the worksheet is a presentation of a data set from a data warehouse; converting, by the query compiler, the state specification into a worksheet algebra including determining a first order of operations for elements within the state specification, wherein the worksheet algebra comprises the first order of operations over a nested table; converting, by the query compiler, the worksheet algebra into a database query; and sending the database query to the data warehouse.
Dashboard loading using a filtering query from a cloud-based data warehouse cache, including determining that a filtered result for a first filtering query is stored in a cache of a cloud-based data warehouse; sending, in response to the filtered result being stored in the cache, to the cloud-based data warehouse, a request for the filtered result from the cache; and providing, based on the filtered result for the first filtering query, one or more dashboard visualizations.
Compiling a database query including receiving, by a query compiler from a client computing system, a state specification of a graphical user interface comprising a worksheet, wherein the worksheet is a presentation of a data set from a data warehouse; converting, by the query compiler, the state specification into a worksheet algebra including determining a first order of operations for elements within the state specification, wherein the worksheet algebra comprises the first order of operations over a nested table; converting, by the query compiler, the worksheet algebra into a database query; and sending the database query to the data warehouse.
Dashboard loading from a cloud-based data warehouse cache, including determining that a result for a first query is stored in a cache of a cloud-based data warehouse; sending, in response to the result being stored in the cache, to the cloud-based data warehouse, a request for the result from the cache; and providing, based on the result for the first query, one or more dashboard visualizations.
Dashboard loading using a filtering query from a cloud-based data warehouse cache, including determining that a filtered result for a first filtering query is stored in a cache of a cloud-based data warehouse; sending, in response to the filtered result being stored in the cache, to the cloud-based data warehouse, a request for the filtered result from the cache; and providing, based on the filtered result for the first filtering query, one or more dashboard visualizations.