[英]SAP Webi - Evaluate record for multiple conditions
使用網絡 4.2:
每條記錄包含
我使用 if 條件創建了一個變量 Category,但它只對記錄求值一次。 例如,當 ID 24 應該被標識為 New 和 Termed 時,它只被標識為 New。
我需要確定每個 ID,以了解 state 是否是 2022 年新添加的以及 state 是否是 2022 年(類別)。 結果表如下所示:
然后對於每個state,我需要統計類別和格式的數量如下:
我使用 if 條件創建了一個變量 Category,但它只對記錄求值一次。 例如,當 ID 24 應該被標識為 New 和 Termed 時,它只被標識為 New。
=If [EffDate] >='1/1/2022' And [EffDate]<='12/31/2022' Then "New" ElseIf [ExpDte] >='1/1/2022' And [ExpDte]<='12/31/2022' Then "Termed" Else "NA"
任何幫助解決這個問題的幫助將不勝感激。
一個 ID 不可能是兩個東西,所以我將采取一些不同的方法。 我將只用兩個標志變量(0 或 1); 一個如果 ID 是“New”,另一個是“Termed”。
為了獲得我可以使用的數據集,我做了以下......
這是帶有SQL語句的 dbfiddle。 我必須明確地將EffDte和ExpDte轉換為日期,這樣我才能真正與它們進行日期比較。 如果您可以在 dbfiddle 中提供 SQL(如果它不是太長,甚至可以將其發布在您的問題中),那么可以將其放入徒手 SQL 查詢中,這對那些可能回答的人非常有幫助。
不管怎樣,這是我的表格,里面有你的數據。
我根據您的數據范圍創建了兩個變量,其中“1”為真,“0”為假。
Var Is New=Sum(If( [EffDte] >='1/1/2022' And [EffDte]<='12/31/2022'; 1; 0))
Var Is Termed=Sum(If([ExpDte] >='1/1/2022' And [ExpDte]<='12/31/2022'; 1; 0))
我不需要在這個階段對它們求和,但我會在下一個階段進行,這不會對我造成傷害,所以我在這個階段這樣做。
現在我需要一個交叉表來開始將它們放在一起。 我將State作為列 header。我必須在交叉表的最后一行下方添加一個額外的行,以便我們有兩行,因為我們沒有實際的類別變量。 它應該看起來像這樣......
接下來添加一個“Category”列 header 和“New”和“Termed”行標題,這樣你的表看起來像這樣......
最后,您只是將 Var Is New 和 Var Is Termed 放在適當的行中,WebI 執行 rest。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.