taxonomy().concept(ferc:RespondentLegalName).label("http://ferc.gov/form/2020-01-01/roles/label/F2Header").text Name of Respondent:
[@ferc:RespondentLegalName @period=$currentDuration] Duke Energy Kentucky, Inc.
taxonomy().concept(ferc:SubmissionType).label("http://ferc.gov/form/2020-01-01/roles/label/F2Header").text This report is:
(1) if missing({covered @concept=ferc:SubmissionType}) ☐ An Original']]> else if [@concept=ferc:SubmissionType @period=$currentDuration] == "O" ☑ An Original']]> else ☐ An Original']]> An Original
(2) if missing([covered @concept=ferc:SubmissionType @period=$currentDuration]) ☐ A Resubmission']]> else if [@concept=ferc:SubmissionType @period=$currentDuration] == "R" ☑ A Resubmission']]> else ☐ A Resubmission']]> A Resubmission
taxonomy().concept(ferc:ReportDate).label("http://ferc.gov/form/2020-01-01/roles/label/F2Header").text Date of Report:
[@ferc:ReportDate @period=$currentDuration] 04/26/2019
taxonomy().concept(ferc:ReportYearPeriod).label("http://ferc.gov/form/2020-01-01/roles/label/F2Header").text Year/Period of Report:
End of: [@ferc:ReportYear @period=$currentDuration] 2018 / [@ferc:ReportPeriod @period=$currentDuration] Q4
$dataHead = navigate parent-child descendants from ferc:ShipperSuppliedGasLineItems stop when ($relationship.preferred-label == "http://ferc.gov/form/2020-01-01/roles/label/F2RollforwardHeader" or $relationship.target-name == ferc:SeparationOfForwardhaulAndBackhaulThroughputAbstract) role "http://ferc.gov/form/2020-01-01/roles/Schedule/F2/ShipperSuppliedGasForTheCurrentQuarterM2" where $relationship.target-name != ferc:SeparationOfForwardhaulAndBackhaulThroughputAbstract returns list (target-name, preferred-label, order); $rollforwardSection = list(for $x in $dataHead $abstractConcept = taxonomy().concept($x[1]); $is-heading = if ($x[2].role.uri == "http://ferc.gov/form/2020-01-01/roles/label/F2ShipperSuppliedGas") true else false; $row_num_ref = (filter $abstractConcept.references("http://ferc.gov/form/2020-01-01/roles/reference/formLocation") where ($item.part-by-name(ferc-part:Schedule).part-value == "521M2 - Schedule - Shipper Supplied Gas for the Current Quarter" and $item.part-by-name(ferc-part:ValueType).part-value.string == "Label")).to-list; $row_num = if ($row_num_ref.part-by-name(ferc-part:Row)).length == 0 "" else ($row_num_ref.part-by-name(ferc-part:Row))[1].part-value; $abstractLabel = list($is-heading, $row_num, $abstractConcept.label($x[2].role.uri).text); $data = navigate parent-child children from $x[1] role "http://ferc.gov/form/2020-01-01/roles/Schedule/F2/ShipperSuppliedGasForTheCurrentQuarterM2" returns list (target, preferred-label, result-order); $dataRow2 = list(none, none, none, none, none, none, none, none, none, none, none, none ,none, none, none, none, none); $appliedRateMembers = list(ferc:WaivedRateMember, ferc:DiscountedRateMember, ferc:NegotiatedRateMember, ferc:RecourseRateMember); $debitCreditMembers = list(ferc:DebitedMember, ferc:CreditedMember); $colSet1 = list(for $y in $data if $y[3] == 1 $part1List = list(for $member in $appliedRateMembers if list([covered @concept = $y[1] @unit @ferc:AppliedRateTypeAxis = $member @period = $currentQM2]).length > 0 first(list([covered @concept = $y[1] @unit @ferc:AppliedRateTypeAxis = $member @period = $currentQM2])) else none ); $part1ListTotal = list( if list([covered @concept = $y[1] @unit @period = $currentQM2]).length > 0 first(list([covered @concept = $y[1] @unit @period = $currentQM2])) else none ); $part1List + $part1ListTotal else skip ); $colSet2 = list(for $y in $data if $y[3] == 2 $part2List = list(for $member in $appliedRateMembers if list([covered @concept = $y[1] @unit @ferc:AppliedRateTypeAxis = $member @period = $currentQM2]).length > 0 first(list([covered @concept = $y[1] @unit @ferc:AppliedRateTypeAxis = $member @period = $currentQM2])) else none ); $part2ListTotal = list( if list([covered @concept = $y[1] @unit @period = $currentQM2]).length > 0 first(list([covered @concept = $y[1] @unit @period = $currentQM2])) else none ); $part2List + $part2ListTotal else skip ); $colSet3 = list(for $y in $data if $y[3] == 3 $part3List = list(for $member in $appliedRateMembers if list([covered @concept = $y[1] @unit @ferc:AppliedRateTypeAxis = $member @period = $currentQM2]).length > 0 first(list([covered @concept = $y[1] @unit @ferc:AppliedRateTypeAxis = $member @period = $currentQM2])) else none ); $part3ListTotal = list( if list([covered @concept = $y[1] @unit @period = $currentQM2]).length > 0 first(list([covered @concept = $y[1] @unit @period = $currentQM2])) else none ); $part3List + $part3ListTotal else skip ); $colSet4 = list(for $y in $data if $y[3] == 4 $part4List = list(for $member in $debitCreditMembers if list([covered @concept = $y[1] @unit @ferc:AccountDebitedOrCreditedAxis = $member @period = $currentQM2]).length > 0 first(list([covered @concept = $y[1] @unit @ferc:AccountDebitedOrCreditedAxis = $member @period = $currentQM2])) else none ); $part4List else skip ); /** We have to do this because of inconsistensies in the form where some rows are shorter than others **/ $colSet4Flat = sum($colSet4); $colSet4Adj = list(for $i in range(2) if ($colSet4Flat.length + 1) > $i $colSet4Flat[$i] else none ); $breakdown1 = list( if $x[1] == ferc:DispositionOfExcessGasAbstract $data2 = list(for $i in range(8) list(false, "43" + "." + $i.string ,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none) ); $data = if count(list({covered @ferc:OtherDispositionOfExcessGasAxis=*})) > 0 list({covered @ferc:OtherDispositionOfExcessGasAxis=* {list(false, if list({@ferc:OrderNumber @unit=* @period=$currentDuration}).length > 0 first(list({@ferc:OrderNumber @unit=* @period=$currentDuration})) else 0, if exists({@ferc:DescriptionOfOtherDispositionOfExcessGas @unit @period = $currentQM2}) first(list({@ferc:DescriptionOfOtherDispositionOfExcessGas @unit @period=$currentQM2})) else none, none, if exists({@ferc:DispositionOfExcessGasOther @unit @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @period=$currentQM2}) first(list({@ferc:DispositionOfExcessGasOther @unit @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @period=$currentQM2})) else none, if exists({@ferc:DispositionOfExcessGasOther @unit @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @period=$currentQM2}) first(list({@ferc:DispositionOfExcessGasOther @unit @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @period=$currentQM2})) else none, if exists({@ferc:DispositionOfExcessGasOther @unit @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @period=$currentQM2}) first(list({@ferc:DispositionOfExcessGasOther @unit @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @period=$currentQM2})) else none, if exists([@ferc:DispositionOfExcessGasOther @ferc:OtherDispositionOfExcessGasAxis=* @unit @period=$currentQM2]) first(list([@ferc:DispositionOfExcessGasOther @ferc:OtherDispositionOfExcessGasAxis=* @unit @period=$currentQM2])) else none, none, if exists({@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM2}) first(list({@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM2})) else none, if exists({@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @unit @period=$currentQM2}) first(list({@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @unit @period=$currentQM2})) else none, if exists({@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @unit @period=$currentQM2}) first(list({@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @unit @period=$currentQM2})) else none, if exists([@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:OtherDispositionOfExcessGasAxis=* @unit @period=$currentQM2]) first(list([@ferc:AmountCollectedDispositionOfExcessGasOther @ferc:OtherDispositionOfExcessGasAxis=* @unit @period=$currentQM2])) else none, if exists({@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:WaivedRateMember @unit @period=$currentQM2}) first(list({@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:WaivedRateMember @unit @period=$currentQM2})) else none, if exists({@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM2}) first(list({@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM2})) else none, if exists({@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember@unit @period=$currentQM2}) first(list({@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @unit @period=$currentQM2})) else none, none, if exists([@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:OtherDispositionOfExcessGasAxis=* @unit @period=$currentQM2]) first(list([@ferc:VolumeNotCollectedDispositionOfExcessGasOther @ferc:OtherDispositionOfExcessGasAxis=* @unit @period=$currentQM2])) else none, if exists({@ferc:AccountsDebitedOrCreditedDispositionOfExcessGasOther @ferc:AccountDebitedOrCreditedAxis=ferc:DebitedMember @unit @period=$currentQM2}) first(list({@ferc:AccountsDebitedOrCreditedDispositionOfExcessGasOther @ferc:AccountDebitedOrCreditedAxis=ferc:DebitedMember @unit @period=$currentQM2})) else none, if exists({@ferc:AccountsDebitedOrCreditedDispositionOfExcessGasOther @ferc:AccountDebitedOrCreditedAxis=ferc:CreditedMember @unit @period=$currentQM2}) first(list({@ferc:AccountsDebitedOrCreditedDispositionOfExcessGasOther @ferc:AccountDebitedOrCreditedAxis=ferc:CreditedMember @unit @period=$currentQM2})) else none )}}) else $data2; $uniqueData = list(for $j in $data.sort if $j == list(false,$j[2],none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none) skip else $j ); $UpdatedNumber = list(for $i in range($uniqueData.length) list($uniqueData[$i][1], "43." + $i.string, $uniqueData[$i][3], $uniqueData[$i][4], $uniqueData[$i][5], $uniqueData[$i][6], $uniqueData[$i][7], $uniqueData[$i][8], $uniqueData[$i][9], $uniqueData[$i][10], $uniqueData[$i][11], $uniqueData[$i][12], $uniqueData[$i][13], $uniqueData[$i][14], $uniqueData[$i][15], $uniqueData[$i][16], $uniqueData[$i][17], $uniqueData[$i][18], $uniqueData[$i][19], $uniqueData[$i][20]) ) for $row in $UpdatedNumber $row else skip ); $breakdown2 = list( if $x[1] == ferc:GasAcquiredToMeetDeficiencyAbstract $data2 = list(for $i in range(10) list(false, "55" + "." + $i.string ,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none) ); $data = if count(list({covered @ferc:OtherGasAcquiredToMeetDeficiencyAxis=*})) > 0 list({covered @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* {list(false, if list({@ferc:OrderNumber @unit=* @period=$currentDuration}).length > 0 first(list({@ferc:OrderNumber @unit=* @period=$currentDuration})) else 0, if exists({@ferc:DescriptionOfOtherGasAcquiredToMeetDeficiency @unit @period = $currentQM2}) first(list({@ferc:DescriptionOfOtherGasAcquiredToMeetDeficiency @unit @period=$currentQM2})) else none, none, if exists({@ferc:GasAcquiredToMeetDeficiencyOther @unit @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @period=$currentQM2}) first(list({@ferc:GasAcquiredToMeetDeficiencyOther @unit @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @period=$currentQM2})) else none, if exists({@ferc:GasAcquiredToMeetDeficiencyOther @unit @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @period=$currentQM2}) first(list({@ferc:GasAcquiredToMeetDeficiencyOther @unit @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @period=$currentQM2})) else none, if exists({@ferc:GasAcquiredToMeetDeficiencyOther @unit @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @period=$currentQM2}) first(list({@ferc:GasAcquiredToMeetDeficiencyOther @unit @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @period=$currentQM2})) else none, if exists([@ferc:GasAcquiredToMeetDeficiencyOther @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* @unit @period=$currentQM2]) first(list([@ferc:GasAcquiredToMeetDeficiencyOther @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* @unit @period=$currentQM2])) else none, none, if exists({@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM2}) first(list({@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM2})) else none, if exists({@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @unit @period=$currentQM2}) first(list({@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @unit @period=$currentQM2})) else none, if exists({@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @unit @period=$currentQM2}) first(list({@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:RecourseRateMember @unit @period=$currentQM2})) else none, if exists([@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* @unit @period=$currentQM2]) first(list([@ferc:AmountCollectedGasAcquiredToMeetDeficiencyOther @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* @unit @period=$currentQM2])) else none, if exists({@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:WaivedRateMember @unit @period=$currentQM2}) first(list({@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:WaivedRateMember @unit @period=$currentQM2})) else none, if exists({@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM2}) first(list({@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:DiscountedRateMember @unit @period=$currentQM2})) else none, if exists({@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember@unit @period=$currentQM2}) first(list({@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:AppliedRateTypeAxis=ferc:NegotiatedRateMember @unit @period=$currentQM2})) else none, none, if exists([@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* @unit @period=$currentQM2]) first(list([@ferc:VolumeNotCollectedGasAcquiredToMeetDeficiencyOther @ferc:OtherGasAcquiredToMeetDeficiencyAxis=* @unit @period=$currentQM2])) else none, if exists({@ferc:AccountsDebitedOrCreditedGasAcquiredToMeetDeficiencyOther @ferc:AccountDebitedOrCreditedAxis=ferc:DebitedMember @unit @period=$currentQM2}) first(list({@ferc:AccountsDebitedOrCreditedGasAcquiredToMeetDeficiencyOther @ferc:AccountDebitedOrCreditedAxis=ferc:DebitedMember @unit @period=$currentQM2})) else none, if exists({@ferc:AccountsDebitedOrCreditedGasAcquiredToMeetDeficiencyOther @ferc:AccountDebitedOrCreditedAxis=ferc:CreditedMember @unit @period=$currentQM2}) first(list({@ferc:AccountsDebitedOrCreditedGasAcquiredToMeetDeficiencyOther @ferc:AccountDebitedOrCreditedAxis=ferc:CreditedMember @unit @period=$currentQM2})) else none )}}) else $data2; $uniqueData = list(for $j in $data.sort if $j == list(false,$j[2],none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none,none) skip else $j ); $UpdatedNumber = list(for $i in range($uniqueData.length) list($uniqueData[$i][1], "55." + $i.string, $uniqueData[$i][3], $uniqueData[$i][4], $uniqueData[$i][5], $uniqueData[$i][6], $uniqueData[$i][7], $uniqueData[$i][8], $uniqueData[$i][9], $uniqueData[$i][10], $uniqueData[$i][11], $uniqueData[$i][12], $uniqueData[$i][13], $uniqueData[$i][14], $uniqueData[$i][15], $uniqueData[$i][16], $uniqueData[$i][17], $uniqueData[$i][18], $uniqueData[$i][19], $uniqueData[$i][20]) ) for $row in $UpdatedNumber $row else skip ); if $is-heading $breakdown1 + $breakdown2 + list($abstractLabel + $dataRow2) else $breakdown1 + $breakdown2 + list($abstractLabel + sum($colSet1) + sum($colSet2) + sum($colSet3) + $colSet4Adj) ); for $rows in $rollforwardSection for $rowl in $rows
taxonomy().concept(ferc:ScheduleShipperSuppliedGasForTheCurrentQuarterAbstract).label("http://ferc.gov/form/2020-01-01/roles/label/F2ScheduleTitle").text Shipper Supplied Gas for the Current Quarter
taxonomy().concept(ferc:ScheduleShipperSuppliedGasForTheCurrentQuarterAbstract).label("http://ferc.gov/form/2020-01-01/roles/label/F2Instructions").text
  1. Report monthly (1) shipper supplied gas for the current quarter and gas consumed in pipeline operations, (2) the disposition of any excess, the accounting recognition given to such disposition and the specific account(s) charged or credited, and (3) the source of gas used to meet any deficiency, the accounting recognition given to the gas used to meet the deficiency, including the accounting basis of the gas and the specific account(s) charged or credited.
  2. On lines 7, 14, 22 and 30 report only the dekatherms of gas provided by shippers under tariff terms and conditions for gathering , production/ extraction/processing, transmission, distribution and storage service and the use of that gas for compressor fuel, other operational purposes and lost and unaccounted for. The dekatherms must be broken out by functional categories on Lines 2-6, 9-13, 16-21 and 24-29. The dekatherms must be reported in column (d) unless the company has discounted or negotiated rates which should be reported in columns (b) and (c).
  3. On lines 7, 14, 22 and 30 report only the dollar amounts of gas provided by shippers under tariff terms and conditions for gathering, production/ extraction/processing, transmission, distribution and storage service and the use of that gas for compressor fuel, other operational purposes and lost and unaccounted for. The dollar amounts must be broken out by functional categories on Lines 2-6, 9-13, 16-21 and 23-29. The dollar amounts must be reported in column (h) unless the company has discounted or negotiated rates which should be reported in columns (f) and (g). The accounting should disclose the account(s) debited and credited in columns (m) and (n).
  4. Indicate in a footnote the basis for valuing the gas reported in Columns (f), (g) and (h).
  5. Report in columns (j), (k) and (l) the amount of fuel waived, discounted or reduced as part of a negotiated rate agreement.
  6. On lines 32-37 report the dekatherms and dollar value of the excess or deficiency in shipper supplied gas broken out by functional category and whether recourse rate, discounted or negotiated rate.
  7. On lines 39 through 51 report the dekatherms, the dollar amount and the account(s) credited in Column (o) for the dispositions of gas listed in column (a).
  8. On lines 53 through 65 report the dekatherms, the dollar amount and the account(s) debited in Column (n) for the sources of gas reported in column (a).
  9. On lines 66 and 67, report forwardhaul and backhaul volume in Dths of throughput.
  10. Where appropriate, provide a full explanation of the allocation process used in reported numbers in a footnote.
