Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
シート上で製造データのテーブルを表示しています。
テーブルのメジャーの中で超過率(実績/標準時間)があるのですがこちらの超過率が一定の値をこえたものだけをテーブルとして出したいときはどのようにすればいいでしょうか?テーブル上での使用なのでロードスクリプトはあまり編集したくないです。
フィルタパネルをつかってデフォルト設定するしかないのでしょうか?
軸が3つならaggrの部分では3項目を記述する必要があります。
aggr関数の使い方を確認してみてください。
https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/aggr.htm
その行ということであれば、if文かSET分析で出せます。
一番手っ取り早いのは、以下です。
sum(if(実績/標準時間 > 0.8,実績/標準時間))
あとは拡張機能のデータの処理で0を含めるのチェックを外せばいけるはずです。
Hka様
教えていただきありがとうございます。
>あとは拡張機能のデータの処理で0を含めるのチェックを外せばいけるはずです。
こちらについてテーブル内で他の列で0を含む値があるのですが、特定の列で0になったものだけ除外する方法はございますでしょうか?
例の数式は条件に合わないものはnullなので、チェック入れた状態で上手く表示されないでしょうか。
すみません、この式sum(if(実績/標準時間 > 0.8,実績/標準時間))というのはテーブルのメジャーに含めるものですか?それとも拡張機能の演算実行条件に含めるものでしょうか?
メジャーに数式を入れた場合sumをいれると0が出てきてしまうのでsumを抜きましたが、メジャーに入れても演算実行条件に入れても非表示になりません。
sumをいれても同様に非表示になりません。
そうなると軸を計算軸で使用する方法になります。
軸に以下のような数式を記入して、メジャーの方はsum(実績/標準時間)のみにします。
if(aggr(sum(実績/標準時間),軸)>0.8,軸)
軸が2つ以上の場合は
軸1は項目名そのまま
軸2は以下の数式を記載します。
if(aggr(sum(実績/標準時間),軸1,軸2)>0.8,軸2)
メジャーは1軸の場合と同様です。
言っている意味を理解できずに申し訳ありません。もう少し詳細を話しますと、変数のexceedを使い、([1台当たりの実績(分)]/[標準時間])-1)*100が変数exceedを超えたものだけをテーブルで表示したいです。
超過率目標で入力した値がexceedという変数に入ります。
ためしにメジャーでtest欄をつくって=IF(((([1台当たりの実績(分)]/[標準時間])-1)*100)>exceed,(([1台当たりの実績(分)]/[標準時間])-1)*100)として入れました。exceedを超えたものはnullになっています。
しかしながら拡張機能のデータの処理でゼロ値を含めるにチェックを外しても何も変わりません。
演算実行条件はコメントアウトして何も入れていません。
どうすればいいでしょうか。
サンプルアプリを参照下さい。
左のテーブルの軸の営業所名の中に数式が入っています。
右のテーブルには軸に数式が入っていません。
左は営業所名の中の数式でsum(販売価格)が100,000,000以上のものを表示するようにしています。
拡張機能は使っていません。
ありがとうございます。一番細かい単位でやってみましたが、その列が-になっただけでした。
全部の列にIF文を入れないといけないということでしょうか?
軸が3つならaggrの部分では3項目を記述する必要があります。
aggr関数の使い方を確認してみてください。
https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/aggr.htm