簡體   English   中英

相對日期過濾問題 Pentaho Workspace(Mondrian) AnalyzerDateFormat 周重疊兩個月僅顯示一周的開始日期

[英]Issue with relative date filtering Pentaho Workspace(Mondrian) AnalyzerDateFormat Week overlaps two Months only showing beginning days of the week

我有一個正確構建的表 dimDate 。 我在事實表中使用代理鍵 DC_tk('20211202') 到 map 到 dimDate CCYYMMDD('20211202') 中的主鍵,它與 dimDate 中的 date_tk 相關。 問題是當在分析器過濾器中選擇前一周時,Pentaho 分析器中顯示的月份是 11 月而不是 12 月,換句話說,只有一周的開始日期。 我懷疑這是因為第 49 周與 11 月和 12 月重疊。如果列表過濾器值中的 Select 設置為第 49 周,則可以過濾兩行 49。 代碼如下:

<Dimension type="TimeDimension" visible="true" highCardinality="false" name="EXCREATEDDATE">
<Hierarchy name="Created Date" visible="true" hasAll="true" primaryKey="date_tk">
  <Table name="DimDate" schema="dbo">
  </Table>
  <Level name="Created Year" visible="true" column="YEAR" type="String" uniqueMembers="true" levelType="TimeYears" hideMemberIf="Never">
    <Annotations>
      <Annotation name="AnalyzerDateFormat">
        <![CDATA[[yyyy]]]>
      </Annotation>
    </Annotations>
  </Level>
  <Level name="Created Month" visible="true" column="MONTH" type="String" uniqueMembers="false" levelType="TimeMonths" hideMemberIf="Never" captionColumn="month_short_desc">
    <Annotations>
      <Annotation name="AnalyzerDateFormat">
        <![CDATA[[yyyy].[M]]]>
      </Annotation>
    </Annotations>
  </Level>
  <Level name="Created Week" visible="true" column="week_of_year" type="String" uniqueMembers="false" levelType="TimeWeeks" hideMemberIf="Never">
    <Annotations>
      <Annotation name="AnalyzerDateFormat">
        <![CDATA[[yyyy].[M].[w]]]>
      </Annotation>
    </Annotations>
  </Level>
  <Level name="Created Day" visible="true" column="day_of_month" type="String" uniqueMembers="false" levelType="TimeDays" hideMemberIf="Never">
    <Annotations>
      <Annotation name="AnalyzerDateFormat">
        <![CDATA[[yyyy].[M].[w].[d]]]>
      </Annotation>
    </Annotations>
  </Level>
  <Level name="Created Date" visible="true" column="DateCCYYMMDD" type="String" uniqueMembers="false" levelType="TimeDays" hideMemberIf="Never">
    <Annotations>
      <Annotation name="AnalyzerDateFormat">
        <![CDATA[[yyyy].[M].[w].[d].[yyyyMMdd]]]>
        </Annotation>
        </Annotations>
  </Level>
</Hierarchy>
<DimensionUsage source="EXCREATEDDATE" name="EXCREATEDDATE" visible="true" foreignKey="DC_tk" highCardinality="false"></DimensionUsage>

在使用 Pentaho 內置的相對日期過濾時如何防止這種情況發生? 對此問題的任何幫助表示贊賞。

我意識到,因為月份有兩個值,這會扭曲層次結構。 公認的層次結構是:

  • [yyyy](年)
  • [yyyy].[q](季度)
  • [yyyy].[q].[M](月)
  • [yyyy].[q].[M].[w](周)
  • [yyyy].[q].[M].[w].[yyyy-MM-dd](日)

但是,如果將一周延長兩個月以上,這將失敗。

通過將月和周的順序切換為如下所示來修改層次結構將起作用:

  • [yyyy](年)
  • [yyyy].[q](季度)
  • [yyyy].[q].[w](周)
  • [yyyy].[q].[w].[M](月)
  • [yyyy].[q].[w].[M].[yyyy-MM-dd](日)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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