Package Properties
A package property can be defined inside of a Package.
There are ten supported property types. They are listed here:
Defining a package property
The default value is the returned value if the solution is not part of a version.
Example
Use PackageProperty in a Sql script
@PackageProperty[PropertyName] in a Sql script
A package property value can be used inside a Sql script.
The returned value is a string representation of the data type. Example of use can be:
@PackageProperty[Profitbase.PackagePropTests.Planning.StartDate].DateExpr
Example
You may want to filter data based on a package property value.
Note
@PackageProperty[name].DateExpr is recommended for casting package properties to datetime.
@PackageProperty[Profitbase.PackagePropertyTests.DateTime].DateTimeOffsetStr
@PackageProperty[Profitbase.PackagePropertyTests.DateTime].DateTimeUtcStr
Use PackageProperty in a PowerShell script
@PackageProperty[PropertyName] in a PowerShell script
A package property value can be used inside a PowerShell script. The returned value is a string representation of the data type. Example of use can be:
$date =
[datetime]::ParseExact('@PackageProperty[Profitbase.PackagePropTests.Planning.NationalHoliday].DateStr',"yyyyMMdd",[Globalization.CultureInfo]::InvariantCulture)
Write-Output $date.Year
Example
Here is an example of use in PowerShell script.
Note
@PackageProperty[name].DateStr is recommended for getting yyyyMMdd formatted representation of date/datetime package properties.
$datetimeoffset =
[datetimeoffset]::ParseExact('@PackageProperty[Profitbase.PackagePropertyTests.DateTime].DateTimeOffsetStr',"yyyyMMdd HH:mm:ss zzz",[Globalization.CultureInfo]::InvariantCulture)
Write-Output $datetimeoffset
$datetimeutc =
[datetime]::ParseExact('@PackageProperty[Profitbase.PackagePropertyTests.DateTime].DateTimeUtcStr',"yyyyMMdd HH:mm:ss",[Globalization.CultureInfo]::InvariantCulture)
Write-Output $datetimeutc
Use Directive in a worksheet column expression
Directive("@PackageProperty[PropertyName]") in a worksheet column expression
A package property value can be used inside a worksheet column’s Is Hidden Expression (Caption Expression and Is Read Only Expression is also supported).
The returned object can be cast to a proper data type. Example of use can be:
((DateTime)Directive("@PackageProperty[Profitbase.PackageName.Planning.StartDate]")).Year == 2020
Example
Here is an example of use in a worksheet column Is Hidden Expression.
((DateTimeOffset)Directive("@PackageProperty[Profitbase.PackagePropertyTests.DateTime]")) == new DateTimeOffset(new DateTime(2021, 8, 19, 16, 0, 0), new TimeSpan(2, 0, 0))
Use PackageProperty in a data flow
Use @PackageProperty in a data flow
A package property value can be utilized as a parameter value in a data flow. The returned value can be cast to the proper data type.
Example
Adding a PowerShell script with a parameter decalaration.
Adding a data flow item parameter
With @PackageProperty[PropertyName] as Default Value
Note
Use @PackageProperty[name].DateStr when dealing with dates to ensure culture invariant datetime parsing.