taxonomy().concept(ferc:ScheduleDistributionOfSalariesAndWagesAbstract).label("http://ferc.gov/form/2020-01-01/roles/label/F1ScheduleTitle").text
DISTRIBUTION OF SALARIES AND WAGES
|
taxonomy().concept(ferc:ScheduleDistributionOfSalariesAndWagesAbstract).label("http://ferc.gov/form/2020-01-01/roles/label/F1Instructions").text
- Report below the distribution of total salaries and wages for the year. Segregate amounts originally charged to clearing accounts to
Utility Departments, Construction, Plant Removals, and Other Accounts, and enter such amounts in the appropriate lines and columns
provided. In determining this segregation of salaries and wages originally charged to clearing accounts, a method of approximation
giving substantially correct results may be used.
|
Line No. |
$headings = filter (taxonomy().concept(ferc:ScheduleDistributionOfSalariesAndWagesAbstract).references("http://ferc.gov/form/2020-01-01/roles/reference/columnDetails")) where ($item.part-by-name(ferc-part:Schedule).part-value == "354 - Schedule - Distribution of Salaries and Wages")
$headings = list(for $ref in $headings
list($ref.part-by-name(ferc-part:Column).part-value, $ref.part-by-name(ferc-part:ColumnName).part-value))
$heading_dict = dict(for $row in $headings
list("("+$row[1]+")",$row[2])
);
for $row in $heading_dict.keys.sort
$heading_dict[$row]
Classification
$row
(a)
|
$data = navigate parent-child descendants from ferc:DistributionOfSalariesAndWagesLineItems role "http://ferc.gov/form/2020-01-01/roles/Schedule/F1/DistributionOfSalariesAndWages" returns list (target-name, preferred-label);
$data-labels = list(for $row in $data
$concept = taxonomy().concept($row[1]);
$row_num = (filter $concept.references("http://ferc.gov/form/2020-01-01/roles/reference/formLocation") where ($item.part-by-name(ferc-part:Schedule).part-value == "354 - Schedule - Distribution of Salaries and Wages" and $item.part-by-name(ferc-part:ValueType).part-value.string == "Label")).to-list;
$DirectPayrollDistribution = if list([covered @concept = $row[1] @ferc:TypeOfDistributionAxis=ferc:DirectPayrollDistributionMember @period = $currentDuration]).length > 0
first(list([covered @concept = $row[1] @ferc:TypeOfDistributionAxis=ferc:DirectPayrollDistributionMember @period = $currentDuration]))
else
none
$AllocationOfPayrollChargedForClearingAccounts = if list([covered @concept = $row[1] @ferc:TypeOfDistributionAxis=ferc:AllocationOfPayrollChargedForClearingAccountsMember @period = $currentDuration]).length > 0
first(list([covered @concept = $row[1] @ferc:TypeOfDistributionAxis=ferc:AllocationOfPayrollChargedForClearingAccountsMember @period = $currentDuration]))
else
none
$current = if list([covered @concept = $row[1] @period = $currentDuration]).length > 0
first(list([covered @concept = $row[1] @period = $currentDuration]))
else
none
$sequenceReferences = (filter $concept.references("http://ferc.gov/form/2020-01-01/roles/reference/elementSequence") where ($item.part-by-name(ferc-part:ScheduleRole).part-value == "http://ferc.gov/form/2020-01-01/roles/Schedule/F1/DistributionOfSalariesAndWages") returns $item.part-by-name(ferc-part:SequenceRole).part-value).to-list;
$sequenceDimension = (filter $concept.references("http://ferc.gov/form/2020-01-01/roles/reference/elementSequence") where ($item.part-by-name(ferc-part:ScheduleRole).part-value == "http://ferc.gov/form/2020-01-01/roles/Schedule/F1/DistributionOfSalariesAndWages") returns $item.part-by-name(ferc-part:SequenceDimension).part-value).to-list;
$breakdown = list(
if $sequenceReferences.to-list.length > 0
$sequenceRole = $sequenceReferences[1];
$sequenceElements = navigate parent-child descendants role $sequenceRole returns list(target, preferred-label, result-order);
$axis = $sequenceDimension[1].to-qname;
$lineItemsList = list(for $l in $sequenceElements
if $l.length > 0
$conceptRoll = $l[1];
if $conceptRoll.is-abstract
skip
else
$l
else
skip
);
$row_number = if ($row_num.part-by-name(ferc-part:Row)).length > 0
($row_num.part-by-name(ferc-part:Row))[1].part-value
else
"";
$number_of_Rows = count(set({covered where $fact.dimension($axis) != none}.dimension($axis)));
$NoData = list(for $i in range(78,94-$number_of_Rows)
list($i, $row_number, none, none, none, none)
);
$data1 = if count(list({covered where $fact.dimension($axis) != none})) > 0
list({covered {list(
if exists({ @ferc:OrderNumber @unit=* @period = $currentDuration @ferc:TypeOfDistributionAxis=none where $fact.dimension($axis) != none})
first(list({ @ferc:OrderNumber @unit=* @period = $currentDuration @ferc:TypeOfDistributionAxis=none where $fact.dimension($axis) != none}))
else
0,
$row_number,
/** Description **/
if exists({ @concept = $lineItemsList[2][1] @unit @period = $currentDuration @ferc:TypeOfDistributionAxis=none where $fact.dimension($axis) != none})
first(list({ @concept = $lineItemsList[2][1] @unit @period = $currentDuration @ferc:TypeOfDistributionAxis=none where $fact.dimension($axis) != none}))
else
none,
/** DirectPayrollDistributionMember **/
if exists({@concept = $lineItemsList[3][1] @unit=* @ferc:TypeOfDistributionAxis=ferc:DirectPayrollDistributionMember @period = $currentDuration where $fact.dimension($axis) != none} )
first(list({@concept = $lineItemsList[3][1] @unit=* @ferc:TypeOfDistributionAxis=ferc:DirectPayrollDistributionMember @period = $currentDuration where $fact.dimension($axis) != none}))
else
none,
/** AllocationOfPayrollChargedForClearingAccountsMember **/
if exists({@concept = $lineItemsList[3][1] @unit=* @ferc:TypeOfDistributionAxis=ferc:AllocationOfPayrollChargedForClearingAccountsMember @period = $currentDuration where $fact.dimension($axis) != none})
first(list({@concept = $lineItemsList[3][1] @unit=* @ferc:TypeOfDistributionAxis=ferc:AllocationOfPayrollChargedForClearingAccountsMember @period = $currentDuration where $fact.dimension($axis) != none}))
else
none,
/** Default **/
if exists({@concept = $lineItemsList[3][1] @unit=* @period = $currentDuration @ferc:TypeOfDistributionAxis=none where $fact.dimension($axis) != none})
first(list({@concept = $lineItemsList[3][1] @unit=* @period = $currentDuration @ferc:TypeOfDistributionAxis=none where $fact.dimension($axis) != none}))
else
none
)}}) + $NoData
else
$NoData;
$data2 = list(for $x in $data1
if $x == list(0,$x[2],none,none,none,none)
skip
else
$x);
$orderedData = $data2.sort;
$data = list(for $z in range($orderedData.length)
$updatedNumber = $orderedData[$z][2].number + $z
list(
$lineItemsList[2][1],
$orderedData[$z][3],
$updatedNumber.number,
$orderedData[$z][4],
$orderedData[$z][5],
$orderedData[$z][6],
)
);
for $row in $data
$row
else
skip
);
list(list($concept,
$concept.label($row[2].role.uri).text,
if ($row_num.part-by-name(ferc-part:Row)).length > 0
($row_num.part-by-name(ferc-part:Row))[1].part-value
else
"",
$DirectPayrollDistribution,
$AllocationOfPayrollChargedForClearingAccounts,
$current
)) + $breakdown);
for $rows in $data-labels
for $rowl in $rows
$rowl[3]
1
|
|
$rowl[4]
if $rowl[1].is-abstract "gray-out" else ""
|
$rowl[5]
if $rowl[1].is-abstract "gray-out" else ""
|
$rowl[6]
if $rowl[1].is-abstract "gray-out" else ""
|