Month 2
Amount Collected (Dollars) Volume (in Dth) Not Collected
Line No. $headings = filter (taxonomy().concept(ferc:ScheduleShipperSuppliedGasForTheCurrentQuarterAbstract).references("http://ferc.gov/form/2020-01-01/roles/reference/columnDetails")) where ($item.part-by-name(ferc-part:Schedule).part-value == "521M1 - Schedule - Shipper Supplied Gas for the Current Quarter") $heading = list(for $ref in $headings list($ref.part-by-name(ferc-part:Column).part-value, $ref.part-by-name(ferc-part:ColumnName).part-value, $ref.part-by-name(ferc-part:ElementName).part-value)) $heading_dict = dict(for $row in $heading list("("+$row[1]+")",list($row[2],if $row[3] == none "" else taxonomy().concept(to-qname($row[3])))) ); for $row in $heading_dict.keys.sort
if $heading_dict[$row][2] != "" $heading_dict[$row][2].name.local-name else ""
$heading_dict[$row][1] Item
$row (a)
$rowl[2] $rowl[3] if $rowl[3].is-fact "true" else "false" $rowl[5] if $rowl[1] "gray-out" else "" $rowl[6] if $rowl[1] "gray-out" else "" $rowl[7] if $rowl[1] "gray-out" else "" $rowl[8] if $rowl[1] "gray-out" else "" $rowl[10] if $rowl[1] "gray-out" else "" $rowl[11] if $rowl[1] "gray-out" else "" $rowl[12] if $rowl[1] "gray-out" else "" $rowl[13] if $rowl[1] "gray-out" else "" $rowl[14] if $rowl[1] "gray-out" else "" $rowl[15] if $rowl[1] "gray-out" else "" $rowl[16] if $rowl[1] "gray-out" else "" $rowl[18] if $rowl[1] "gray-out" else ""