Parameter Use Cases

Parameters are an incredibly powerful tool to help you dig into and explore your data.

For information on configuring parameters in the Exploration Canvas, click here.

For information on how to configure parameters in Stories, click here.

There are a variety of ways to utilize parameters. We’ve provided some use cases below.

Site Analytics Dashboard (beta)

The Site Analytics dashboard is a dedicated Perspectives page presenting meaningful site metrics derived from Site Analytics datasets and the Asset Inventory. To tailor this dashboard experience to your specific needs, we’ve provided a few use cases, examples, and SoQL snippets.

For more information on the Site Analytics Dashboard beta, click here.

Help your Story audience or internal colleagues understand which assets have the most views or access based on their particular access level.

For example, maybe you are concerned with a particular set of assets with more than 1,000 views, while your colleague at the executive level may be concerned with all assets with more than 25,000 views. You can create a parameter for both these use cases!

How to create this parameter

Create a number parameter and set a default threshold.

SoQL snippet 

 CASE(
`value` >= param(@rnxf-vb9t, 'popularity_threshold'),
'Popular Asset',
TRUE,
'Not Popular Asset'
) AS `popular_or_not`

Include or Exclude a Specific Type of User

Sometimes you may want to exclusively focus on roled users, community users, or even anonymous users when looking at your analytics dashboard.

For example, maybe your Open Data Program and Internal department heads are utilizing the Site Analytics dashboard. The Open Data Program may want to view these metrics based on anonymous users on the platform, while your department heads are only concerned with non-anonymous users. You can create a parameter for both these use cases!

How to create this parameter

Create a checkbox parameter and determine whether the default should include or exclude this user set.

SoQL snippet 

WHERE
((param(@rnxf-vb9t, 'include_automation') = FALSE)
AND (`access_type` != 'API read'))
OR (param(@rnxf-vb9t, 'include_automation') = TRUE)

Permitting & Licensing

Permitting and license tracking are integral parts of government entities' reporting. For example, a government’s building permitting approvals process, and its speed and effectiveness, significantly impact the pace of community development.

Compliance Ratings

How to create this parameter

Say you have a dataset (like this one) that shows each permit application and application date, issue date, final date, and expiration date, and you want to calculate how long it took from the application date to one of the other date statuses.  Create a text parameter and set which date columns you want to compare to the application date, it could be "Issue Date," "Final Date" or an "Expiration Date" as your default, which allows you to see the data based on that date.

SoQL snippet 

 CASE(
param(@t8hj-bx29, 'end_date_type') = 'Issue Date',
date_diff_d(`issue_date`, `application_date`),
param(@t8hj-bx29, 'end_date_type') = 'Final Date',
date_diff_d(`final_date`, `application_date`),
param(@t8hj-bx29, 'end_date_type') = 'Expiration Date',
date_diff_d(`expiration_date`, `application_date`)
) AS `open_application_days`

Financial & Accounting Reporting

Government entities report their financial information internally and publically to their constituents. These reports are the standard by which stakeholders judge their government's efficiency, effectiveness, and overall financial condition. Below are some examples of how parameters make financial reporting easier!

Set An Aging Date & What It’s Based on

Financial reports are typically generated based on a calculated date.

For example, an Accounts Receivable Aging report is run based on an “aging date”. This “aging date” informs you how many days past due a bill is based on whether or not you want it calculated by a bill’s distribution date or the bill’s due date. There are a couple of parameters you can set for that!

How to create this parameter

Create a date parameter and set a specific date as your default.

SoQL snippet

IIF(
    param(@t8hj-bx29, 'age_based_on') = 'Billed Date',
    IIF(
      `billed_date_for_installment1` IS NULL,
      0,
      date_diff_d(
        param(@t8hj-bx29,'aging_date'),
        `billed_date_for_installment1`
      )
    ),
    IIF(
      `due_date_for_installment1` IS NULL,
      0,
      date_diff_d(
        param(@t8hj-bx29,'aging_date'),
        `due_date_for_installment1`
      )
    )
  ) AS `days_past_due`,
  IIF(
    (`days_past_due` > 0) AND (`days_past_due` < 31),
    `total_past_due`,
    0
  ) AS `past_due_1_to_30`,
  IIF(
    (`days_past_due` > 30) AND (`days_past_due` < 61),
    `total_past_due`,
    0
  ) AS `past_due_31_to_60`,
  IIF(
    (`days_past_due` > 60) AND (`days_past_due` < 91),
    `total_past_due`,
    0
  ) AS `past_due_61_to_90`,
  IIF(
    (`days_past_due` > 90) AND (`days_past_due` < 121),
    `total_past_due`,
    0
  ) AS `past_due_91_to_120`,
  IIF(
    `days_past_due` > 120,
    `total_past_due`,
    0
  ) AS `past_due_over_120`,
  `customer`
