Skip to content

Commit

Permalink
Merge pull request #37 from thjennifer/main
Browse files Browse the repository at this point in the history
5.0.1 updates
  • Loading branch information
thjennifer authored Aug 16, 2023
2 parents d8b8275 + fe73999 commit 5b05991
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 61 deletions.
15 changes: 15 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## Release v5.0.1
* Updated all views to have a single primary key dimension. For some views, added a _key_ dimension to concatenate multiple dimensions making up the primary key
* Edited `sales_orders` Explore to remove unnecessary join between `currency_conversion_new` and `sales_order_pricing`
* Replaced `currency_conversion_pricing` with `currency_conversion_new ` in dashboards and view `sales_orders`
* In view and Explore `sales_orders`:
* removed SQL_DISTINCT_KEY parameter from measure _sales_order_netvalue_glob_curr_1_ as its no longer necessary
* added USD as default for parameter _Currency_Required_
* added value of parameter _Currency_Required_ to join condition for `currency_conversion_new`
* Updated LookML Dashboard file 6d_Total_Receivable to use _PeriodCalc_ dimension instead of _Fiscal_Year_
* Added measure _total_actual_billed_quantity_fkimg_ to view `billing`
* In view and Explore `data_intelligence_ar`:
* added `currency_conversion_new` to the Explore
* replaced SQL function Currency Conversion with `currency_conversion_new`
* added USD as default for parameter _Currency_Required_
* replaced Split function with Substring function for several dimensions derived from _PeriodCalc_
15 changes: 13 additions & 2 deletions models/cortex_sap_operational.model.lkml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,16 @@ named_value_format: Greek_Number_Format {

explore: data_intelligence_ar {
sql_always_where: ${Client_ID} = "@{CLIENT}" ;;
join: currency_conversion_new {
type: left_outer
relationship: one_to_many
sql_on: ${data_intelligence_ar.Client_ID}=${currency_conversion_new.mandt}
and ${data_intelligence_ar.Local_Currency_Key}=${currency_conversion_new.fcurr}
and ${data_intelligence_ar.Posting_date} = ${currency_conversion_new.conv_date}
and ${currency_conversion_new.kurst} = "M"
and ${currency_conversion_new.tcurr} = {% parameter data_intelligence_ar.Currency_Required %};;
fields: [] #this view used for currency convesion only so no fields need to be included in the explore
}
}

explore: sales_orders {
Expand All @@ -58,7 +68,8 @@ explore: sales_orders {
sql_on: ${sales_orders.client_mandt}=${currency_conversion_new.mandt}
and ${sales_orders.currency_waerk}=${currency_conversion_new.fcurr}
and ${sales_orders.creation_date_erdat_date} = ${currency_conversion_new.conv_date}
and ${currency_conversion_new.kurst} = "M";;
and ${currency_conversion_new.kurst} = "M"
and ${currency_conversion_new.tcurr} = {% parameter sales_orders.Currency_Required %};;
}

join: billing {
Expand Down Expand Up @@ -243,7 +254,7 @@ explore: inventory_metrics_overview {
type: left_outer
relationship: many_to_one
fields: [inventory_by_plant.stock_characteristic]
sql_on: ${inventory_by_plant.client_mandt} = ${inventory_metrics_overview.client_mandt}
sql_on: ${inventory_by_plant.client_mandt} = ${inventory_metrics_overview.client_mandt}
and ${inventory_by_plant.company_code_bukrs} = ${inventory_metrics_overview.company_code_bukrs}
;;
}
Expand Down
115 changes: 58 additions & 57 deletions views/data_intelligence_ar.view.lkml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ view: data_intelligence_ar {
# to be used for all fields in this view.
sql_table_name: `@{GCP_PROJECT}.@{REPORTING_DATASET}.AccountingDocumentsReceivable`
;;

parameter: Aging_Interval {
type: number
default_value: "10"
Expand All @@ -28,6 +28,7 @@ view: data_intelligence_ar {
label: "JPY"
value: "JPY"
}
default_value: "USD"
}

parameter: Day_Sales_Outstanding {
Expand Down Expand Up @@ -67,7 +68,7 @@ view: data_intelligence_ar {

dimension: Accounts_Receivable_Global_Currency {
type: number
sql: Round(if(${Local_Currency_Key}={% parameter Currency_Required %} ,${Accounts_Receivable_Local_Currency},`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Conversion( ${Client_ID},${Exchange_Rate_Type} ,${Local_Currency_Key},{% parameter Currency_Required %},${Posting_date},${Accounts_Receivable_Local_Currency})),ifnull(CAST(`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Decimal({% parameter Currency_Required %}) AS int),2)) ;;
sql: round(${Accounts_Receivable_Local_Currency} * ${currency_conversion_new.ukurs},2) ;;
}

dimension: Sold_to_Party_Country {
Expand Down Expand Up @@ -117,7 +118,7 @@ view: data_intelligence_ar {

dimension: Bad_Debt_Global_Currency {
type: number
sql: Round(if(${Local_Currency_Key}={% parameter Currency_Required %} ,${Bad_Debt_Local_Currency},`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Conversion( ${Client_ID},${Exchange_Rate_Type} ,${Local_Currency_Key},{% parameter Currency_Required %},${Posting_date},${Bad_Debt_Local_Currency})),ifnull(CAST(`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Decimal({% parameter Currency_Required %}) AS int),2)) ;;
sql: round(${Bad_Debt_Local_Currency} * ${currency_conversion_new.ukurs},2) ;;
}

dimension: Billing_Document {
Expand Down Expand Up @@ -165,7 +166,7 @@ view: data_intelligence_ar {

dimension: Cleared_after_Due_date_Global_Currency {
type: number
sql: Round(if(${Local_Currency_Key}={% parameter Currency_Required %} ,${Cleared_after_Due_date_Local_Currency},`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Conversion( ${Client_ID},${Exchange_Rate_Type} ,${Local_Currency_Key},{% parameter Currency_Required %},${Posting_date},${Cleared_after_Due_date_Local_Currency})),ifnull(CAST(`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Decimal({% parameter Currency_Required %}) AS int),2)) ;;
sql: round(${Cleared_after_Due_date_Local_Currency} * ${currency_conversion_new.ukurs},2) ;;
}

dimension: Cleared_on_or_before_Due_date_Local_Currency {
Expand All @@ -175,7 +176,7 @@ view: data_intelligence_ar {

dimension: Cleared_on_or_before_Due_date_Global__Currency {
type: number
sql: Round(if(${Local_Currency_Key}={% parameter Currency_Required %} ,${Cleared_on_or_before_Due_date_Local_Currency},`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Conversion( ${Client_ID},${Exchange_Rate_Type} ,${Local_Currency_Key},{% parameter Currency_Required %},${Posting_date},${Cleared_on_or_before_Due_date_Local_Currency})),ifnull(CAST(`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Decimal({% parameter Currency_Required %}) AS int),2)) ;;
sql: round(${Cleared_on_or_before_Due_date_Local_Currency} * ${currency_conversion_new.ukurs},2) ;;
}

dimension: Client_ID {
Expand Down Expand Up @@ -215,7 +216,7 @@ view: data_intelligence_ar {

dimension: Doubtful_Receivables_Global_Currency{
type: number
sql: Round(if(${Local_Currency_Key}={% parameter Currency_Required %} ,${Doubtful_Receivables_Local_Currency},`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Conversion( ${Client_ID},${Exchange_Rate_Type} ,${Local_Currency_Key},{% parameter Currency_Required %},${Posting_date},${Doubtful_Receivables_Local_Currency})),ifnull(CAST(`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Decimal({% parameter Currency_Required %}) AS int),2)) ;;
sql: round(${Doubtful_Receivables_Local_Currency} * ${currency_conversion_new.ukurs},2) ;;
}

dimension: Exchange_Rate_Type {
Expand All @@ -224,10 +225,10 @@ view: data_intelligence_ar {
}

dimension: fiscal_year_gjahr {
label: "Fiscal Year"
type: string
hidden: no
sql: ${TABLE}.FiscalYear_GJAHR ;;
label: "Fiscal Year"
type: string
hidden: no
sql: ${TABLE}.FiscalYear_GJAHR ;;
}

dimension: Invoice_to_which_the_Transaction_belongs {
Expand Down Expand Up @@ -262,7 +263,7 @@ view: data_intelligence_ar {

dimension: Open_and_Not_Due_Global_Currency{
type: number
sql: Round(if(${Local_Currency_Key}={% parameter Currency_Required %} ,${Open_and_Not_Due_Local_Currency},`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Conversion( ${Client_ID},${Exchange_Rate_Type} ,${Local_Currency_Key},{% parameter Currency_Required %},${Posting_date},${Open_and_Not_Due_Local_Currency})),ifnull(CAST(`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Decimal({% parameter Currency_Required %}) AS int),2)) ;;
sql: round(${Open_and_Not_Due_Local_Currency} * ${currency_conversion_new.ukurs},2) ;;
}

dimension: Open_and_Over_Due_Local_Currency{
Expand All @@ -272,7 +273,7 @@ view: data_intelligence_ar {

dimension: Open_and_Over_Due_Global_Currency{
type: number
sql: Round(if(${Local_Currency_Key}={% parameter Currency_Required %} ,${Open_and_Over_Due_Local_Currency},`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Conversion( ${Client_ID},${Exchange_Rate_Type} ,${Local_Currency_Key},{% parameter Currency_Required %},${Posting_date},${Open_and_Over_Due_Local_Currency})),ifnull(CAST(`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Decimal({% parameter Currency_Required %}) AS int),2)) ;;
sql: round(${Open_and_Over_Due_Local_Currency} * ${currency_conversion_new.ukurs},2) ;;
}

dimension_group: Posting {
Expand Down Expand Up @@ -300,7 +301,7 @@ view: data_intelligence_ar {

dimension: Sales_Global_Currency{
type: number
sql: Round(if(${Local_Currency_Key}={% parameter Currency_Required %} ,${Sales_Local_Currency},`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Conversion( ${Client_ID},${Exchange_Rate_Type} ,${Local_Currency_Key},{% parameter Currency_Required %},${Posting_date},${Sales_Local_Currency})),ifnull(CAST(`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Decimal({% parameter Currency_Required %}) AS int),2)) ;;
sql: round(${Sales_Local_Currency} * ${currency_conversion_new.ukurs},2) ;;
}

dimension: Written_off_Amount_Local_Currency {
Expand All @@ -310,7 +311,7 @@ view: data_intelligence_ar {

dimension: Written_off_Amount {
type: number
sql: Round(if(${Local_Currency_Key}={% parameter Currency_Required %} ,${Written_off_Amount_Local_Currency},`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Conversion( ${Client_ID},${Exchange_Rate_Type} ,${Local_Currency_Key},{% parameter Currency_Required %},${Posting_date},${Written_off_Amount_Local_Currency})),ifnull(CAST(`@{GCP_PROJECT}`.@{REPORTING_DATASET}.Currency_Decimal({% parameter Currency_Required %}) AS int),2)) ;;
sql: round(${Written_off_Amount_Local_Currency} * ${currency_conversion_new.ukurs},2) ;;
}

dimension: Days_in_Arrear {
Expand All @@ -336,22 +337,22 @@ view: data_intelligence_ar {
#when CAST(${TABLE}.PostingDateInTheDocument_BUDAT as Date)<= CAST(CURRENT_DATE() as Date) and CAST(${TABLE}.PostingDateInTheDocument_BUDAT as Date)>= DATE_SUB(${Current_Fiscal_Date_date},INTERVAL {% parameter Day_Sales_Outstanding %} MONTH )
#THEN ${Sales_Global_Currency}
#END;;
}
}

measure: AccountsRecievables_Total_DSO {
type: sum
hidden: yes
sql:
CASE
when CAST(${TABLE}.PostingDateInTheDocument_BUDAT as Date)<= CAST(CURRENT_DATE() as Date) and CAST(${TABLE}.PostingDateInTheDocument_BUDAT as Date)>= DATE_SUB(CAST(CURRENT_DATE() as Date),INTERVAL {% parameter Day_Sales_Outstanding %} MONTH )
THEN ${Accounts_Receivable_Global_Currency}
END;;
#sql:
#CASE
#when CAST(${TABLE}.PostingDateInTheDocument_BUDAT as Date)<= CAST(CURRENT_DATE() as Date) and CAST(${TABLE}.PostingDateInTheDocument_BUDAT as Date)>= DATE_SUB(${Current_Fiscal_Date_date},INTERVAL {% parameter Day_Sales_Outstanding %} MONTH )
#THEN ${Accounts_Receivable_Global_Currency}
#END;;
}
CASE
when CAST(${TABLE}.PostingDateInTheDocument_BUDAT as Date)<= CAST(CURRENT_DATE() as Date) and CAST(${TABLE}.PostingDateInTheDocument_BUDAT as Date)>= DATE_SUB(CAST(CURRENT_DATE() as Date),INTERVAL {% parameter Day_Sales_Outstanding %} MONTH )
THEN ${Accounts_Receivable_Global_Currency}
END;;
#sql:
#CASE
#when CAST(${TABLE}.PostingDateInTheDocument_BUDAT as Date)<= CAST(CURRENT_DATE() as Date) and CAST(${TABLE}.PostingDateInTheDocument_BUDAT as Date)>= DATE_SUB(${Current_Fiscal_Date_date},INTERVAL {% parameter Day_Sales_Outstanding %} MONTH )
#THEN ${Accounts_Receivable_Global_Currency}
#END;;
}

dimension: PeriodCalc {
label: "Fiscal Year / Period"
Expand Down Expand Up @@ -381,39 +382,39 @@ view: data_intelligence_ar {
sql:PARSE_DATE('%m/%Y', Concat(cast(Cast(SUBSTRING(${PeriodCalc},6,2) as int) as string),'/',SUBSTRING(${PeriodCalc},1,4)));;
}

dimension: Current_PeriodCalc {
hidden: yes
type: string
sql: ${TABLE}.Current_Period ;;
}
dimension: Current_PeriodCalc {
hidden: yes
type: string
sql: ${TABLE}.Current_Period ;;
}

dimension: Current_Fiscal_Year {
hidden: yes
type: string
sql: SUBSTRING(${Current_PeriodCalc}, 1,4) ;;
}
dimension: Current_Fiscal_Year {
hidden: yes
type: string
sql: SUBSTRING(${Current_PeriodCalc}, 1,4) ;;
}

dimension: Current_Fiscal_Period {
hidden: yes
type: string
sql: SUBSTRING(${Current_PeriodCalc}, 6,2) ;;
}
dimension: Current_Fiscal_Period {
hidden: yes
type: string
sql: SUBSTRING(${Current_PeriodCalc}, 6,2) ;;
}

dimension_group: Current_Fiscal_Date {
type: time
hidden: yes
timeframes: [
raw,
date,
week,
month,
quarter,
year
]
convert_tz: no
datatype: date
sql:PARSE_DATE('%m/%Y', Concat(cast(Cast(SUBSTRING(${Current_PeriodCalc},6,2) as int) as string),'/',SUBSTRING(${Current_PeriodCalc},1,4)));;
}
dimension_group: Current_Fiscal_Date {
type: time
hidden: yes
timeframes: [
raw,
date,
week,
month,
quarter,
year
]
convert_tz: no
datatype: date
sql:PARSE_DATE('%m/%Y', Concat(cast(Cast(SUBSTRING(${Current_PeriodCalc},6,2) as int) as string),'/',SUBSTRING(${Current_PeriodCalc},1,4)));;
}

dimension: Global_Currency_Key {
type: string
Expand Down Expand Up @@ -551,8 +552,8 @@ view: data_intelligence_ar {
link: {
label: "Total Recievables"
url: "/dashboards/cortex_sap_operational::total_receivable?"
}
}
}

measure: Total_Doubtful_Receivables{
type: sum
Expand Down Expand Up @@ -684,4 +685,4 @@ view: data_intelligence_ar {
type: count
drill_fields: []
}
}
}
5 changes: 3 additions & 2 deletions views/sales_orders.view.lkml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ view: sales_orders {
# Here's what a typical dimension looks like in LookML.
# A dimension is a groupable field that can be used to filter query results.
# This dimension will be called "Account Assignment Category Knttp" in Explore.

fields_hidden_by_default: yes

dimension: key {
type: string
primary_key: yes
sql: CONCAT(${client_mandt},${item_posnr},${sales_document_vbeln});;
}

dimension: account_assignment_category_knttp {
type: string
sql: ${TABLE}.AccountAssignmentCategory_KNTTP ;;
Expand Down Expand Up @@ -2329,6 +2329,7 @@ view: sales_orders {
value: "JPY"
}
hidden: no
default_value: "USD"
}

dimension: Global_Currency {
Expand Down

0 comments on commit 5b05991

Please sign in to comment.