このクラスには、pdg.WorkItemインスタンスのリストをアトリビュート値に基づいて分割するための便利メソッドが備わっています。
メソッド ¶
静的メソッド ¶
batchByFrame(work_items)
→ tuple
入力リスト内のワークアイテムを、増分するフレーム範囲で構成されたバッチに分割します。 各バッチ内のワークアイテムのリスト、フレームが割り当てられていないワークアイテムのリストに分けたリストを返します。
例えば、フレーム値が[1, 1, 1, 2, 2, 2, 3, 3, 4]
の入力ワークアイテムを与えると、以下の出力が生成されます:
`
[
]
`
splitByAttribute(work_items, attrib_names, partial_matches=False)
→ tuple
入力リスト内のワークアイテムを、指定したアトリビュート名(s)で分割します。 アトリビュート値を、その値を持つワークアイテムのリスト、そのアトリビュートが見つからないワークアイテムのリスト、固有の値のリストに分けたマップを返します。
ワークアイテム上のattrib_name
の値は、すべて同じタイプである必要はありません。
すべてのアトリビュート値は文字列に変換されます。
複数のアトリビュート名は、スペース区切りの文字列で渡すことができます。
複数のアトリビュート名をこの関数に渡した場合、それらのアトリビュート値は、単一値ではなくタプルとして扱われます。
複数のアトリビュート名を指定する時、このpartial_matches
フラグでは、一部のアトリビュートしかないワークアイテムも部分的にマッチしたマップエントリーに追加するかどうかを指定します。
例:
attribute = "wedgeindex" (value_map, missing, unique) = pdg.AttributePattern.splitByAttribute(node.work_items, attribute) print("Attribute {} has {} unique values".format(attribute, len(unique))) for work_item in missing: print("Work Item {} is missing attrib {}".format(attribute)) for entry in value_map: print("{} work items have value {}".format(len(value_map[entry]), entry))
splitByFloat(work_items, attrib_name)
→ tuple
入力のワークアイテムを、指定した浮動小数点アトリビュート名で分割します。
この関数はsplitByAttribute
と同じですが、アトリビュート値を文字列に変換しません。
指定した名前であるもののタイプが異なるアトリビュートを持っているワークアイテムは、見つからないアトリビュートとして扱われます。
splitByInt(work_items, attrib_name)
→ tuple
入力ワークアイテムを、指定した整数アトリビュート名で分割します。
この関数はsplitByAttribute
と同じですが、アトリビュート値を文字列に変換しません。
指定した名前であるもののタイプが異なるアトリビュートを持っているワークアイテムは、見つからないアトリビュートとして扱われます。
splitByString(work_items, attrib_name)
→ tuple
入力ワークアイテムを、指定した文字列アトリビュート名で分割します。
この関数はsplitByAttribute
と同じですが、アトリビュート値を文字列に変換しません。
指定した名前であるもののタイプが異なるアトリビュートを持っているワークアイテムは、見つからないアトリビュートとして扱われます。