簡體   English   中英

SAP Webi - 評估多個條件的記錄

[英]SAP Webi - Evaluate record for multiple conditions

使用網絡 4.2:

每條記錄包含

網絡1

我使用 if 條件創建了一個變量 Category,但它只對記錄求值一次。 例如,當 ID 24 應該被標識為 New 和 Termed 時,它只被標識為 New。

我需要確定每個 ID,以了解 state 是否是 2022 年新添加的以及 state 是否是 2022 年(類別)。 結果表如下所示:

網絡2

然后對於每個state,我需要統計類別和格式的數量如下:

網絡3

我使用 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”。

為了獲得我可以使用的數據集,我做了以下......

  1. 將樣本數據輸入 Excel
  2. 將其復制並粘貼到https://www.convertcsv.com/csv-to-sql.htm
  3. 將這些結果復制並粘貼到徒手查詢中 SQL

這是帶有SQL語句的 dbfiddle。 我必須明確地將EffDteExpDte轉換為日期,這樣我才能真正與它們進行日期比較。 如果您可以在 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM