Set of Xml Based AddOns for Alteryx
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
AlteryxAbacus
DateUtils.Test Unit Tests, Create Release Mar 6, 2017
MathUtils.Test Final unit tests and code tweaks for 1.3 Aug 7, 2017
MiscUtils.Test Include build of C++ in release Apr 26, 2017
Sample.Test Unit Tests, Create Release Mar 6, 2017
StringUtils.Test Unit Tests, Create Release Mar 6, 2017
.gitignore Overhaul of the install scripts Feb 21, 2017
AlteryxAbacus.dll Final 1.3 enhancement manual in build Aug 7, 2017
AlteryxAbacus.sln
CreateRelease.ps1
CreateSet.png Unit Tests for Misc and String Utils May 10, 2016
CreateSet.yxmc
DateUtils.xml v1.3 Code complete Aug 7, 2017
FirstAddIn.xml Match blog entry Aug 10, 2016
Install - Debug.bat Move to PowerShell Installer Apr 26, 2017
Install - Release.bat Move to PowerShell Installer Apr 26, 2017
Install Win7.bat Installers... Sep 27, 2017
Install.bat
Installer.ps1
Installer.yxwz
LinkDebug.ps1
MathUtils.xml v1.3 Code complete Aug 7, 2017
MiscUtils.xml Missed one file Jul 5, 2017
README.md Some work based on Ned's comments Jul 20, 2018
RunUnitTests.ps1 New installer and uninstaller Apr 27, 2017
RunUnitTests.yxmd Unit Tests, Create Release Mar 6, 2017
StringUtils.xml
Uninstall Win7.bat Installers... Sep 27, 2017
Uninstall.bat Installers... Sep 27, 2017
Uninstaller.ps1
abacus.png
vswhere.exe Include build of C++ in release Apr 26, 2017

README.md

Alteryx Formula Add Ons

Set of XML and C++ Based Formula Add Ons for Alteryx.

Suggestions of extra useful functions welcome!!

Installation

There is an install.bat script which should promote via UAC, and install the necessary files into the Formula Add Ins directory.

You can uninstall the functions using uninstall.bat script, which again should promote via UAC, and remove the necessary files from the directory.

Manual Installation

If the installer script fails, you can manually install it to %AlteryxBinDirectory%\RuntimeData\FormulaAddIn. You will need to copy all the XML and DLL files.

Current functions

Those functions which require the AlteryxAbacus.dll are labelled with C++

MiscUtils

A few additional general methods for data preparation.

  • Version: Gets the major and minor version of the Alteryx Engine as a number (C++)
  • IfNull: If first value is null return second
  • Coalesce: Given list of values return first non null value (C++)
  • ReportError: Raise an error from a formula if a confition is met, otherwise return a specified value (C++)

MathUtils

Math based functions that I havent got a better home for!

  • Modulo: General Double Based Modulo function
  • HexBinX: Given an X,Y point and optional radius, get X co-ordinate of hexagonal bin's centre
  • HexBinY: Given an X,Y point and optional radius get Y co-ordinate of hexagonal bin's centre
  • Rand_Triangular: Given a uniform random number transform into a triangular distributed random
  • Avg: Average of a list of values ignoring NULL (C++)
  • Count: Count of a list of values ignoring NULL (C++)
  • Sum: Sum of a list of values ignoring NULL (C++)
  • Deg: Convert radians to degrees
  • Rad: Convert degrees to radians
  • NormDist: Compute PDF or CDF on Normal distribution
  • NormInv: Compute inverse CDF on Normal distribution
  • LogNormDist: Compute PDF or CDF on Log Normal distribution
  • LogNormInv: Compute inverse CDF on Log Normal distribution
  • TDist: Compute two tailed Student T distribution
  • TInv: Compute inverse two tailed Student T distribution
  • ChiDist: Compute CDF on Chi Squared distribution
  • ChiInv: Compute inverse CDF on Chi Squared distribution

DateUtils

Some additional functions for working with Dates and to a certain extent Times.

Date Time Creation Functions (Currently Just Concatenation)

  • MakeDate: Create a new date from Year, Month, Day (C++)
  • MakeTime: Create a new time from Hour, Minute, Second (C++)
  • MakeDateTime: Create a new DateTime from Year, Month, Day, Hour, Minute, Second (C++)
  • ToDate: Truncate a DateTime to a Date
  • ToDateTime: Appends midnight to a Date to create a DateTime

Date Time Parse Functions

  • DateFromMDY: Parse a string in Month Day Year format to a Date (copes without leading 0s and different separators)
  • DateFromDMY: Parse a string in Day Month Year format to a Date (copes without leading 0s and different separators)

Date Part Functions (returns numbers)

  • Day: Get the day of the Month [1-31]
  • Month: Gets the month number [1-12]
  • Year: Gets the four digit year
  • WeekDay: Gets the day of the week [Sunday (0) through to Saturday (6)]
  • Quarter: Gets the quarter of the date [1-4]
  • OrdinalDay: Gets the day of the year [1-366]

Period Start and End

Other Date Functions

  • DateAdd: Equivalent to DateTimeAdd but returning a Date
  • BusinessDays: Number of weekdays between two dates
  • IsLeapYear: Is a year a leap year (takes a year not a date as an input use IsLearYear(Year([Date]))

StringUtils

A few extension methods for working with strings.

  • LeftPart: Gets the text before the first instance of a separator
  • RightPart: Gets the text after the first instance of a separator
  • Mid: Gets part of a string (wrapper for SubString)
  • Split: Splits a string into tokens and then returns the specified instance (C++)
  • ToRoman: Given a number between 0 and 5000, convert to Roman numerals (C++)
  • FromRoman: Given Roman numeral convert to a number (C++)

Retired Functions

Testing

Assuming you have the CReW Runner macro, there is a workflow RunUnitTest.yxmd which will run all the test workflows checking the formula add ins.