【问题标题】:Multiple fields in fact table referring to one dimension Qlikview事实表中的多个字段引用一维 Qlikview
【发布时间】:2017-10-11 21:35:38
【问题描述】:

我是 Qlikview 的新手。 我有一个包含 CheckinDate 和 CheckoutDate 字段的事实表 Fact_Transaction。我有一个维度表 Dim_Time,Date_ID 为 PK。

//-------- Start Multiple Select Statements ------
LOAD "Property_SK",
    TotalNoOfDays,
    PerDayCost,
    TotalCost,
    "Guest_FName",
    "Guest_LName",
    "Host_FName",
    "Host_LName",
    CurrRecInd,
    "User_SK_Guest",
    "User_SK_Host",
    "CheckInDate_SK",
    "CheckOutDate_SK";
SQL SELECT *
FROM "Airbnb database".dbo."Fact_Transaction";

LOAD "Date_ID",
    "Calender_Date",
    "Day_of_Week",
    WeekoftheYear,
    WeekoftheMonth,
    DayoftheMonth,
    CalenderYear,
    CalenderMonth,
    CalenderQuarter,
    FiscalYear,
    FiscalQuarter,
    FiscalMonth;
SQL SELECT *
FROM "Airbnb database".dbo."Dim_Time";


//-------- End Multiple Select Statements ------

现在我想将字段 CheckinDate 和 CheckoutDate 与 Date_ID 上的 Dim_Time 链接起来。 我如何在 Qlikview 中实现相同的功能?有什么想法吗?

【问题讨论】:

    标签: qlikview dimensional-modeling


    【解决方案1】:

    作为两个不同的维度(因此是两个不同的概念),我建议创建两个单独的维度表。像这样:

    • 照常加载 Fact 表
    • 为 CheckIn 维度加载 Dim_Time 表,将 Date_ID 列重命名为 CheckInDate_SK 作为其他列,从 WeekoftheMonth 到 CheckInDate_WeekoftheMonth。
    • (再次)加载 CheckOut 维度的 Dim_Time 表,将 Date_ID 列重命名为 CheckOutDate_SK 作为其他列,从 WeekoftheMonth 到 CheckOutDate_WeekoftheMonth。

    您可以通过添加“as”关键字来重命名列,例如:

    • Date_ID 为 CheckInDate_SK

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      我建议使用 IntervalMatch 函数:见here 这是一个非常强大的功能。

      只需按照帮助中的示例案例 - 它应该与您的案例非常相似。

      【讨论】:

        猜你喜欢
        • 2017-02-22
        • 1970-01-01
        • 1970-01-01
        • 2014-08-30
        • 1970-01-01
        • 2018-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多