悲しいことに、私はアイデアがありません。私は現在、COGNOS 分析について学んでおり、あなたの助けが必要です。このようなクロステーブルがあり、同じソース構造を使用する別のシステムから来ています。私は会社のアカウントを使用しており、ユーザーなので、悲しいことに SQL やスクリプトを書くことができません!
MIS0 MIS1 MIS3 MIS6
2016 0,0 0,1 0,3 0,6
2017 0,0 0,1 0,4 0,7
2018 0,0 0,2 0,4 0,7
これを COGNOS で複製しましたが、1 つのことを正しく行うことができません (よりもはるかに難しいですが、これがコアだと思います)。
説明:
- MIS = 勤続月数
- years = 製品の製造年
- 値 = (障害 / 製造 (その年) および販売された製品) * 1000
Fault にはプロパティ MIS = 発生した MIS があり、製品には dateOfManufacture のようなプロパティがあります
わかりましたので問題... たとえば MIS6 を持っているということは、購入から 6 か月以内に発生した障害です。MIS3 障害が論理的に MIS6 障害にも属していることから複雑さが始まります。
したがって、データ要素またはフィルター、またはその他のトリックを作成して、次のことができるようにする必要があります。MIS に関連する障害を 0 から X まで選択します。ここで、X は列のヘッダーの数字 (0,1,3,6.. .) もちろん製造年に基づいています.. 私は自分のユーザー権利によって制限されているので、スクリプトの作成を含む提案があれば、よろしくお願いします! :)しかし、スクリプトを介してそれを行うことはできません。詳細が不足していることをお詫びしますが、名前付き変数または任意のコードは、私が拘束されている機密性の一部です。:(
楽しい週末をありがとう!
Fault
MIS: 2
ProductID: <121212>
Product
ProductID: <121212>
Date of assembly: 25.02.2020
(MIS: gets copied to product fault when fault occours)
テーブルは、サービスの特定の月に発生した障害を表示することになっています。つまり、障害が上記の例のようにサービスの 2 か月で発生した場合、列 MIS3 および MIS6 に計算され、MIS1 および MIS0 統計には計算されないことを意味します。 1ヶ月ではなく2ヶ月で故障。
基本的に、たとえば、最初の行の 2 番目の列には、「2016 年に製造された製品を見つけてください」と書かれています。この数を見つけた製品の数で割り (最初の文)、これをすべて 1000 で乗算します (フォルト/1000) 。おそらく、同じ行の次の列に移動すると問題が発生することがわかります。-> 2016 年に製造された製品を見つけてください。3 か月のサービスで発生した障害の数 (= 1、2、3 を含む) を数え、製造された製品の数で割り、1000 を掛けます。
クロス集計を設定するとき、間隔 (MIS0 - MIS1,3,6) を浮動最大値で使用する必要がありますが、それを作成する頭脳がありません..