Standard Operating Procedures

Tier 1

Read The Entire Scope
Read The Entire Scope Again!
The workbook should start with a worksheet called IntellSettings. This worksheet should contains a completed version of the table in the Output sections of this page.

1. What is the color palette for this project?

Source Process
If Client Has Provided A Styling Guide Pull colors from the styling guide and populate the colors in the output table.
else if Client Has Provided A Logo? Color Generation Guide
else use Intellivega Default Colors Intellivega Default Colors Are Defined In The Output Table
else select primary color manually Color Generation Guide

Color Generation Guide

If you have an image
  • Navigate To Adobe Color
  • Upload Image
  • Select Primary Color
  • Navigate To Color Wheel
  • Select Complementary In The Apply Color Harmony Rule
  • Input Primary Color Into C
  • E Will Become The Secondary Color
  • A Will Become The Tertiary Color
If you do not have an image
  • Navigate To Adobe Color
  • Select Complementary In The Apply Color Harmony Rule
  • Input Primary Color Into C
  • E Will Become The Secondary Color
  • A Will Become The Tertiary Color
Video Walkthrough

2. What is the Font Style for this project?

Source Process
If Client Has Provided A Styling Guide Pull font styles from the styling guide and populate the colors in the output table.
else if Client Has Provided A Website?
  • Open the website in chrome
  • Install the What Font chrome extension
  • Click on the WhatFont icon in the toolbar
  • Click on the desired text from the website
  • Record Font Style in the output table
  • (Insert Loom Video)
else use Intellivega Font Style Intellivega Font Style Are Defined In The Output Table
Video Walkthrough

3. Project Output

Select Color Option Description Color
Colors
Primary This will be the main color you use throughout your design of the file. If the client has a style guide, use their provided colors for this and the next few steps. If not, use their website to determine their prefered colors. If no website, use their logo to determine a good match. There are websites you will use to extract color from an image/logo #00733C
Secondary This will be the secondary color used for highlighting areas and making them stand out in your visual design #BF1378
Tertiary This will be used primarilly for links and other important areas of your text and design that are not as prominent #733306
White You may need an off-white that is not the standard white. Capture what you will use. #FFFFF9
Black You may need an dark Grey that is not a standard black. Note this. #00331A
Standard Font
Font Style The standard font that *most content* in the workbook will be utilizing Franklin Gothic Book

Best Practices

What To Avoid

1. Create Data Entry Template Sheet

Data Entry tabs are any tab a user manually enter data. These tabs should have a logo and header, make use of the colors and fonts choosen above, and have an awareness to the need to focus on making capturing the data easy.

  • A. Page Header With Branding
  • B. Color code tab so the end user knows these sheet are the primary place to input data
  • C. Ttable with data headers complete with relevant entry fields
  • D. Logo for client branding
  • Use of Font & Color Selections

This is an example of the placement of content and should not be interpreted as the required styling format for a data entry screen.

2. Create Reporting Template Sheet

Reporting is any tab a user will go to gather info. It usually consists of calculations that pull data from the data entry screens. Logos and branding can be more prominent here as the goal of reports and dashboards are to "show off" the data and the brand to stakeholders.

  • A. Page Header With Branding
  • B. Date Filter
  • C. Diminesion Filters / Slicers
  • D. Visualization Area
  • *Use of Font & Color Selections

This is an example of the placement of content and should not be interpreted as the required styling format for a reporting entry screen.

The Admin worksheet serves as an unified place for the end user to adjust settings or options in the workbook.

1. Admin Worksheet

The IntellCalcs page will store measures and the calculated drop down list. This may not be the only place for measure depending on the reporting requirements but should be included as standard. The format should be as follows:

Requirements
  • User Driven Drop Downs
  • Parameter Tables (If Applicable)
  • File / Folder Path Selections
Example
This section will outline the standard method for creating drop downs for entry forms and reporting. This process will introduce the new worksheet "IntellCalcs" into our template.

1. IntellCalcs Worksheet

The IntellCalcs page will store measures and the calculated drop down list. This may not be the only place for measure depending on the reporting requirements but should be included as standard. The format should be as follows:

Requirements
  • Require For KPI / Measure Results
  • Required For Dropdowns
Example

2. Drop Downs

  • Must Be Sorted
  • Must Be Unique
  • Must Be Proper Case
  • Must Remove Duplicates
  • Must "All"" Option In DropDown List For Report/Dashboard
  • All Dropdowns Should Be Om IntellCalcs Worksheet
Video Walkthrough

Important!

This section will outline the standard method for creating drop downs for entry forms and reporting. This process will introduce the new worksheet "IntellCalcs" into our template.

1. Standard Entry Form Worksheet

  • Be Table Object
  • Have Proper Headers
  • Clean Clear Titles
  • Table Must Be Named
Video Walkthrough

2. Standard Calculations

Calculations should be included and hidden in every manual entry for unless we are doing them in Power Query when applicable.

Requirements
  • Clearly Named Columns
  • Black Header With White Text
  • Hidden From View
