Transformation Functions

Description

1 INFA (tranformation functions) Flashcards on Transformation Functions, created by dbrown on 11/11/2013.
dbrown
Flashcards by dbrown, updated more than 1 year ago
dbrown
Created by dbrown over 10 years ago
362
0

Resource summary

Question Answer
string literal, 'Joan's car', should be expressed how? 'Joan' || CHR(39) || 's car'
what are the 2 comment specifiers ? -- //
What keywords in the transformation language are reserved for specific functions. :EXT :INFA :LKP :MCR :SD :SEQ :SP :TD AND DD_DELETE DD_INSERT DD_REJECT DD_UPDATE FALSE NOT NULL OR PROC_RESULT SESSSTARTTIME SPOUTPUT SYSDATE TRUE WORKFLOWSTARTTIME
What are the reserved for workflow expressions? ABORTED DISABLED FAILED NOTSTARTED STARTED STOPPED SUCCEEDED
DD_DELETE Flags records for deletion in an update strategy expression. DD_DELETE is equivalent to the integer literal 2.
DD_INSERT Flags records for insertion in an update strategy expression. DD_INSERT is equivalent to the integer literal 0.
DD_REJECT Flags records for rejection in an update strategy expression. DD_REJECT is equivalent to the integer literal 3.
DD_UPDATE Flags records for update in an update strategy expression. DD_UPDATE is equivalent to the integer literal 1.
FALSE Clarifies a conditional expression. FALSE is equivalent to the integer 0.
NULL Indicates that a value is either unknown or undefined. NULL is not equivalent to a blank or empty string (for character columns) or 0 (for numerical columns). DD
ANSI compliant result for NULL AND TRUE = NULL
ANSI compliant result for NULL AND FALSE = FALSE
TRUE Returns a value based on the result of a comparison. TRUE is equivalent to the integer 1.
what does this evaluate to: 8 * 10 - NULL Any expression that uses operators (except the string operator ||) and contains a null value always evaluates to NULL.
the PowerCenter Integration Service evaluates the expression in what order? 1. Arithmetic operators 2. String operators 3. Comparison operators 4. Logical operators
Built-in Variables return either run-time or system information
$PM<SourceName>@TableName, $PM<TargetName>@TableName return the source and target table names for relational source and target instances as string values. Use these variables with any function that accepts string datatypes.
$PMFolderName $PMFolderName returns the name of the repository folder as a string value. Use $PMFolderName with any function that accepts string datatypes.
$PMIntegrationServiceName returns the name of the PowerCenter Integration Service that runs the session. Use with any function that accepts string datatypes.
$PMMappingName returns the mapping name as a string value. Use with any function that accepts string datatypes.
$PMSessionRunMode returns the session run mode, normal or recovery, as a string value.
$PMWorkflowRunId Each workflow run has a unique run ID. $PMWorkflowRunId returns the workflow run ID as a string value.
$PMWorkflowRunInstanceName returns the workflow run instance name as a string value. Use $PMWorkflowRunInstanceName with any function that accepts string datatypes.
SESSSTARTTIME returns the current date and time value on the node that runs the session when the Integration Service initializes the session. Use SESSSTARTTIME with any function that accepts transformation date/time datatypes. SESSSTARTTIME is stored as a transformation date/time datatype value.
TC_CONTINUE_TRANSACTION IS does not perform any transaction change for the current row. This is the default transaction control variable value.
TC_COMMIT_BEFORE IS commits the transaction, begins a new transaction, and writes the current row to the target. The current row is in the new transaction.
TC_COMMIT_AFTER IS writes the current row to the target, commits the transaction, and begins a new transaction. The current row is in the committed transaction
TC_ROLLBACK_BEFORE IS rolls back the current transaction, begins a new transaction, and writes the current row to the target. The current row is in the new transaction.
TC_ROLLBACK_AFTER IS writes the current row to the target, begins a new transaction, and rolls back the current transaction. The current row is NOT in the new transaction.
What is "J" and what does it do? (hint: date) Modified Julian Day (MJD) formats using the J format string. The MJD for a given date is the number of days to that date since Jan 1 4713 B.C. 00:00:00 (midnight). By definition, MJD includes a time component expressed as a decimal, which represents some fraction of 24 hours. The J format string does not convert this time component
RR date format string, Current Year Between 0 and 49 and the source string year is between 0 and 49 returns what? Integration Service returns the current century plus the two-digit year from the source string. If
RR date format string, Current Year Between 0 and 49 the source string year is between 50 and 99, what? the Integration Service returns the previous century plus the two-digit year from the source string.
If the current year is between 50 and 99 (such as 1998) and the source string year is between 0 and 49, what does the IS return? the IS returns the next century plus the two-digit year from the source string
If the current year is between 50 and 99 (such as 1998) AND the source string year is between 50 and 99, what does the IS return? The IS returns the current century plus the specified two-digit year.
what function will produce different results when RR and YY are used? TO_DATE
default date format? MM/DD/YYYY HH24:MI:SS.US.
TO_CHAR The TO_CHAR function converts a Date/Time datatype to a string with the format you specify. You can convert the entire date or a part of the date to a string. You might use TO_CHAR to convert dates to strings, changing the format for reporting purposes.
Format String AM, A.M., PM, P.M. Meridian indicator. Use any of these format strings to specify AM and PM hours. AM and PM return the same values as A.M. and P.M.
Format String D Day of week (1-7), where Sunday equals 1.
Format String DAY Name of day, including up to nine characters (for example, Wednesday).
Format string DD Day of month (01-31).
Format string DDD Day of year (001-366, including leap years).
Format string DY Abbreviated three-character name for a day (for example, Wed).
Format string HH, HH12 Hour of day (01-12).
Format string HH24 Hour of day (00-23), where 00 is 12AM (midnight).
Format string J Modified Julian Day. Converts the calendar date to a string equivalent to its Modified Julian Day value, calculated from Jan 1, 4713 00:00:00 B.C. It ignores the time component of the date. For example, the expression TO_CHAR( SHIP_DATE, ‘J’ ) converts Dec 31 1999 23:59:59 to the string 2451544.
Format string MI Minutes (00-59).
Format string MM Month (01-12)
Format string MONTH Name of month, including up to nine characters (for example, January).
Format string MON Abbreviated three-character name for a month (for example, Jan).
Format string MS Milliseconds (0-999).
Format string NS Nanoseconds (0-999999999).
Format string Q Quarter of year (1-4), where January to March equals 1.
Format string RR Last two digits of a year. The function removes the leading digits. For example, if you use ‘RR’ and pass the year 1997, TO_CHAR returns 97. When used with TO_CHAR, ‘RR’ produces the same results as, and is interchangeable with, ‘YY.’ However, when used with TO_DATE, ‘RR’ calculates the closest appropriate century and supplies the first two digits of the year.
Format string SS Seconds (00-59).
Format string SSSSS Seconds since midnight (00000 - 86399). When you use SSSSS in a TO_CHAR expression, the PowerCenter Integration Service only evaluates the time portion of a date. For example, the expression TO_CHAR(SHIP_DATE, ‘MM/DD/YYYY SSSSS’) converts 12/31/1999 01:02:03 to 12/31/1999 03723.
Format string US Microseconds (0-999999).
Format string Y Last digit of a year. The function removes the leading digits. For example, if you use ‘Y’ and pass the year 1997, TO_CHAR returns 7.
Format string YY Last two digits of a year. The function removes the leading digits. For example, if you use ‘YY’ and pass the year 1997, TO_CHAR returns 97.
Format string YYY Last three digits of a year. The function removes the leading digits. For example, if you use ‘YYY’ and pass the year 1997, TO_CHAR returns 997.
Format string YYYY Entire year portion of date. For example, if you use ‘YYYY’ and pass the year 1997, TO_CHAR returns 1997.
Format string W Week of month (1-5), where week 1 starts on the first day of the month and ends on the seventh, week 2 starts on the eighth day and ends on the fourteenth day. For example, Feb 1 designates the first week of February.
Format string WW Week of year (01-53), where week 01 starts on Jan 1 and ends on Jan 7, week 2 starts on Jan 8 and ends on Jan 14, and so on.
Format string - / . ; : Punctuation that displays in the output. You might use these symbols to separate date parts. For example, you create the following expression to separate date parts with a period: TO_CHAR( DATES, ‘MM.DD.YYYY’ ).
Format string “text” Text that displays in the output. For example, if you create an output port with the expression: TO_CHAR( DATES, ‘MM/DD/YYYY “Sales Were Up”’ ) and pass the date Apr 1 1997, the function returns the string ‘04/01/1997 Sales Were Up’. You can enter multibyte characters that are valid in the repository code page.
Format string “” Use double quotation marks to separate ambiguous format strings, for example D“”DDD. The empty quotation marks do not appear in the output.
TO_DATE converts a string with the format you specify to a datetime value. TO_DATE is generally used to convert strings from flat files to datetime values. TO_DATE format strings are not internationalized and must be entered in predefined formats
IS_DATE indicates if a value is a valid date. A valid date is any string representing a valid date in the date format specified in the session. format. If a string does not match the specified format string or is not a valid date, the function returns FALSE (0). If the string matches the format string and is a valid date, the function returns TRUE (1).
AGGREGATE FUNCTIONS AVG COUNT FIRST LAST MAX (Date) MAX (Number) MAX (String) MEDIAN MIN (Date) MIN (Number) MIN (String) PERCENTILE STDDEV SUM VARIANCE
Character Functions ASCII CHR CHRCODE CONCAT INITCAP INSTR LENGTH LOWER LPAD LTRIM METAPHONE REPLACECHR REPLACESTR RPAD RTRIM SOUNDEX SUBSTR UPPER
Conversion Functions TO_BIGINT TO_CHAR(Number) TO_DATE TO_DECIMAL TO_FLOAT TO_INTEGER
Data Cleansing Functions GREATEST IN INSTR IS_DATE IS_NUMBER IS_SPACES ISNULL LEAST LTRIM METAPHONE REG_EXTRACT REG_MATCH REG_REPLACE REPLACECHR REPLACESTR RTRIM SOUNDEX SUBSTR TO_BIGINT TO_CHAR TO_DATE TO_DECIMAL TO_FLOAT TO_INTEGER
DATE FUNCTIONS ADD_TO_DATE DATE_COMPARE DATE_DIFF GET_DATE_PART IS_DATE LAST_DAY MAKE_DATE_TIME MAX MIN ROUND(Date) SET_DATE_PART SYSTIMESTAMP TO_CHAR(Date) TRUNC(Date)
Encoding Functions AES_DECRYPT AES_ENCRYPT COMPRESS CRC32 DEC_BASE64 DECOMPRESS ENC_BASE64 MD5
Financial Functions FV NPER PMT PV RATE
Numeric Functions ABS CEIL CONV CUME EXP FLOOR LN LOG MAX MIN MOD MOVINGAVG MOVINGSUM POWER RAND ROUND SIGN SQRT TRUNC
Scientific Functions COS COSH SIN SINH TAN TANH
Special Functions ABORT DECODE ERROR IIF LOOKUP
String Functions CHOOSE INDEXOF MAX MIN REVERSE
Test Functions ISNULL IS_DATE IS_NUMBER IS_SPACES
Variable Functions SetCountVariable SetMaxVariable SetMinVariable SetVariable
ABORT Stops the session, and issues a specified error message to the session log file. When the PowerCenter Integration Service encounters an ABORT function, it stops transforming data at that row. Syntax ABORT( string )
ABS Returns the absolute value of a numeric value. Syntax ABS( numeric_value )
ADD_TO_DATE Adds a specified amount to one part of a datetime value, and returns a date in the same format as the date you pass to the function. ADD_TO_DATE accepts positive and negative integer values. Year.Y,YYY, or YYYY. Month.MON, MONTH. Day. D, DD, DDD, DY, and DAY. Hour. HH,HH12,HH24. Minute. MI Seconds. SS Milliseconds. MS Microseconds. US Nanoseconds. NS Syntax ADD_TO_DATE( date, format, amount )
AES_DECRYPT Returns decrypted data to string format. The IS uses Advanced Encryption Standard (AES) algorithm with 128-bit encoding. The AES algorithm is a FIPS-approved cryptographic algorithm Syntax AES_DECRYPT ( value, key )
AES_ENCRYPT Returns data in encrypted format. The IS uses Advanced Encryption Standard (AES) algorithm with 128-bit encoding. The AES algorithm is a FIPS-approved cryptographic algorithm. Syntax AES_ENCRYPT ( value, key )
ASCII When you configure the IS to run in ASCII mode, the ASCII function returns the numeric ASCII value of the first character of the string passed to the function.
AVG Returns the average of all values in a group of rows. Optionally, you can apply a filter to limit the rows you read to calculate the average. You can nest only one other aggregate function within AVG, and the nested function must return a Numeric datatype. Syntax AVG( numeric_value [, filter_condition ] ) Return Value Numeric value.
CEIL Returns the smallest integer greater than or equal to the numeric value passed to this function. For example, if you pass 3.14 to CEIL, the function returns 4. If you pass 3.98 to CEIL, the function returns 4. Likewise, if you pass -3.17 to CEIL, the function returns -3. Syntax CEIL( numeric_value )
CHOOSE Chooses a string from a list of strings based on a given position. You specify the position and the value. If the value matches the position, the PowerCenter Integration Service returns the value. Syntax CHOOSE( index, string1 [, string2, ..., stringN] )
CHR When you configure the PowerCenter Integration Service to move data in ASCII mode, CHR returns the ASCII character corresponding to the numeric value you pass to this function. ASCII values fall in the range 0 to 255. You can pass any integer to CHR, but only ASCII codes 32 to 126 are printable characters. When you configure the PowerCenter Integration Service to move data in Unicode mode, CHR returns the Unicode character corresponding to the numeric value you pass to this function. Unicode values fall in the range 0 to 65,535. Syntax CHR( numeric_value )
CHRCODE When you configure the PowerCenter Integration Service to run in ASCII mode, CHRCODE returns the numeric ASCII value of the first character of the string passed to the function. ASCII values fall in the range 0 to 255. When you configure the PowerCenter Integration Service to run in Unicode mode, CHRCODE returns the numeric Unicode value of the first character of the string passed to the function. Unicode values fall in the range 0 to 65,535. When you configure the PowerCenter Integration Service to run in ASCII mode, CHRCODE returns the numeric ASCII value of the first character of the string passed to the function. ASCII values fall in the range 0 to 255. When you configure the PowerCenter Integration Service to run in Unicode mode, CHRCODE returns the numeric Unicode value of the first character of the string passed to the function. Unicode values fall in the range 0 to 65,535.When you configure the PowerCenter Integration Service to run in ASCII mode, CHRCODE returns the numeric ASCII value of the first character of the string passed to the function. ASCII values fall in the range 0 to 255. When you configure the PowerCenter Integration Service to run in Unicode mode, CHRCODE returns the numeric Unicode value of the first character of the string passed to the function. Unicode values fall in the range 0 to 65,535. This function is identical in behavior to the ASCII function. If you currently use ASCII in expressions, it will still work correctly. However, when you create new expressions, use the CHRCODE function instead of the ASCII function. Syntax CHRCODE ( string )
COMPRESS Compresses data using the zlib 1.2.1 compression algorithm. Use the COMPRESS function before you send large amounts of data over a wide area network. Syntax COMPRESS( value )
CONCAT Concatenates two strings. CONCAT converts all data to text before concatenating the strings. Alternatively, use the || string operator to concatenate strings. Using the || string operator instead of CONCAT improves PowerCenter Integration Service performance. Syntax CONCAT( first_string, second_string )
CONVERT_BASE Converts a number from one base value to another base value. Syntax CONVERT_BASE( value, source_base, dest_base )
COS Returns the cosine of a numeric value (expressed in radians). Syntax COS( numeric_value )
COSH Returns the hyperbolic cosine of a numeric value (expressed in radians). Syntax COSH( numeric_value )
COUNT Returns the number of rows that have non-null values in a group. Optionally, you can include the asterisk (*) argument to count all input values in a transformation. You can nest only one other aggregate function within COUNT. You can apply a condition to filter rows before counting them. Syntax COUNT( value [, filter_condition] ) or COUNT( * [, filter_condition] )
CRC32 Returns a 32-bit Cyclic Redundancy Check (CRC32) value. Use CRC32 to find data transmission errors. You can also use CRC32 if you want to verify that data stored in a file has not been modified. If you use CRC32 to perform a redundancy check on data in ASCII mode and Unicode mode, the PowerCenter Integration Service may generate different results on the same input value. Note: CRC32 can return the same output for different input strings. If you want to generate keys in a mapping, use a Sequence Generator transformation. If you use CRC32 to generate keys in a mapping, you may receive unexpected results. Syntax CRC32( value )
CUME Returns a running total. A running total means CUME returns a total each time it adds a value. You can add a condition to filter rows out of the row set before calculating the running total. Use CUME and similar functions (such as MOVINGAVG and MOVINGSUM) to simplify reporting by calculating running values. Syntax CUME( numeric_value [, filter_condition] )
DATE_COMPARE DATE_COMPARE Returns an integer indicating which of two dates is earlier. DATE_COMPARE returns an integer value rather than a date value. Syntax DATE_COMPARE( date1, date2) Return Value -1 if the first date is earlier. 0 if the two dates are equal. 1 if the second date is earlier.
DATE_DIFF Returns the length of time between two dates. You can request the format to be years, months, days, hours, minutes, seconds, milliseconds, microseconds, or nanoseconds. The PowerCenter Integration Service subtracts the second date from the first date and returns the difference. Syntax DATE_DIFF( date1, date2, format ) Return Value Double value. If date1 is later than date2, the return value is a positive number. If date1 is earlier than date2, the return value is a negative number. 0 if the dates are the same. NULL if one (or both) of the date values is NULL.
DEC_BASE64 Decodes a base 64 encoded value and returns a string with the binary data representation of the data. If you encode data using ENC_BASE64, and you want to decode data using DEC_BASE64, you must run the decoding session using the same data movement mode. Otherwise, the output of the decoded data may differ from the original data Syntax DEC_BASE64( value ) Return Value Binary decoded value. NULL if the input is a null value. Return values differ if you run the session in Unicode mode versus ASCII mode.
DECODE Searches a port for a value you specify. If the function finds the value, it returns a result value, which you define. You can build an unlimited number of searches within a DECODE function. If you use DECODE to search for a value in a string port, you can either trim trailing blanks with the RTRIM function or include the blanks in the search string. Syntax DECODE( value, first_search, first_result [, second_search, second_result]...[,default] ) Return Value First_result if the search finds a matching value. Default value if the search does not find a matching value. NULL if you omit the default argument and the search does not find a matching value. Even if multiple conditions are met, the PowerCenter Integration Service returns the first matching result. If the data contains multibyte characters and the DECODE expression compares string data, the return value depends on the code page and data movement mode of the PowerCenter Integration Service.
DECOMPRESS Decompresses data using the zlib 1.2.1 compression algorithm. Use the DECOMPRESS function on data that has been compressed with the COMPRESS function or a compression tool that uses the zlib 1.2.1 algorithm. If the session that decompresses the data uses a different data movement mode than the session that compressed the data, the output of the decompressed data may differ from the original data. Syntax DECOMPRESS( value, precision ) Return Value Decompressed binary value of the input value. NULL if the input is a null value.
ENC_BASE64 Encodes data by converting binary data to string data using Multipurpose Internet Mail Extensions (MIME) encoding. Encode data when you want to store data in a database or file that does not allow binary data. You can also encode data to pass binary data through transformations in string format. The encoded data is approximately 33% longer than the original data. It displays as a set of random characters. Syntax ENC_BASE64( value )
ERROR Causes the PowerCenter Integration Service to skip a row and issue an error message, which you define. The error message displays in the session log. The PowerCenter Integration Service does not write these skipped rows to the session reject file. Syntax ERROR( string )
EXP Returns e raised to the specified power (exponent), where e=2.71828183. For example, EXP(2) returns 7.38905609893065. You might use this function to analyze scientific and technical data rather than business data. EXP is the reciprocal of the LN function, which returns the natural logarithm of a numeric value. Syntax EXP( exponent ) Returns e raised to the specified power (exponent), where e=2.71828183. For example, EXP(2) returns 7.38905609893065. You might use this function to analyze scientific and technical data rather than business data. EXP is the reciprocal of the LN function, which returns the natural logarithm of a numeric value. Syntax EXP( exponent )
FIRST Returns the first value found within a port or group. Optionally, you can apply a filter to limit the rows the PowerCenter Integration Service reads. You can nest only one other aggregate function within FIRST. Syntax FIRST( value[, filter_condition ] ) Return Value First value in a group. NULL if all values passed to the function are NULL or if no rows are selected (for example, the filter condition evaluates to FALSE or NULL for all rows). Nulls If a value is NULL, FIRST ignores the row. However, if all values passed from the port are NULL, FIRST returns NULL.
FLOOR Returns the largest integer less than or equal to the numeric value you pass to this function. For example, if you pass 3.14 to FLOOR, the function returns 3. If you pass 3.98 to FLOOR, the function returns 3. Likewise, if you pass -3.17 to FLOOR, the function returns -4. Syntax FLOOR( numeric_value )Return Value Integer if you pass a numeric value with declared precision between 0 and 28. Double if you pass a numeric value with declared precision greater than 28. NULL if a value passed to the function is NULL.
FV Returns the future value of an investment, where you make periodic, constant payments and the investment earns a constant interest rate. Syntax FV( rate, terms, payment [, present value, type] )
IS_DATE Returns whether a string value is a valid date. A valid date is any string in the date portion of the date time format specified in the session. If the string you want to test is not in this date format, use the TO_DATE format string to specify the date format. If the strings passed to IS_DATE do not match the format string specified, the function returns FALSE (0). If the strings match the format string, the function returns TRUE (1). IS_DATE evaluates strings and returns an integer value. Syntax IS_DATE( value [,format] )
IS_NUMBER Returns whether a string is a valid number. A valid number consists of the following parts:Optional space before the number Optional sign (+/-) One or more digits with an optional decimal point Optional scientific notation, such as the letter ‘e’ or ‘E’ (and the letter ‘d’ or ‘D’ on Windows) followed by an optional sign (+/-), followed by one or more digits Optional white space following the number Syntax IS_NUMBER( value ) Return Value TRUE (1) if the row is a valid number. FALSE (0) if the row is not a valid number. NULL if a value in the expression is NULL.
IS_SPACES Returns whether a string value consists entirely of spaces. A space is a blank space, a formfeed, a newline, a carriage return, a tab, or a vertical tab. empty string as FALSE Syntax IS_SPACES( value ) Return Value TRUE (1) if the row consists entirely of spaces. FALSE (0) if the row contains data. NULL if a value in the expression is NULL.
LAST Returns the last row in the selected port. Optionally, you can apply a filter to limit the rows the PowerCenter Integration Service reads. You can nest only one other aggregate function within LAST. Syntax LAST( value [, filter_condition ] ) Return Value Last row in a port. NULL if all values passed to the function are NULL, or if no rows are selected (for example, the filter condition evaluates to FALSE or NULL for all rows).
MAKE_DATE_TIME Returns the date and time based on the input values. Syntax MAKE_DATE_TIME( year(Required), month(Required), day(Required), hour, minute, second, nanosecond ) Return Value Date as MM/DD/YYYY HH24:MI:SS. Returns a null value if you do not pass the function a year, month, or day.
MAX (DATES) Returns the latest date found within a port or group. You can nest only one other aggregate function within MAX. Syntax MAX( date [, filter_condition] ) Return Value Date. NULL if all values passed to the function are NULL, or if no rows are selected (for example, the filter condition evaluates to FALSE or NULL for all rows).
MAX (Numbers) Returns the maximum numeric value found within a port or group. You can nest only one other aggregate function within MAX. Syntax MAX( numeric_value [, filter_condition] ); Return Value Numeric value. MAX (Numbers) 95 NULL if all values passed to the function are NULL or if no rows are selected
MAX (String) Returns the highest string value found within a port or group. You can nest only one other aggregate function within MAX. uses same sort order as Sorter but is case sensitive. Syntax MAX( string [, filter_condition] ); Return Value String. NULL if all values passed to the function are NULL
MOVINGSUM Returns the sum (row-by-row) of a specified set of rows. Optionally, you can apply a condition to filter rows before calculating the moving sum. Syntax MOVINGSUM( numeric_value, rowset [, filter_condition] ) Return Value Numeric value.
NPER Returns the number of periods for an investment based on a constant interest rate and periodic, constant payments Syntax NPER( rate, present value, payment [, future value, type] ) Syntax NPER( rate, present value, payment [, future value, type] ) Return Value Numeric.
Show full summary Hide full summary

Similar

Lookup trans
dbrown
Properties of Lookup
dbrown
Lookup query
dbrown
Lookup condition
dbrown
Lookup Ports
dbrown
Returning multiple rows
dbrown
Lookup Cache
dbrown
Database Deadlock Resilience
dbrown
HTTP Properties
dbrown
SQL Override
dbrown
Filter Trans
dbrown