Shopify Query

To create a new data set from an existing Shopify connection, follow the steps below:

  1. If you have not yet configured the database connection, see Shopify. Then proceed with the steps below.

    If you see the ‘Create Visualization’ dialog box, press the ‘Close’ button close to continue with the steps below (recommended).

    200

    You can also press Create a Query to open the ‘New Data Worksheet’ dialog box, where you can select the query you wish to create. This allows you to skip the ‘Add’ button new objects and proceed to the next steps.

  2. Open the Data Worksheet that will contain the data. (See Create a Data Worksheet or Edit a Data Worksheet.)

  3. Press the ‘Add’ button new objects, and select ‘Shopify Query’ tabular subquery. This opens the ‘Shopify Query’ dialog box.

    shopify1

  4. Enter the desired GraphQL query in the ‘Query’ field. See the GraphQL site for more information about syntax and usage. An example of a simple query (without variables or pagination) is shown below:

    {
        shop {
            name
        }
    }
  5. Enter the desired ‘JSON Path’. See JSONPath - XPath for JSON for information about the JSON Path syntax.

    Example: JSON Path

    Consider the data at https://jsonplaceholder.typicode.com/users. The JSONPath string

    $.[*][?(@.id < 4)]

    retrieves all fields (because none are specified) from all objects where the id field value is less than 4. The JSONPath string

    $.[*][?(@.id < 4)].email

    retrieves just the email field from all objects where the id field value is less than 4.

  6. Optional: Select ‘Expand Arrays’ to expand a record that contains an array into multiple records.

    Example: Expand Arrays…

    Consider the following JSON:

    {
        "id": 1,
        "items": [
            {
                "id": 1,
                "name": "Object 1",
                "list1": [ "Item 1.1.1", "Item 1.1.2" ],
                "list2": [ "Item 1.2.1", "Item 1.2.2" ]
            },
            {
                "id": 2,
                "name": "Object 2",
                "list1": [ "Item 2.1.1", "Item 2.1.2" ],
                "list2": [ "Item 2.2.1", "Item 2.2.2" ]
            }
        ]
    }

    If ‘Expand Arrays’ and ‘Top Level Only’ are both enabled (and ‘JSON Path’ is $ or blank), the top level of the array will be expanded into its individual items.

    expandArrays1

    If ‘Top Level Only’ is disabled, all arrays will be fully expanded in parallel, as shown below:

    expandArrays2

    To selectively expand only certain portions of the result, deselect the ‘Top Level Only’ option, and use the ‘Expanded Array Path’ field to specify the portion of the JSON path on which arrays should be expanded. For example, set ‘Expanded Array Path’ to items.list1 to expand the items and list1 arrays. (The top level array is always expanded.)

    expandArrays3

  7. Press OK. This creates a new data block in the Data Worksheet.

  8. Optional: Right-click on the data block, and select ‘Properties’ from the context menu. Note: You can also access menu options from the ‘More’ button (menu horizontal) in the mini-toolbar. This opens the ‘Table Properties’ panel. In the ‘Name’ field, enter a name for the data block, and press ‘OK’. (See Modify a Column for information about how to rename columns.

    Names must be unique without respect to case (e.g., "num1" is the same name as "Num1").
  9. Press the ‘Save’ button save in the toolbar to save the Data Worksheet.

You can now do pipeline operations on this data, as described in Prepare Your Data, or you can proceed to create Dashboards based on this Data Worksheet. See Visualize Your Data for information about how to construct a Dashboard.