Commonly Used
  • Date

    • Start of Month: EOMONTH([Date],-1)+1
    • End of Month: EOMONTH([Date],0)
    • Weekending: [Date]+8-WEEKDAY([Date])
    • Year: Year([Date])
    • Weekday Name: TEXT([Date],"DDDD")
  • String Functions

    • Len LEN(text)
    • Left LEFT(text, [num_chars])
    • Mid MID(text,start_num,num_chars)
    • Right RIGHT(text,[num_chars])
    • Text Join TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)
    • Text Split TEXTSPLIT(text,col_delimiter,[row_delimiter],[ignore_empty], [match_mode], [pad_with])
  • Look Ups Functions

    • Vlookup VLOOKUP(lookup value, range containing the lookup value, the column number in the range containing the return value, optionally specify TRUE for approximate match or FALSE for an exact match)
    • Hlookup HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
    • Xlookup XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
    • IndexINDEX(array, row_num, [column_num])
    • MatchMATCH(lookup_value, lookup_array, [match_type])
    • Index With Match [Date]+8-WEEKDAY([Date])
  • IF Functions

    The IF function can evaluate multiple conditions, but it is less practical when performing several logical tests.
    • IF IF(Something is True, then do something, otherwise do something else)
    • IFERROR IFERROR(value, value_if_error)
    • SUMIF SUMIF(range, criteria, [sum_range])
    • AVERAGEIF AVERAGEIF(range, criteria, [average_range])
  • IFS Functions

    The IFS function is more practical when performing several logical tests, as it is easier to read and requires less typing.
    • IFS IFS([Something is True1, Value if True1,Something is True2,Value if True2,Something is True3,Value if True3)
    • SUMIFS SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
    • AVERAGEIFS AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

3. Include Calculation

The include columns are a best practices used to determine what rows of data should including in calculations or views. This process makes it easy to trouble shoot and update without have to do significant formulas in mutiple locations. Slicers do not work in MAC so this is the recommended process for calculations.
  • Uniue Include Per View
  • Required Process
Video Walkthrough
This Advanced Entry form most commonly referred to as Table Tools utilized VBA scripts to create a process for creating dynamic entry forms. This will require the 2019 Intellivega toolbar which can be installed from the link below.

1. Advanced Entry Form

Process
Video Walkthrough

1. Creating Parameter Table

Best Practice!

This is a best practice for loading parameters into Power Query that eliminates the firewall error that can occur during other processes

Process

  • 1. Create Parameter Table On Admin Worksheet
  • 2. Create fnGetParameter in Power Query
    (ParameterName as text) =>
    let
    ParamSource = Excel.CurrentWorkbook(){[Name="tblParameters"]}[Content],
    ParamRow = Table.SelectRows(ParamSource, each ([Parameter] = ParameterName)),
    Value=
    if Table.IsEmpty(ParamRow)=true
    then null
    else Record.Field(ParamRow{0},"Value")
    in
    Value
  • 3. How To Call fnGetParameter
  • 4. Recommended Parameters
    • File Path
    • SharePoint
    • Limit Records
Video Walkthrough

2. Hot Swapping Datasets

Best Practice!

This is a best practice for improving the loading speed of data when using sharepoint by using the local file system in place of the sharepoint during developement. This process makes it easy to change which dataset is being loaded but it's important that the sharepoint is used when delivering to the client. The unused dataset should also be disable for delivery.

Process

  • 1. Create File Path Load Query
  • 2. Create Sharepoint Load Query
  • 3. Create Dataset for Process
  • 4. Ensure Sharepoint Connection Is Used When Delivering To Client
  • 5. Disable Local File When Delivering To Client
Video Walkthrough

3. Filtering Data

Best Practice!

This is a best practice for improving the loading speed of data when using database by limiting the amount of data that is pulled in during the development process. This process makes it easy to change the limit of what is being loaded but it's important that the limit set appropriately when delivering to the client.

Process

  • 1. Limit Parameter
  • 2. Load SQL Tablke
  • 3. Add Limit Filter To SQL
    let
    mysql = if fnGetParameter("Limit Records")="" then "Select * From ProjectUpdates" else "Select * From ProjectUpdates Where CreatedOn >='" & fnGetParameter("Limit Records") & "'",
    Source = Sql.Database("mysql.intellivega.com", "intelliv_Ampv3", [Query=mysql])
    in
    Source
Video Walkthrough

4. Remove Blank

Blank rows and columns in imported dataset can cause issue when tranforming data. If you encounter this problem the following steps will remove these.

Process

  • 1. Load Into Power Query
  • 2. Remove Blank Rows
  • 3. Tranpose
  • 4. Remove Blank Rows
  • 5. Transpose
Video Walkthrough

5. Data Cleaning

Data Cleaning refers to the process of finding and correcting data that is inaccurate, inconsistent, duplicate or outdated. Each project and time you clean data you will need to make descision based off your understanding of the data. Not every data sources can be cleaned the same way.

Know This!

Garbage In Ensures Garbage Out! Having Quality Data is better than having fancy algorithms.

Test Your Data Cleaning Skills Using Power Query With The Following File:
Data Cleaning Challenge

Data Cleaning Considerations

  • 1. Data Strategy: What are the data errors? What is causing the data errors?
  • 2. Can Identified Issues Be Corrected At Source?
  • 3. Manage Duplicates
  • 4. Append Missing Data
  • 5. Clean Strings (If Applicable)
  • 6. Set Data Types Zip Code Should Strings
  • 7. Standarize Formats
  • 8. Remove Errors
  • 9. Remove Blanks
Video Walkthrough

1. Create Table Styles

Requirements

  • Create a visual style for the table that will look nice with in the reporting template that has been designed.

2. Create Pivot Table Styles

Requirements

  • Create a visual style for the pivot tables that will look nice with in the reporting template that has been designed.

3. Create Slicer Styles

Requirements

  • Create a visual style for the slicers that will look nice with in the reporting template that has been designed.

4. Create Chart Styles

Requirements

  • Create a visual style for the chart that will look nice with in the reporting template that has been designed.
App Settings
Dark Mode NEW
Adjust the appearance to reduce glare and give your eyes a break.
Header Fixed
Header Inverse
Sidebar Fixed
Sidebar Grid
Gradient Enabled
Reset Local Storage