WHERE
  case(
    (param(@rnxf-vb9t,'include_paid_bills') = FALSE)
      AND (param(@asdg-vb9t,'include_credit_balance_bills') = FALSE),
    `total_unpaid` > 0,
    (param(@rnxf-vb9t,'include_paid_bills') = TRUE)
      AND (param(@asdg-vb9t,'include_credit_balance_bills') = FALSE),
    `total_unpaid` >= 0,
    (param(@rnxf-vb9t,'include_paid_bills') = FALSE)
      AND (param(@asdg-vb9t,'include_credit_balance_bills') = TRUE),
    `total_unpaid` <> 0,
    (param(@rnxf-vb9t,'include_paid_bills') = TRUE)
      AND (param(@asdg-vb9t,'include_credit_balance_bills') = TRUE),
    (`total_unpaid` >= 0) OR (`total_unpaid` < 0)
  )

Create a text parameter and set “Billed Date” or “Due Date” as your default, which drives the aging date calculation.

SoQL snippet

IIF(
    param(@t8hj-bx29,'age_based_on') = 'Billed Date',
    IIF(
      `billed_date_for_installment1` IS NULL,
      0,
      date_diff_d(
        param(@t8hj-bx29,'aging_date'),
        `billed_date_for_installment1`
      )
    )

Below are some examples that can be used across the majority of government financial reports:

Segments

How to create this parameter

Depending on your data, create a text parameter and set a specific “Segment 3” as your default, or a number parameter and a specific “#” as your segment default.

SoQL snippet 

case(
    param(@t8hj-bx29,'segment_selection') == 'Segment 2',
    `segment2description`,
    param(@t8hj-bx29,'segment_selection') == 'Segment 3',
    `segment3description`,
    param(@t8hj-bx29,'segment_selection') == 'Segment 4',
    `segment4description`,
    param(@t8hj-bx29,'segment_selection') == 'Segment 5',
    `segment5description`,
    param(@t8hj-bx29,'segment_selection') == 'Segment 6',
    `segment6description`,
    param(@t8hj-bx29,'segment_selection') == 'Segment 7',
    `segment7description`,
    param(@t8hj-bx29,'segment_selection') == 'Segment 8',
    `segment8description`
  ) AS `Segment`

Fiscal Year

How to create this parameter

Create a number parameter and set a specific fiscal year as your default.

SoQL snippet 

iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year') - 1),
    `revised_budget`,
    0
  ) AS `revised_budget_previous_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year') - 1),
    `budget_transfer`,
    0
  ) AS `budget_transfer_previous_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year') - 1),
    `actual`,
    0
  ) AS `actual_previous_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year') - 1),
    `encumbrance`,
    0
  ) AS `encumbrance_previous_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year') - 1),
    `available_budget`,
    0
  ) AS `available_budget_previous_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year') - 1),
    `percent_of_budget_used`,
    0
  ) AS `percent_of_budget_used_previous_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year'),
    `revised_budget`,
    0
  ) AS `revised_budget_selected_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year'),
    `budget_transfer`,
    0
  ) AS `budget_transfer_selected_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year'),
    `actual`,
    0
  ) AS `actual_selected_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year'),
    `encumbrance`,
    0
  ) AS `encumbrance_selected_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year'),
    `available_budget`,
    0
  ) AS `available_budget_selected_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year'),
    `percent_of_budget_used`,
    0
  ) AS `percent_of_budget_used_selected_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year') - 1),
    `generalledgerannualamounts_original_budget`,
    0
  ) AS `original_budget_previous_year`,
  iif(
    `fiscal_year` = param(@t8hj-bx29,'selected_fiscal_year'),
    `generalledgerannualamounts_original_budget`,
    0
  ) AS `original_budget_selected_year`
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.