Table of Contents

Package Properties


A package property can be defined inside of a Package.

There are ten supported property types. They are listed here:


PK


Defining a package property

The default value is the returned value if the solution is not part of a version.


Example


PK


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.


PK


Note

@PackageProperty[name].DateExpr is recommended for casting package properties to datetime.


@PackageProperty[Profitbase.PackagePropertyTests.DateTime].DateTimeOffsetStr
@PackageProperty[Profitbase.PackagePropertyTests.DateTime].DateTimeUtcStr

PK


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.


PK


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

PK


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.


PK


((DateTimeOffset)Directive("@PackageProperty[Profitbase.PackagePropertyTests.DateTime]")) == new DateTimeOffset(new DateTime(2021, 8, 19, 16, 0, 0), new TimeSpan(2, 0, 0))

PK


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.


PK


Adding a data flow item parameter


With @PackageProperty[PropertyName] as Default Value


PK


Note

Use @PackageProperty[name].DateStr when dealing with dates to ensure culture invariant datetime parsing.


Mapping the parameters in the Run PowerShell Script Arguments section


PK


Executing the data flow to test that the parameter is parsed OK


PK

Videos